Compare commits
2 commits
4ce8017756
...
af5ed9465f
| Author | SHA1 | Date | |
|---|---|---|---|
| af5ed9465f | |||
| dd034b71b4 |
3 changed files with 33 additions and 19 deletions
|
|
@ -5,6 +5,7 @@ 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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,23 +189,36 @@ 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'));
|
||||
}
|
||||
|
||||
#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);
|
||||
# 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);
|
||||
}
|
||||
}
|
||||
|
||||
#signieren
|
||||
#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
|
||||
if ($sign_pgpmoose)
|
||||
{
|
||||
my @msg = $article->sign_pgpmoose($moderated_group, $pgp_passphrase, $pgp_keyid);
|
||||
|
|
@ -217,16 +230,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, $@);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue