[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Please unblock dkimproxy 1.0.1-8



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there!

dkimproxy currently in Lenny has a file conflict with python-dkim. They
both ship a /usr/bin/dkimverify that doesn't exactly do the same thing.
This new release of the Debian package renames the dkimproxy
/usr/bin/dkimverify to /usr/bin/dkimproxy-verify, and updates the
manpages accordingly.

Also in this release, a patch given from the upstream author that
corrects a nasty bug: dkimproxy was reporting failed signature when
syslogd was down. The patch is included in upstream version 1.1, and I
have included it in 1.0.1-8 as I thought it was quite a bad thing to
keep it in Debian.

Please unblock dkimproxy 1.0.1-8 asap so both problems can be corrected.

Interdiff between the 2 versions is attached.

Thanks to all member of the release team for the huge work,

Thomas Goirand
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAklNQXgACgkQl4M9yZjvmkk8lgCcCUfDriJGib5p8M//PImJhZpN
JQYAoIOXa0mQIE+aFL9UuTQzWl0/eJmf
=M1VD
-----END PGP SIGNATURE-----
diff -u dkimproxy-1.0.1/debian/control dkimproxy-1.0.1/debian/control
--- dkimproxy-1.0.1/debian/control
+++ dkimproxy-1.0.1/debian/control
@@ -4,7 +4,8 @@
 Maintainer: Thomas Goirand <thomas@goirand.fr>
 Build-Depends: debhelper (>= 5)
 Build-Depends-Indep: autotools-dev, liberror-perl, libnet-server-perl, libmail-dkim-perl (>= 0.29)
-Standards-Version: 3.7.3
+Standards-Version: 3.8.0
+Dm-Upload-Allowed: yes
 Homepage: http://dkimproxy.sourceforge.net/
 
 Package: dkimproxy
diff -u dkimproxy-1.0.1/debian/rules dkimproxy-1.0.1/debian/rules
--- dkimproxy-1.0.1/debian/rules
+++ dkimproxy-1.0.1/debian/rules
@@ -41,7 +41,7 @@
 	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/lib/* $(CURDIR)/debian/$(DK_PKGNAME)/usr/share/perl5
 	rmdir $(CURDIR)/debian/$(DK_PKGNAME)/usr/lib
 	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkim_responder.pl $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkim_responder
-	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimverify.pl $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimverify
+	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimverify.pl $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimproxy-verify
 	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimsign.pl $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimsign
 	# These are deamons, they have nothing to do in /usr/bin !!!
 	mv $(CURDIR)/debian/$(DK_PKGNAME)/usr/bin/dkimproxy.in $(CURDIR)/debian/$(DK_PKGNAME)/usr/sbin
diff -u dkimproxy-1.0.1/debian/manpages dkimproxy-1.0.1/debian/manpages
--- dkimproxy-1.0.1/debian/manpages
+++ dkimproxy-1.0.1/debian/manpages
@@ -5 +5 @@
-debian/man/dkimverify.1
+debian/man/dkimproxy-verify.1
diff -u dkimproxy-1.0.1/debian/changelog dkimproxy-1.0.1/debian/changelog
--- dkimproxy-1.0.1/debian/changelog
+++ dkimproxy-1.0.1/debian/changelog
@@ -1,3 +1,12 @@
+dkimproxy (1.0.1-8) unstable; urgency=low
+
+  * Added a patch given by upstream so that dkimproxy continues to work if
+    syslogd is not running.
+  * Renamed /usr/bin/dkimverify to dkimproxy-verify so it doesn't conflicts
+    with dkimverify from python-dkim (Closes: #509045).
+
+ -- Thomas Goirand <thomas@goirand.fr>  Fri, 19 Dec 2008 18:03:22 +0800
+
 dkimproxy (1.0.1-7) unstable; urgency=low
 
   * Better Unix rights for the keys in /var/lib/dkimproxy
diff -u dkimproxy-1.0.1/debian/man/dkimsign.1 dkimproxy-1.0.1/debian/man/dkimsign.1
--- dkimproxy-1.0.1/debian/man/dkimsign.1
+++ dkimproxy-1.0.1/debian/man/dkimsign.1
@@ -29 +29 @@
-dkimproxy.in(8), dkimproxy.out(8), dkimverify(1),  dkim_responder(1)
+dkimproxy.in(8), dkimproxy.out(8), dkimproxy-verify(1),  dkim_responder(1)
reverted:
--- dkimproxy-1.0.1/debian/man/dkimverify.1
+++ dkimproxy-1.0.1.orig/debian/man/dkimverify.1
@@ -1,10 +0,0 @@
-.TH dkimverify 1
-
-.SH NAME
-dkimverify \- insert here a description
-
-.SH DESCRIPTION
-This man page is a stub, please contribute
-
-.SH "SEE ALSO"
-dkimproxy.in(8), dkimproxy.out(8), dkimsign(1),  dkim_responder(1)
diff -u dkimproxy-1.0.1/debian/man/dkim_responder.1 dkimproxy-1.0.1/debian/man/dkim_responder.1
--- dkimproxy-1.0.1/debian/man/dkim_responder.1
+++ dkimproxy-1.0.1/debian/man/dkim_responder.1
@@ -10 +10 @@
-dkimproxy.in(8), dkimproxy.out(8), dkimsign(1),  dkimverify(1)
+dkimproxy.in(8), dkimproxy.out(8), dkimsign(1),  dkimproxy-verify(1)
diff -u dkimproxy-1.0.1/debian/man/dkimproxy.in.8 dkimproxy-1.0.1/debian/man/dkimproxy.in.8
--- dkimproxy-1.0.1/debian/man/dkimproxy.in.8
+++ dkimproxy-1.0.1/debian/man/dkimproxy.in.8
@@ -112 +112 @@
-dkimproxy.out(8), dkim_responder(1), dkimsign(1),  dkimverify(1)
+dkimproxy.out(8), dkim_responder(1), dkimsign(1),  dkimproxy-verify(1)
diff -u dkimproxy-1.0.1/debian/man/dkimproxy.out.8 dkimproxy-1.0.1/debian/man/dkimproxy.out.8
--- dkimproxy-1.0.1/debian/man/dkimproxy.out.8
+++ dkimproxy-1.0.1/debian/man/dkimproxy.out.8
@@ -197 +197 @@
-dkimproxy.in(8), dkim_responder(8), dkimsign(8),  dkimverify(8)
+dkimproxy.in(8), dkim_responder(8), dkimsign(8),  dkimproxy-verify(8)
only in patch2:
unchanged:
--- dkimproxy-1.0.1.orig/debian/man/dkimproxy-verify.1
+++ dkimproxy-1.0.1/debian/man/dkimproxy-verify.1
@@ -0,0 +1,13 @@
+.TH dkimproxy-verify 1
+
+.SH NAME
+dkimproxy-verify \- insert here a description
+
+.SH DESCRIPTION
+The dkimproxy verify script that is bundled with DKIMproxy is not a component
+of the proxy itself. It's just useful in terms of troubleshooting a signature.
+
+This man page is a stub, please contribute.
+
+.SH "SEE ALSO"
+dkimproxy.in(8), dkimproxy.out(8), dkimsign(1),  dkim_responder(1)
only in patch2:
unchanged:
--- dkimproxy-1.0.1.orig/scripts/dkimproxy.in
+++ dkimproxy-1.0.1/scripts/dkimproxy.in
@@ -138,9 +138,16 @@
 
 	# create an object for sending the outgoing SMTP commands
 	#  (and the verified message)
-    my $client = MSDW::SMTP::Client->new(
+    my $client = eval { MSDW::SMTP::Client->new(
 			interface => $self->{server}->{relay_host},
-			port => $self->{server}->{relay_port});
+			port => $self->{server}->{relay_port}) };
+	if (my $E = $@)
+	{
+		chomp $E;
+		print "421 Internal error (Next hop is down)\n";
+		die "$E\n";
+	}
+
 	return $client;
 }
 
@@ -148,10 +155,25 @@
 {
 	my $self = shift;
 
-	print STDERR "got new connection\n";
+	# try to determine peer's address
+	use Socket;
+	my $peersockaddr = getpeername(STDOUT);
+	my ($port, $iaddr) = sockaddr_in($peersockaddr);
+	$ENV{REMOTE_ADDR} = inet_ntoa($iaddr);
 
 	# initialize syslog
-	openlog("dkimproxy.in", "cons,pid", "mail");
+	eval
+	{
+		openlog("dkimproxy.in", "perror,pid,ndelay", "mail");
+		syslog("debug", '%s', "connect from $ENV{REMOTE_ADDR}");
+	};
+	if (my $E = $@)
+	{
+		chomp $E;
+		print "421 Internal error (Syslog is down)\n";
+		die "$E\n";
+	}
+
 	$self->{debug} = $debugtrace;
 
 	$self->SUPER::process_request;
@@ -187,7 +209,8 @@
 	{
 		my $E = $@;
 		chomp $E;
-		syslog("warning", '%s', "verify error: $E");
+		$E =~ s/\n/ /gs;
+		eval { syslog("warning", '%s', "verify error: $E") };
 		print STDERR "verify error: $E\n";
 		$verify_result = "temperror";
 		$verify_detail = "$verify_result ($E)";
only in patch2:
unchanged:
--- dkimproxy-1.0.1.orig/scripts/dkimproxy.out
+++ dkimproxy-1.0.1/scripts/dkimproxy.out
@@ -256,9 +256,15 @@
 
 	# create an object for sending the outgoing SMTP commands
 	#  (and the signed message)
-    my $client = MSDW::SMTP::Client->new(
+    my $client = eval { MSDW::SMTP::Client->new(
 			interface => $self->{server}->{relay_host},
-			port => $self->{server}->{relay_port});
+			port => $self->{server}->{relay_port}) };
+	if (my $E = $@)
+	{
+		chomp $E;
+		print "421 Internal error (Next hop is down)\n";
+		die "$E\n";
+	}
 	return $client;
 }
 
@@ -266,8 +272,25 @@
 {
 	my $self = shift;
 
+	# try to determine peer's address
+	use Socket;
+	my $peersockaddr = getpeername(STDOUT);
+	my ($port, $iaddr) = sockaddr_in($peersockaddr);
+	$ENV{REMOTE_ADDR} = inet_ntoa($iaddr);
+
 	# initialize syslog
-	openlog("dkimproxy.out", "cons,pid", "mail");
+	eval
+	{
+		openlog("dkimproxy.out", "perror,pid,ndelay", "mail");
+		syslog("debug", '%s', "connect from $ENV{REMOTE_ADDR}");
+	};
+	if (my $E = $@)
+	{
+		chomp $E;
+		print "421 Internal error (Syslog is down)\n";
+		die "$E\n";
+	}
+
 	$self->{debug} = $debugtrace;
 
 	$self->SUPER::process_request;
@@ -322,7 +345,8 @@
 	{
 		my $E = $@;
 		chomp $E;
-		syslog("warning", '%s', "signing error: $E");
+		$E =~ s/\n/ /gs;
+		eval { syslog("warning", '%s', "signing error: $E") };
 		print STDERR "Warning: signing error: $E\n";
 		$result = "temperror";
 		$result_detail = "$result ($E)";

Reply to: