Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package spampd

Yes, I know it is a new upstream version, but all versions of spampd starting
with 2.40 had a breaking bug in LMTP processing for multiple recipients
(re-introducing the bug originally reported in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=395355). When upstream
learned this, he released a new and fixed version. 

The only other change in the new upstream version is a fix for a warning
message that we had a very similar patch for. The only change is that upstream
put the initialization in question at a different line of the source file.

Finally I fixed an oversight by myself that upstream pointed out. The standard
way of calling spampd lacked the option "--setsid". I seem to have forgotten
the option when the prior patched-in solution was removed.

debdiff is attached.

Thanks

Michael

unblock spampd/2.53-1

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.20.0-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru spampd-2.52/changelog.txt spampd-2.53/changelog.txt
--- spampd-2.52/changelog.txt   2018-11-10 10:24:14.000000000 +0100
+++ spampd-2.53/changelog.txt   2019-02-25 12:49:09.000000000 +0100
@@ -1,6 +1,11 @@
 SpamPD Change Log
 -----------------
 
+2.53 (25-Feb-19)
+
+- Fix LMTP delivery with multiple recipients 
(https://github.com/mpaperno/spampd/issues/23 & 
https://github.com/mail-in-a-box/mailinabox/issues/1523)
+- Fix Warning for "Use of uninitialized value in string" 
(https://github.com/mpaperno/spampd/issues/22)
+
 2.52 (10-Nov-18)
 
 - Override Net::Server's HUP handling, just restart children 
(https://github.com/mpaperno/spampd/pull/20).
@@ -10,17 +15,11 @@
 
 2.51 (01-May-18)
 
-- Fix listening to IP address, broken in 2.50 "Unix ports" feature.  (#18)
-- Add --setsid option to start server with setsid if running in background 
(#18)
 - Fix listening to IP address, broken in 2.50 "Unix ports" feature.  
(https://github.com/mpaperno/spampd/pull/18)
 - Add --setsid option to start server with setsid if running in background 
(https://github.com/mpaperno/spampd/pull/18)
 
 2.50 (30-Apr-18)
 
-- Replace IO::Socket::INET with IO::Socket::IP for IPv6 support (#9).
-- Unix ports (ability to listen on UNIX sockets) (#13).
-- Add X-Envelope-* headers before Received (#14).
-- Add /usr/local/bin and /usr/local/sbin to PATH (#17).
 - Replace IO::Socket::INET with IO::Socket::IP for IPv6 support 
(https://github.com/mpaperno/spampd/pull/9).
 - Unix ports (ability to listen on UNIX sockets) 
(https://github.com/mpaperno/spampd/pull/13).
 - Add X-Envelope-* headers before Received 
(https://github.com/mpaperno/spampd/pull/14).
diff -Nru spampd-2.52/debian/changelog spampd-2.53/debian/changelog
--- spampd-2.52/debian/changelog        2018-11-21 12:24:59.000000000 +0100
+++ spampd-2.53/debian/changelog        2019-02-26 12:16:46.000000000 +0100
@@ -1,3 +1,11 @@
+spampd (2.53-1) unstable; urgency=medium
+
+  * New upstream version 2.53
+  * Use the --setsid argument to make sure the process is correctly detached.
+  * Bumped Standards-Version, no changes needed.
+
+ -- Michael Meskes <mes...@debian.org>  Tue, 26 Feb 2019 12:16:46 +0100
+
 spampd (2.52-1) unstable; urgency=medium
 
   * New upstream version 2.52 (Closes: #849543)
diff -Nru spampd-2.52/debian/control spampd-2.53/debian/control
--- spampd-2.52/debian/control  2018-11-21 12:21:27.000000000 +0100
+++ spampd-2.53/debian/control  2019-02-26 12:16:46.000000000 +0100
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Michael Meskes <mes...@debian.org>
 Build-Depends: debhelper (>= 11), quilt, dh-exec
-Standards-Version: 4.2.1
+Standards-Version: 4.3.0
 Homepage: https://github.com/mpaperno/spampd
 
 Package: spampd
diff -Nru spampd-2.52/debian/patches/20-proto-warning.patch 
spampd-2.53/debian/patches/20-proto-warning.patch
--- spampd-2.52/debian/patches/20-proto-warning.patch   2018-11-21 
12:22:45.000000000 +0100
+++ spampd-2.53/debian/patches/20-proto-warning.patch   1970-01-01 
01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
---- spampd-2.52/spampd.pl.orig 2018-11-10 10:24:14.000000000 +0100
-+++ spampd-2.52/spampd.pl      2018-11-12 08:32:59.000000000 +0100
-@@ -145,6 +145,7 @@
-     return 0 unless defined($_ = $self->_getline);
-     s/[\r\n]*$//;
-     $self->{state} = $_;
-+    $self->{proto} = "(unknown)";
-     if (s/^(l|h)?he?lo\s+//i) {  # mp: find helo|ehlo|lhlo
-       # mp: determine protocol
-       if (s/^helo\s+//i) {
diff -Nru spampd-2.52/debian/patches/series spampd-2.53/debian/patches/series
--- spampd-2.52/debian/patches/series   2018-11-21 12:24:02.000000000 +0100
+++ spampd-2.53/debian/patches/series   2019-02-26 12:09:26.000000000 +0100
@@ -1,3 +1,2 @@
 10-homedir.patch
-20-proto-warning.patch
 45-fix-man-references.patch
diff -Nru spampd-2.52/debian/spampd.init spampd-2.53/debian/spampd.init
--- spampd-2.52/debian/spampd.init      2018-05-20 13:05:28.000000000 +0200
+++ spampd-2.53/debian/spampd.init      2019-02-26 12:16:03.000000000 +0100
@@ -148,7 +148,7 @@
                # start daemon
                start-stop-daemon --start --exec $EXECUTABLE \
                        --startas $PROGRAM --pidfile $PIDFILE \
-                       --user $USERID --group $GRPID -- $ARGS
+                       --user $USERID --group $GRPID -- --setsid $ARGS
                if [ "$?" = '0' ]; then
                        log_end_msg 0
                        exit 0
diff -Nru spampd-2.52/debian/spampd.service spampd-2.53/debian/spampd.service
--- spampd-2.52/debian/spampd.service   2018-05-20 13:05:28.000000000 +0200
+++ spampd-2.53/debian/spampd.service   2019-02-26 12:15:45.000000000 +0100
@@ -5,7 +5,7 @@
 [Service]
 EnvironmentFile=-/var/run/spampd/spampd.arguments
 ExecStartPre=/usr/share/spampd/process_arguments.sh
-ExecStart=/usr/sbin/spampd $SPAMPD_ARGS
+ExecStart=/usr/sbin/spampd --setsid $SPAMPD_ARGS
 Restart=on-failure
 PIDFile=/var/run/spampd/spampd.pid
 
diff -Nru spampd-2.52/readme.md spampd-2.53/readme.md
--- spampd-2.52/readme.md       2018-11-10 10:24:14.000000000 +0100
+++ spampd-2.53/readme.md       2019-02-25 12:49:09.000000000 +0100
@@ -3,10 +3,14 @@
 Check the [Releases](https://github.com/mpaperno/spampd/releases) area for 
latest versions, and see the old <a 
href="https://github.com/mpaperno/spampd/downloads";>Downloads</a> section for 
older releases. 
 
 Originally released in May of 2002, SpamPD is a program used within an e-mail 
delivery system to scan messages for possible Unsolicited Commercial E-mail 
(UCE, aka spam) content. 
-It uses an excellent program called SpamAssassin (SA) to do the actual message 
scanning. spampd acts as a transparent SMTP/LMTP proxy between 
-two mail servers, and during the transaction it passes the mail through SA. If 
SA decides the mail could be spam, then spampd will ask SA to 
-add some headers and a report to the message indicating it's spam and why. 
spampd is written in Perl and should theoretically run on any 
+It uses an excellent program called <a href="https://spamassassin.apache.org/"; 
target="_new">SpamAssassin</a> (SA) to do the actual message scanning. SpamPD 
acts as a transparent SMTP/LMTP proxy between 
+two mail servers, and during the transaction it passes the mail through SA. If 
SA decides the mail could be spam, then SpamPD will ask SA to 
+add some headers and a report to the message indicating it's spam and why. 
SpamPD is written in Perl and should theoretically run on any 
 platform supported by Perl and SpamAssassin.
 
-More information is available at <a 
href="http://www.worlddesign.com/index.cfm/page/rd/mta/spampd.htm";>here</a>.
+More information is available <a 
href="http://www.worlddesign.com/index.cfm/page/rd/mta/spampd.htm";>here</a>.
 
+Linux packages data courtesy of Repology:  
+<a href="https://repology.org/metapackage/spampd/versions"; target="_new">
+    <img 
src="https://repology.org/badge/vertical-allrepos/spampd.svg?minversion=2.52&header=Latest+release+v2.52";
 alt="Packaging status">
+</a>
diff -Nru spampd-2.52/spampd.pl spampd-2.53/spampd.pl
--- spampd-2.52/spampd.pl       2018-11-10 10:24:14.000000000 +0100
+++ spampd-2.53/spampd.pl       2019-02-25 12:49:09.000000000 +0100
@@ -3,6 +3,7 @@
 ######################
 # SpamPD - spam proxy daemon
 #
+# v2.53  - 25-Feb-19
 # v2.52  - 10-Nov-18
 # v2.51  - 01-May-18
 # v2.50  - 30-Apr-18
@@ -110,6 +111,8 @@
 
   die "$0: socket bind failure: $!\n" unless defined $self->{sock};
   $self->{state} = 'started';
+  $self->{proto} = 'unknown';
+  $self->{helo} = 'unknown.host';
   return $self;
 }
 
@@ -145,7 +148,7 @@
     return 0 unless defined($_ = $self->_getline);
     s/[\r\n]*$//;
     $self->{state} = $_;
-    if (s/^(l|h)?he?lo\s+//i) {  # mp: find helo|ehlo|lhlo
+    if (/^(l|h)?he?lo\s+/i) {  # mp: find helo|ehlo|lhlo
       # mp: determine protocol
       if (s/^helo\s+//i) {
         $self->{proto} = "smtp";
@@ -413,7 +416,7 @@
 
 use vars qw(@ISA $VERSION);
 our @ISA     = qw(Net::Server::PreForkSimple);
-our $VERSION = '2.52';
+our $VERSION = '2.53';
 
 sub process_message {
   my ($self, $fh) = @_;

Reply via email to