diff --git a/ChangeLog b/ChangeLog index d9131ec..38d3b9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,7 +5,6 @@ huhu 0.11.0 (unreleased) * Add wrapper script for read-mail.pl * Drop more headers. * Only connect to newsserver if there are approved posts. - * Fix headers with continuation immediately at start. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/MOD/DBIUtils.pm b/MOD/DBIUtils.pm index c7b1bec..fcdb029 100644 --- a/MOD/DBIUtils.pm +++ b/MOD/DBIUtils.pm @@ -101,7 +101,7 @@ sub enter_table($$$$) { if ($values[$i]) { - $msg .= "\n*** " . $columns[$i] . "***\n" . $values[$i]; + $msg .= "\n*** " . $columns[$i] . "***\n" . $values[$i]; } } $self->increase_errorlevel($article_id, $msg); diff --git a/bin/poster.pl b/bin/poster.pl index 682e35f..bc03158 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -129,7 +129,7 @@ while (my $ref = $dataref->fetchrow_arrayref) my ($id,$posting) = @{$ref}; next unless($dbi->set_status($id, 'sending', [ 'moderated' ])); - # Posting einlesen. +# Posting einlesen. my $article = News::Article->new(\$posting); next if (!defined($article->header('Newsgroups'))); @@ -189,36 +189,23 @@ while (my $ref = $dataref->fetchrow_arrayref) 'X-Zedat-Hint', # FU Berlin (moderators.dana.de) ); - # albasani-workaround fuer @invalid +#albasani-workaround fuer @invalid if ($article->header('From') =~ /\@invalid[> ]/i) { my $newfrom = $article->header('From'); $newfrom =~ s/\@invalid/\@invalid.invalid/i; $article->set_headers('From',$newfrom); } - # albasani-workaround fuer leere User-Agent headerzeilen +# albasani-workaround fuer leere User-Agent headerzeilen if (defined $article->header('User-Agent') and $article->header('User-Agent') !~ /\w/) { $article->drop_headers(('User-Agent')); } - # Fix headers with continuation immediately at start, i.e. - # X-MyHeader: - # Thisisaveryveryveryveryveryveryveryveryverylongheadervalue. - # will become - # X-MyHeader: Thisisaveryveryveryveryveryveryveryveryverylongheadervalue. - foreach my $header ( $article->header_names() ) { - if ($article->header($header) =~ /^\n/) { - my $fixedheader = $article->header($header); - $fixedheader =~ s/^\n\s+//; - $article->set_headers($header, $fixedheader); - } - } +#Neue Message-ID und Approved-Header erzeugen + my $mid = defined($article->header('Message-ID')) ? $article->header('Message-ID') : + '<' . substr (rand() . '-' . time(), 2) . '@' . $config{'mid_fqdn'} . '>'; + $article->set_headers('Message-ID', $mid, 'Approved', $approve_string); - #Neue Message-ID und Approved-Header erzeugen - my $mid = defined($article->header('Message-ID')) ? $article->header('Message-ID') : - '<' . substr (rand() . '-' . time(), 2) . '@' . $config{'mid_fqdn'} . '>'; - $article->set_headers('Message-ID', $mid, 'Approved', $approve_string); - - #signieren +#signieren if ($sign_pgpmoose) { my @msg = $article->sign_pgpmoose($moderated_group, $pgp_passphrase, $pgp_keyid); @@ -230,16 +217,16 @@ while (my $ref = $dataref->fetchrow_arrayref) my @articleheaders = $article->header('References'); eval { - # Workaround fuer Buggy Software, die kaputte References erzeugt - my @references = $article->header('References'); - if (@references > 1) { - $article->set_headers('References', join "\n ", @references); - } - #posten - $article->post($nntp) or die $!; - #posted-Bit setzen, aktuelle MID in DB eintragen (wird in Zukunft vielleicht mal von einer Zusatzfunktion benoetigt) - $dbi->set_posted_status($id,$mid); - }; +# Workaround fuer Buggy Software, die kaputte References erzeugt + my @references = $article->header('References'); + if (@references > 1) { + $article->set_headers('References', join "\n ", @references); + } +#posten + $article->post($nntp) or die $!; +#posted-Bit setzen, aktuelle MID in DB eintragen (wird in Zukunft vielleicht mal von einer Zusatzfunktion benoetigt) + $dbi->set_posted_status($id,$mid); + }; # Fehler in Datenbank festhalten, sofern einer aufgetreten ist if ($@) { $dbi->increase_errorlevel($id, $@);