From 464f145382b8d8120c410e43d35732cd088f3976 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:10:20 +0100 Subject: [PATCH 01/14] Update to current Debian version. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + MOD/DBIUtils.pm | 2 +- MOD/DBIUtilsPublic.pm | 2 +- bin/read-mail.pl | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73ead48..0b84aac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). +* Update to current Debian version. 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 61edfde..0c85321 100644 --- a/MOD/DBIUtils.pm +++ b/MOD/DBIUtils.pm @@ -21,7 +21,7 @@ use DBI(); use MOD::Utils qw(read_private_config); use News::Article(); use MOD::DBIUtilsPublic(); -use Digest::SHA1(); +use Digest::SHA(); push @MOD::DBIUtils::ISA,'MOD::DBIUtilsPublic'; diff --git a/MOD/DBIUtilsPublic.pm b/MOD/DBIUtilsPublic.pm index a9a3515..d312a99 100644 --- a/MOD/DBIUtilsPublic.pm +++ b/MOD/DBIUtilsPublic.pm @@ -48,7 +48,7 @@ sub new($$) my ($class,$configref) = @_; my $self = {}; $self->{'config'} = $configref; - $self->{'dsn'} = "DBI:mysql:database=$self->{'config'}->{'mysql_db'};host=$self->{'config'}->{'mysql_host'};port=$self->{'config'}->{'mysql_port'}"; + $self->{'dsn'} = "DBI:MariaDB:database=$self->{'config'}->{'mysql_db'};host=$self->{'config'}->{'mysql_host'};port=$self->{'config'}->{'mysql_port'}"; $self->{'dbh'} = DBI->connect($self->{'dsn'},$self->{'config'}->{'mysql_username'},$self->{'config'}->{'mysql_password'}, { RaiseError => 1}) or die($DBI::errstr); diff --git a/bin/read-mail.pl b/bin/read-mail.pl index 9511405..f1622de 100755 --- a/bin/read-mail.pl +++ b/bin/read-mail.pl @@ -125,6 +125,7 @@ sub process_text($$$) die 'Argument -config=file missing' unless($::config); $::status = undef unless($::status); # to suppress warning $::stdin = undef unless($::stdin); # to suppress warning +$::test = undef unless($::test); # to suppress warning my %config = MOD::Utils::read_private_config($::config); my $rm = MOD::ReadMail->new(\%config); From 2082293b0541e245f97bf5d232c686f1c29a75fa Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:11:27 +0100 Subject: [PATCH 02/14] Add shell to new huhu mod users. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + sbin/create-procmail-user.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0b84aac..1b5bac3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). * Update to current Debian version. +* Add shell to new huhu mod users. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/sbin/create-procmail-user.sh b/sbin/create-procmail-user.sh index 8d9f83a..f2b5aaa 100755 --- a/sbin/create-procmail-user.sh +++ b/sbin/create-procmail-user.sh @@ -28,7 +28,7 @@ fi user_home="${HUHU_HOME_BASE_DIR:-/home}/"$( echo "${user_name}" | sed 's#[-.]#/#g' ) user_home_parent="${user_home%/*}" [ -d "${user_home_parent}" ] || mkdir -p "${user_home_parent}" -useradd --home "${user_home}" --create-home --skel "${skel_dir}" "${user_name}" +useradd --home "${user_home}" --shell /bin/bash --create-home --skel "${skel_dir}" "${user_name}" user_home=$( awk -F: "/^${user_name}:/ { print \$6 }" /etc/passwd ) From eabcb590c463fefe05bbd730ba844d888c31c7b3 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:25:28 +0100 Subject: [PATCH 03/14] Add wrapper script for read-mail.pl Drop procmail, use Exim filter as .forward. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/read-mail-wrapper.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100755 bin/read-mail-wrapper.sh diff --git a/ChangeLog b/ChangeLog index 1b5bac3..1d4aa10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). * Update to current Debian version. * Add shell to new huhu mod users. +* Add wrapper script for read-mail.pl huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/read-mail-wrapper.sh b/bin/read-mail-wrapper.sh new file mode 100755 index 0000000..2532992 --- /dev/null +++ b/bin/read-mail-wrapper.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# +# This script is a wrapper for read-mail.pl to set up the environment. +# +# Usage: ${HUHU_DIR}/bin/read-mail-wrapper.sh de.alt.test.moderated + +export "LANG=C" +export "LC_CTYPE=C" +set -o nounset +set -o errexit + +export HUHU_DIR="/home/huhu" +export PERL5LIB="${PERL5LIB:+$PERL5LIB:}${HUHU_DIR}" +USER_DIR=$( echo "$1" | sed 's#[-.]#/#g' ) +CONFIG="/home/${USER_DIR}/etc/public.conf" + +cat - | "${HUHU_DIR}/bin/read-mail.pl" "-config=${CONFIG}" -stdin From ea63da2aaac86af66191d426f32c6161e295e628 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:26:06 +0100 Subject: [PATCH 04/14] Add STARTTLS to poster.pl Signed-off-by: Thomas Hochstein --- bin/poster.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/poster.pl b/bin/poster.pl index f409275..53e29b3 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -87,6 +87,7 @@ sub connect_nntp($) # authinfo does not return a value $nntp->authinfo($cfg_nntp_user, $cfg_nntp_pass); + $nntp->starttls if $nntp->can_ssl(); return $nntp; } From 41f79c4287f6d0aaa7001ffd8ca565eba1ec8a5a Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:29:25 +0100 Subject: [PATCH 05/14] Drop more headers. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/poster.pl | 41 ++++++++++++++++++++++++----------------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d4aa10..a813cd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ huhu 0.11.0 (unreleased) * Update to current Debian version. * Add shell to new huhu mod users. * Add wrapper script for read-mail.pl +* Drop more headers. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/poster.pl b/bin/poster.pl index 53e29b3..6088024 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -88,6 +88,7 @@ sub connect_nntp($) $nntp->authinfo($cfg_nntp_user, $cfg_nntp_pass); $nntp->starttls if $nntp->can_ssl(); + return $nntp; } @@ -142,30 +143,36 @@ while (my $ref = $dataref->fetchrow_arrayref) 'Date', 'Delivery-date', 'Delivered-To', - 'Errors-To', # Mailman + 'Errors-To', # Mailman 'Envelope-to', - 'Injection-Info', # defined by INN 2.6.x and Schnuerpel 2010 - 'Lines', # defined by INN 2.5.x or older - 'NNTP-Posting-Date', # defined by INN 2.5.x or older - 'NNTP-Posting-Host', # defined by INN 2.5.x or older + 'Injection-Info', # defined by INN 2.6.x and Schnuerpel 2010 + 'Lines', # defined by INN 2.5.x or older + 'Message-ID-Hash', + 'X-Message-ID-Hash', + 'NNTP-Posting-Date', # defined by INN 2.5.x or older + 'NNTP-Posting-Host', # defined by INN 2.5.x or older 'Path', - 'Precedence', # Mailman + 'Precedence', # Mailman 'Received', + 'Received-Spf', 'Status', 'Return-Path', 'To', 'X-Antivirus', 'X-Antivirus-Status', 'X-Attachment-Test', - 'X-Beenthere', # Mailman - 'X-Complaints-To', # defined by INN 2.5.x or older + 'X-Beenthere', # Mailman + 'X-Complaints-To', # defined by INN 2.5.x or older 'X-Lang-Test', - 'X-Mailman-Version', # Mailman - 'X-MSMail-Priority', # Outlook - 'X-NNTP-Posting-Host', # set by Schnuerpel 2009 or older + 'X-Mailfrom', + 'X-Mailman-Version', # Mailman + 'X-Mailman-Rule-Misses', ## Mailman 3 + 'X-MSMail-Priority', # Outlook + 'X-NNTP-Posting-Host', # set by Schnuerpel 2009 or older + 'X-NNTP-Posting-Date', 'X-Originating-IP', - 'X-Priority', # Outlook - 'X-Provags-ID', # GMX/1&1 + 'X-Priority', # Outlook + 'X-Provags-ID', # GMX/1&1 'X-Spamassassin-Test', 'X-Spam-Checker-Version', 'X-Spam-Level', @@ -173,11 +180,11 @@ while (my $ref = $dataref->fetchrow_arrayref) 'X-Spam-Score', 'X-Spam-Status', 'X-Subject-Test', - 'X-Trace', # defined by INN 2.5.x or older - 'X-User-ID', # set by Schnuerpel 2009 or older + 'X-Trace', # defined by INN 2.5.x or older + 'X-User-ID', # set by Schnuerpel 2009 or older 'X-Virus-Scanned', - 'X-Y-Gmx-Trusted', # GMX/1&1 - 'X-Zedat-Hint', # Uni Berlin/Individual? + 'X-Y-Gmx-Trusted', # GMX/1&1 + 'X-Zedat-Hint', # FU Berlin (moderators.dana.de) ); #albasani-workaround fuer @invalid From 7ac13a8f499de479572eb5651bfa172660bd6f59 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:39:28 +0100 Subject: [PATCH 06/14] Only connect to newsserver if there are approved posts. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/poster.pl | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a813cd9..26759d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ huhu 0.11.0 (unreleased) * Add shell to new huhu mod users. * Add wrapper script for read-mail.pl * Drop more headers. +* Only connect to newsserver if there are approved posts. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/poster.pl b/bin/poster.pl index 6088024..bc03158 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -110,7 +110,6 @@ if ($sign_pgpmoose && DEBUG > 1) print "News::Article::sign_pgpmoose enabled.\n"; } -my Net::NNTP $nntp = connect_nntp(\%config); my $dbi = MOD::DBIUtils->new(\%config) || die "Can't connect to database"; @@ -118,6 +117,9 @@ my $dbi = MOD::DBIUtils->new(\%config) || # i.e. all posts in the state 'moderated'. my $dataref = $dbi->select_unposted(); +# Only connect to newsserver if there are approved posts +my Net::NNTP $nntp = connect_nntp(\%config) if $dataref->rows; + #Schleife ueber alle selektierten Postings #Einlesen des Postings, Header anpassen,anschliessend posten #und das das posted-Bit in der Datenbank setzen. From 4511720b3bbd4bfe07783008c97ee7c7141d6865 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:39:50 +0100 Subject: [PATCH 07/14] Fix ChangeLog format. Signed-off-by: Thomas Hochstein --- ChangeLog | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 26759d1..38d3b9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,11 @@ huhu 0.11.0 (unreleased) -* Re-order and add metadata files (TODO, ChangeLog, ...). -* Update to current Debian version. -* Add shell to new huhu mod users. -* Add wrapper script for read-mail.pl -* Drop more headers. -* Only connect to newsserver if there are approved posts. + * Re-order and add metadata files (TODO, ChangeLog, ...). + * Update to current Debian version. + * Add shell to new huhu mod users. + * Add wrapper script for read-mail.pl + * Drop more headers. + * Only connect to newsserver if there are approved posts. huhu 0.10 (unknown) -* huhu reports version 0.09 (from MOD/Displaylib.pm), but has code - to update databases from 0.09 to 0.10 (in samples/mysql). \ No newline at end of file + * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code + to update databases from 0.09 to 0.10 (in samples/mysql). \ No newline at end of file From 8259e055040fd9f588f333f4c4b6d46c3eb71222 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:10:20 +0100 Subject: [PATCH 08/14] Update to current Debian version. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + MOD/DBIUtils.pm | 4 ++-- MOD/DBIUtilsPublic.pm | 2 +- MOD/ReadMail.pm | 2 +- bin/read-mail.pl | 1 + 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73ead48..0b84aac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). +* Update to current Debian version. 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 61edfde..fcdb029 100644 --- a/MOD/DBIUtils.pm +++ b/MOD/DBIUtils.pm @@ -21,7 +21,7 @@ use DBI(); use MOD::Utils qw(read_private_config); use News::Article(); use MOD::DBIUtilsPublic(); -use Digest::SHA1(); +use Digest::SHA(); push @MOD::DBIUtils::ISA,'MOD::DBIUtilsPublic'; @@ -81,7 +81,7 @@ sub enter_table($$$$) my $article_id = undef; my $age = $self->{'config'}->{'check_duplicates_age'} || 7; - my $sha1 = Digest::SHA1::sha1_hex($body); + my $sha1 = Digest::SHA::sha1_hex($body); my $stmt = $self->{'dbh'}->prepare( "SELECT id\n" . "\nFROM " . $table . diff --git a/MOD/DBIUtilsPublic.pm b/MOD/DBIUtilsPublic.pm index a9a3515..d312a99 100644 --- a/MOD/DBIUtilsPublic.pm +++ b/MOD/DBIUtilsPublic.pm @@ -48,7 +48,7 @@ sub new($$) my ($class,$configref) = @_; my $self = {}; $self->{'config'} = $configref; - $self->{'dsn'} = "DBI:mysql:database=$self->{'config'}->{'mysql_db'};host=$self->{'config'}->{'mysql_host'};port=$self->{'config'}->{'mysql_port'}"; + $self->{'dsn'} = "DBI:MariaDB:database=$self->{'config'}->{'mysql_db'};host=$self->{'config'}->{'mysql_host'};port=$self->{'config'}->{'mysql_port'}"; $self->{'dbh'} = DBI->connect($self->{'dsn'},$self->{'config'}->{'mysql_username'},$self->{'config'}->{'mysql_password'}, { RaiseError => 1}) or die($DBI::errstr); diff --git a/MOD/ReadMail.pm b/MOD/ReadMail.pm index 27d9386..d50f169 100644 --- a/MOD/ReadMail.pm +++ b/MOD/ReadMail.pm @@ -100,7 +100,7 @@ sub add_article($$;$) } if ($config->{'subjectcheck'} and - $db->check_subject($article->header('subject'))) + $db->check_subject($article->header('subject'))) { my $subjectscore = $config->{'subjectscore'}; $article->add_headers('X-Subject-Test', $subjectscore); diff --git a/bin/read-mail.pl b/bin/read-mail.pl index 9511405..f1622de 100755 --- a/bin/read-mail.pl +++ b/bin/read-mail.pl @@ -125,6 +125,7 @@ sub process_text($$$) die 'Argument -config=file missing' unless($::config); $::status = undef unless($::status); # to suppress warning $::stdin = undef unless($::stdin); # to suppress warning +$::test = undef unless($::test); # to suppress warning my %config = MOD::Utils::read_private_config($::config); my $rm = MOD::ReadMail->new(\%config); From 6032e3984a91737e8b8f2a5aec2e000606643ded Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:11:27 +0100 Subject: [PATCH 09/14] Add shell to new huhu mod users. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + sbin/create-procmail-user.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0b84aac..1b5bac3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). * Update to current Debian version. +* Add shell to new huhu mod users. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/sbin/create-procmail-user.sh b/sbin/create-procmail-user.sh index 8d9f83a..f2b5aaa 100755 --- a/sbin/create-procmail-user.sh +++ b/sbin/create-procmail-user.sh @@ -28,7 +28,7 @@ fi user_home="${HUHU_HOME_BASE_DIR:-/home}/"$( echo "${user_name}" | sed 's#[-.]#/#g' ) user_home_parent="${user_home%/*}" [ -d "${user_home_parent}" ] || mkdir -p "${user_home_parent}" -useradd --home "${user_home}" --create-home --skel "${skel_dir}" "${user_name}" +useradd --home "${user_home}" --shell /bin/bash --create-home --skel "${skel_dir}" "${user_name}" user_home=$( awk -F: "/^${user_name}:/ { print \$6 }" /etc/passwd ) From 8db4fa83e0c8348b778a78ca26b9b9f162a8750e Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:25:28 +0100 Subject: [PATCH 10/14] Add wrapper script for read-mail.pl Drop procmail, use Exim filter as .forward. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/read-mail-wrapper.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100755 bin/read-mail-wrapper.sh diff --git a/ChangeLog b/ChangeLog index 1b5bac3..1d4aa10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ huhu 0.11.0 (unreleased) * Re-order and add metadata files (TODO, ChangeLog, ...). * Update to current Debian version. * Add shell to new huhu mod users. +* Add wrapper script for read-mail.pl huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/read-mail-wrapper.sh b/bin/read-mail-wrapper.sh new file mode 100755 index 0000000..2532992 --- /dev/null +++ b/bin/read-mail-wrapper.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# +# This script is a wrapper for read-mail.pl to set up the environment. +# +# Usage: ${HUHU_DIR}/bin/read-mail-wrapper.sh de.alt.test.moderated + +export "LANG=C" +export "LC_CTYPE=C" +set -o nounset +set -o errexit + +export HUHU_DIR="/home/huhu" +export PERL5LIB="${PERL5LIB:+$PERL5LIB:}${HUHU_DIR}" +USER_DIR=$( echo "$1" | sed 's#[-.]#/#g' ) +CONFIG="/home/${USER_DIR}/etc/public.conf" + +cat - | "${HUHU_DIR}/bin/read-mail.pl" "-config=${CONFIG}" -stdin From fc71f975af926755e5958b35e45762987a0afe50 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:26:06 +0100 Subject: [PATCH 11/14] Add STARTTLS to poster.pl Signed-off-by: Thomas Hochstein --- bin/poster.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/poster.pl b/bin/poster.pl index f409275..53e29b3 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -87,6 +87,7 @@ sub connect_nntp($) # authinfo does not return a value $nntp->authinfo($cfg_nntp_user, $cfg_nntp_pass); + $nntp->starttls if $nntp->can_ssl(); return $nntp; } From 9e5f72b7ea70b6e6a22edfb02a3d2f60182bd79c Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:29:25 +0100 Subject: [PATCH 12/14] Drop more headers. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/poster.pl | 41 ++++++++++++++++++++++++----------------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d4aa10..a813cd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ huhu 0.11.0 (unreleased) * Update to current Debian version. * Add shell to new huhu mod users. * Add wrapper script for read-mail.pl +* Drop more headers. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/poster.pl b/bin/poster.pl index 53e29b3..6088024 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -88,6 +88,7 @@ sub connect_nntp($) $nntp->authinfo($cfg_nntp_user, $cfg_nntp_pass); $nntp->starttls if $nntp->can_ssl(); + return $nntp; } @@ -142,30 +143,36 @@ while (my $ref = $dataref->fetchrow_arrayref) 'Date', 'Delivery-date', 'Delivered-To', - 'Errors-To', # Mailman + 'Errors-To', # Mailman 'Envelope-to', - 'Injection-Info', # defined by INN 2.6.x and Schnuerpel 2010 - 'Lines', # defined by INN 2.5.x or older - 'NNTP-Posting-Date', # defined by INN 2.5.x or older - 'NNTP-Posting-Host', # defined by INN 2.5.x or older + 'Injection-Info', # defined by INN 2.6.x and Schnuerpel 2010 + 'Lines', # defined by INN 2.5.x or older + 'Message-ID-Hash', + 'X-Message-ID-Hash', + 'NNTP-Posting-Date', # defined by INN 2.5.x or older + 'NNTP-Posting-Host', # defined by INN 2.5.x or older 'Path', - 'Precedence', # Mailman + 'Precedence', # Mailman 'Received', + 'Received-Spf', 'Status', 'Return-Path', 'To', 'X-Antivirus', 'X-Antivirus-Status', 'X-Attachment-Test', - 'X-Beenthere', # Mailman - 'X-Complaints-To', # defined by INN 2.5.x or older + 'X-Beenthere', # Mailman + 'X-Complaints-To', # defined by INN 2.5.x or older 'X-Lang-Test', - 'X-Mailman-Version', # Mailman - 'X-MSMail-Priority', # Outlook - 'X-NNTP-Posting-Host', # set by Schnuerpel 2009 or older + 'X-Mailfrom', + 'X-Mailman-Version', # Mailman + 'X-Mailman-Rule-Misses', ## Mailman 3 + 'X-MSMail-Priority', # Outlook + 'X-NNTP-Posting-Host', # set by Schnuerpel 2009 or older + 'X-NNTP-Posting-Date', 'X-Originating-IP', - 'X-Priority', # Outlook - 'X-Provags-ID', # GMX/1&1 + 'X-Priority', # Outlook + 'X-Provags-ID', # GMX/1&1 'X-Spamassassin-Test', 'X-Spam-Checker-Version', 'X-Spam-Level', @@ -173,11 +180,11 @@ while (my $ref = $dataref->fetchrow_arrayref) 'X-Spam-Score', 'X-Spam-Status', 'X-Subject-Test', - 'X-Trace', # defined by INN 2.5.x or older - 'X-User-ID', # set by Schnuerpel 2009 or older + 'X-Trace', # defined by INN 2.5.x or older + 'X-User-ID', # set by Schnuerpel 2009 or older 'X-Virus-Scanned', - 'X-Y-Gmx-Trusted', # GMX/1&1 - 'X-Zedat-Hint', # Uni Berlin/Individual? + 'X-Y-Gmx-Trusted', # GMX/1&1 + 'X-Zedat-Hint', # FU Berlin (moderators.dana.de) ); #albasani-workaround fuer @invalid From 3680a37aaaf9fd7eff8d38e09ab2e845254c4f41 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:39:28 +0100 Subject: [PATCH 13/14] Only connect to newsserver if there are approved posts. Signed-off-by: Thomas Hochstein --- ChangeLog | 1 + bin/poster.pl | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a813cd9..26759d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ huhu 0.11.0 (unreleased) * Add shell to new huhu mod users. * Add wrapper script for read-mail.pl * Drop more headers. +* Only connect to newsserver if there are approved posts. huhu 0.10 (unknown) * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code diff --git a/bin/poster.pl b/bin/poster.pl index 6088024..bc03158 100755 --- a/bin/poster.pl +++ b/bin/poster.pl @@ -110,7 +110,6 @@ if ($sign_pgpmoose && DEBUG > 1) print "News::Article::sign_pgpmoose enabled.\n"; } -my Net::NNTP $nntp = connect_nntp(\%config); my $dbi = MOD::DBIUtils->new(\%config) || die "Can't connect to database"; @@ -118,6 +117,9 @@ my $dbi = MOD::DBIUtils->new(\%config) || # i.e. all posts in the state 'moderated'. my $dataref = $dbi->select_unposted(); +# Only connect to newsserver if there are approved posts +my Net::NNTP $nntp = connect_nntp(\%config) if $dataref->rows; + #Schleife ueber alle selektierten Postings #Einlesen des Postings, Header anpassen,anschliessend posten #und das das posted-Bit in der Datenbank setzen. From 4ce8017756200fd532f868bb23251f1accbdf323 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sat, 31 Jan 2026 22:39:50 +0100 Subject: [PATCH 14/14] Fix ChangeLog format. Signed-off-by: Thomas Hochstein --- ChangeLog | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 26759d1..38d3b9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,11 @@ huhu 0.11.0 (unreleased) -* Re-order and add metadata files (TODO, ChangeLog, ...). -* Update to current Debian version. -* Add shell to new huhu mod users. -* Add wrapper script for read-mail.pl -* Drop more headers. -* Only connect to newsserver if there are approved posts. + * Re-order and add metadata files (TODO, ChangeLog, ...). + * Update to current Debian version. + * Add shell to new huhu mod users. + * Add wrapper script for read-mail.pl + * Drop more headers. + * Only connect to newsserver if there are approved posts. huhu 0.10 (unknown) -* huhu reports version 0.09 (from MOD/Displaylib.pm), but has code - to update databases from 0.09 to 0.10 (in samples/mysql). \ No newline at end of file + * huhu reports version 0.09 (from MOD/Displaylib.pm), but has code + to update databases from 0.09 to 0.10 (in samples/mysql). \ No newline at end of file