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: