Deutsch   English   Français   Italiano  
<t5tnr8$rls$1@shakotay.alphanet.ch>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!aioe.org!news.alphanet.ch!alphanet.ch!.POSTED.catalyst.alphanet.ch!not-for-mail
From: Marc SCHAEFER <schaefer@alphanet.ch>
Newsgroups: fr.usenet.abus.d
Subject: Re: =?ISO-8859-1?Q?vir=E9?= de eternal-september.org ?
Date: Mon, 16 May 2022 14:41:44 -0000 (UTC)
Organization: Posted through ALPHANET
Message-ID: <t5tnr8$rls$1@shakotay.alphanet.ch>
References: <t5orgk$oqk$1@dont-email.me> <t5p0ep$pl9$1@dont-email.me> <6hs28htd6fvp9jfhanogilavghc0q805a1@consensus-omnium> <t5soe0$j6g$1@shakotay.alphanet.ch> <9cs38h9g7vo0j8df60k05pvpv9se7en6tl@consensus-omnium> <t5svmg$4oh$1@rasp.pasdenom.info> <t5t56p$9h9$1@shakotay.alphanet.ch> <t5t6kd$fkt$2@shakotay.alphanet.ch> <t5t780$j1k$1@shakotay.alphanet.ch> <t5tbfj$8rh$1@shakotay.alphanet.ch> <t5tc6c$ban$1@shakotay.alphanet.ch>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 16 May 2022 14:41:44 -0000 (UTC)
Injection-Info: shakotay.alphanet.ch; posting-account="schaefer"; posting-host="catalyst.alphanet.ch:192.168.99.121";
	logging-data="28348"; mail-complaints-to="usenet@alphanet.ch"
User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-20-amd64 (x86_64))
Cancel-Lock: sha256:9d1N93II+ybY6ypb6w1699CclrFaQwXH7dGhdt0sTH0=
Bytes: 2450
Lines: 37

Marc SCHAEFER <schaefer@alphanet.ch> wrote:
> Donc, quand un Cancel-Lock est placé en entête de continuation, il ne
> peut être annulé par un Cancel-Key correct. Et ce sont bien des espaces
> 0x20.

Le bug est dans cleanfeed.local, fonction verify_cancel():

   my $headers = INN::head($target) || return "$descr of non-existing ID $target";

   my %headers;
   for my $line(split(/\s*\n/, $headers))    {
      if ($line =~ m/^([[:alnum:]-]+):\s+(.*)/) {
         # assuming low/upcase normalisation by INN
         $headers{$1} = $2;
      }
   }

Ceci ne traite pas les lignes de continuation.

Ce code si:

my %headers;
my $previous;
for my $line(split(/\s*\n/, $art)) {
   if ($line =~ m/^([[:alnum:]-]+):\s+(.*)/) {
      # assuming low/upcase normalisation by INN
      $headers{$1} = $2;
      $previous = $1;
   }
   elsif ($line =~ m/^\s+(.*)/) {
      if (defined($previous)) {
         $headers{$previous} .= " " . $1;
      }
      else {
         INN::syslog('notice', 'garbled line: ' . $line);
      }
   }
}