Compare commits
No commits in common. "af5ed9465fdd092fee788e3e33a483c689777d39" and "4ce8017756200fd532f868bb23251f1accbdf323" have entirely different histories.
af5ed9465f
...
4ce8017756
3 changed files with 19 additions and 33 deletions
|
|
@ -5,7 +5,6 @@ huhu 0.11.0 (unreleased)
|
||||||
* Add wrapper script for read-mail.pl
|
* Add wrapper script for read-mail.pl
|
||||||
* Drop more headers.
|
* Drop more headers.
|
||||||
* Only connect to newsserver if there are approved posts.
|
* Only connect to newsserver if there are approved posts.
|
||||||
* Fix headers with continuation immediately at start.
|
|
||||||
|
|
||||||
huhu 0.10 (unknown)
|
huhu 0.10 (unknown)
|
||||||
* huhu reports version 0.09 (from MOD/Displaylib.pm), but has code
|
* huhu reports version 0.09 (from MOD/Displaylib.pm), but has code
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ sub enter_table($$$$)
|
||||||
{
|
{
|
||||||
if ($values[$i])
|
if ($values[$i])
|
||||||
{
|
{
|
||||||
$msg .= "\n*** " . $columns[$i] . "***\n" . $values[$i];
|
$msg .= "\n*** " . $columns[$i] . "***\n" . $values[$i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$self->increase_errorlevel($article_id, $msg);
|
$self->increase_errorlevel($article_id, $msg);
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ while (my $ref = $dataref->fetchrow_arrayref)
|
||||||
my ($id,$posting) = @{$ref};
|
my ($id,$posting) = @{$ref};
|
||||||
next unless($dbi->set_status($id, 'sending', [ 'moderated' ]));
|
next unless($dbi->set_status($id, 'sending', [ 'moderated' ]));
|
||||||
|
|
||||||
# Posting einlesen.
|
# Posting einlesen.
|
||||||
my $article = News::Article->new(\$posting);
|
my $article = News::Article->new(\$posting);
|
||||||
next if (!defined($article->header('Newsgroups')));
|
next if (!defined($article->header('Newsgroups')));
|
||||||
|
|
||||||
|
|
@ -189,36 +189,23 @@ while (my $ref = $dataref->fetchrow_arrayref)
|
||||||
'X-Zedat-Hint', # FU Berlin (moderators.dana.de)
|
'X-Zedat-Hint', # FU Berlin (moderators.dana.de)
|
||||||
);
|
);
|
||||||
|
|
||||||
# albasani-workaround fuer @invalid
|
#albasani-workaround fuer @invalid
|
||||||
if ($article->header('From') =~ /\@invalid[> ]/i) {
|
if ($article->header('From') =~ /\@invalid[> ]/i) {
|
||||||
my $newfrom = $article->header('From');
|
my $newfrom = $article->header('From');
|
||||||
$newfrom =~ s/\@invalid/\@invalid.invalid/i;
|
$newfrom =~ s/\@invalid/\@invalid.invalid/i;
|
||||||
$article->set_headers('From',$newfrom);
|
$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/) {
|
if (defined $article->header('User-Agent') and $article->header('User-Agent') !~ /\w/) {
|
||||||
$article->drop_headers(('User-Agent'));
|
$article->drop_headers(('User-Agent'));
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fix headers with continuation immediately at start, i.e.
|
#Neue Message-ID und Approved-Header erzeugen
|
||||||
# X-MyHeader:
|
my $mid = defined($article->header('Message-ID')) ? $article->header('Message-ID') :
|
||||||
# Thisisaveryveryveryveryveryveryveryveryverylongheadervalue.
|
'<' . substr (rand() . '-' . time(), 2) . '@' . $config{'mid_fqdn'} . '>';
|
||||||
# will become
|
$article->set_headers('Message-ID', $mid, 'Approved', $approve_string);
|
||||||
# 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
|
#signieren
|
||||||
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)
|
if ($sign_pgpmoose)
|
||||||
{
|
{
|
||||||
my @msg = $article->sign_pgpmoose($moderated_group, $pgp_passphrase, $pgp_keyid);
|
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');
|
my @articleheaders = $article->header('References');
|
||||||
eval {
|
eval {
|
||||||
# Workaround fuer Buggy Software, die kaputte References erzeugt
|
# Workaround fuer Buggy Software, die kaputte References erzeugt
|
||||||
my @references = $article->header('References');
|
my @references = $article->header('References');
|
||||||
if (@references > 1) {
|
if (@references > 1) {
|
||||||
$article->set_headers('References', join "\n ", @references);
|
$article->set_headers('References', join "\n ", @references);
|
||||||
}
|
}
|
||||||
#posten
|
#posten
|
||||||
$article->post($nntp) or die $!;
|
$article->post($nntp) or die $!;
|
||||||
#posted-Bit setzen, aktuelle MID in DB eintragen (wird in Zukunft vielleicht mal von einer Zusatzfunktion benoetigt)
|
#posted-Bit setzen, aktuelle MID in DB eintragen (wird in Zukunft vielleicht mal von einer Zusatzfunktion benoetigt)
|
||||||
$dbi->set_posted_status($id,$mid);
|
$dbi->set_posted_status($id,$mid);
|
||||||
};
|
};
|
||||||
# Fehler in Datenbank festhalten, sofern einer aufgetreten ist
|
# Fehler in Datenbank festhalten, sofern einer aufgetreten ist
|
||||||
if ($@) {
|
if ($@) {
|
||||||
$dbi->increase_errorlevel($id, $@);
|
$dbi->increase_errorlevel($id, $@);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue