On Sat, Dec 11, 2010 at 04:11:47PM +0200, Peter Pentchev wrote: > Package: release.debian.org > Severity: normal > User: release.debian.org@packages.debian.org > Usertags: unblock > > Hi, > > Thanks for your efforts on cutting great Debian releases! > > I've made some changes (debdiff attached) to the dma package which > I haven't uploaded to unstable yet; do you think they are suitable > for a unstable -> testing migration during the freeze, or should I > upload to experimental instead, or just wait? > > The first change is a fix for #606398 - now dma provides the > /usr/lib/sendmail symlink so some MUA's can actually, well, send > mail. IMHO this is a usability improvement, although only for a > small portion of the MUA's. > > The second change is a fix for a segfault if dma cannot resolve any > of the MX's it tries to deliver to. This does not have any really > bad consequences - the message is still in the queue and dma will > retry the delivery in a while - but it is kind of annoying to have > segfaults show up in your syslog just because a VPN is down :) Actually, after a bit of communication with the upstream developer, I decided that it would be better to use his version of the fix for the DNS MX trouble. Attached is a debdiff that replaces my patch with his change, committed to his Gitorious repo. > So - what's your call? Should I upload to unstable with a freeze > exception in mind, or should these fixes wait for the Squeeze > release? G'luck, Peter -- Peter Pentchev roam@space.bg roam@ringlet.net roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence was in the past tense.
diffstat for dma-0.0.2010.06.17 dma-0.0.2010.06.17 changelog | 9 ++++ dma.links | 1 patches/38-unresolvable-mx.patch | 87 +++++++++++++++++++++++++++++++++++++++ patches/series | 1 4 files changed, 98 insertions(+) diff -Nru dma-0.0.2010.06.17/debian/changelog dma-0.0.2010.06.17/debian/changelog --- dma-0.0.2010.06.17/debian/changelog 2010-10-17 00:08:38.000000000 +0300 +++ dma-0.0.2010.06.17/debian/changelog 2010-12-13 12:58:57.000000000 +0200 @@ -1,3 +1,12 @@ +dma (0.0.2010.06.17-7) unstable; urgency=low + + * Provide the /usr/lib/sendmail symlink. Closes: #606398 + * Add the 38-unresolvable-mx patch to fix a segfault when + dma is unable to, well, resolve either the provided smarthost or + any of the mail exchangers for the recipient domain. + + -- Peter Pentchev <roam@ringlet.net> Mon, 13 Dec 2010 12:58:54 +0200 + dma (0.0.2010.06.17-6) unstable; urgency=low * Add the 37-gnu-hurd patch to really fix the FTBFS on GNU/Hurd. diff -Nru dma-0.0.2010.06.17/debian/dma.links dma-0.0.2010.06.17/debian/dma.links --- dma-0.0.2010.06.17/debian/dma.links 2009-12-09 20:27:05.000000000 +0200 +++ dma-0.0.2010.06.17/debian/dma.links 2010-12-11 15:19:23.000000000 +0200 @@ -1,5 +1,6 @@ usr/sbin/dma usr/bin/mailq usr/sbin/dma usr/bin/newaliases +usr/sbin/dma usr/lib/sendmail usr/sbin/dma usr/sbin/sendmail usr/share/man/man8/dma.8 usr/share/man/man8/mailq.8 usr/share/man/man8/dma.8 usr/share/man/man8/newaliases.8 diff -Nru dma-0.0.2010.06.17/debian/patches/38-unresolvable-mx.patch dma-0.0.2010.06.17/debian/patches/38-unresolvable-mx.patch --- dma-0.0.2010.06.17/debian/patches/38-unresolvable-mx.patch 1970-01-01 02:00:00.000000000 +0200 +++ dma-0.0.2010.06.17/debian/patches/38-unresolvable-mx.patch 2010-12-13 12:42:42.000000000 +0200 @@ -0,0 +1,87 @@ +Description: Fix a segfault upon unresolvable MX's. + This fixes both the case when the configured smarthost is unresolvable + and the case when a smarthost is not used but *all* of the MX's for + the recipient domain are unresolvable. +Origin: upstream; http://gitorious.org/~corecode/dma/corecodes-dma/commit/4b26e6a7 +Author: Simon 'corecode' Schubert <2@0x2c.org> +Last-Update: 2010-12-13 + +--- a/dns.c ++++ b/dns.c +@@ -80,7 +80,7 @@ + snprintf(servname, sizeof(servname), "%d", port); + err = getaddrinfo(host, servname, &hints, &res0); + if (err) +- return (-1); ++ return (err == EAI_AGAIN ? 1 : -1); + + for (res = res0; res != NULL; res = res->ai_next) { + if (*ps + 1 >= roundup(*ps, count_inc)) { +@@ -110,7 +110,7 @@ + out: + if (res0 != NULL) + freeaddrinfo(res0); +- return (-1); ++ return (1); + } + + int +@@ -127,6 +127,7 @@ + size_t anssz; + int pref; + int cname_recurse; ++ int have_mx = 0; + int err; + int i; + +@@ -183,6 +184,7 @@ + + switch (ns_rr_type(rr)) { + case ns_t_mx: ++ have_mx = 1; + pref = ns_get16(cp); + cp += 2; + err = ns_name_uncompress(ns_msg_base(msg), ns_msg_end(msg), +@@ -190,7 +192,9 @@ + if (err < 0) + goto transerr; + +- add_host(pref, outname, port, &hosts, &nhosts); ++ err = add_host(pref, outname, port, &hosts, &nhosts); ++ if (err == -1) ++ goto err; + break; + + case ns_t_cname: +@@ -225,17 +229,23 @@ + + free(ans); + +- if (!err) { +- /* +- * If we didn't find any MX, use the hostname instead. +- */ +- if (nhosts == 0) +- add_host(0, searchhost, port, &hosts, &nhosts); +- +- qsort(hosts, nhosts, sizeof(*hosts), sort_pref); ++ if (err == 0) { ++ if (!have_mx) { ++ /* ++ * If we didn't find any MX, use the hostname instead. ++ */ ++ err = add_host(0, host, port, &hosts, &nhosts); ++ } else if (nhosts == 0) { ++ /* ++ * We did get MX, but couldn't resolve any of them ++ * due to transient errors. ++ */ ++ err = 1; ++ } + } + + if (nhosts > 0) { ++ qsort(hosts, nhosts, sizeof(*hosts), sort_pref); + /* terminate list */ + *hosts[nhosts].host = 0; + } else { diff -Nru dma-0.0.2010.06.17/debian/patches/series dma-0.0.2010.06.17/debian/patches/series --- dma-0.0.2010.06.17/debian/patches/series 2010-10-16 18:54:13.000000000 +0300 +++ dma-0.0.2010.06.17/debian/patches/series 2010-12-11 15:19:23.000000000 +0200 @@ -20,3 +20,4 @@ 35-delivery-retry.patch 36-sa_nocldwait.patch 37-gnu-hurd.patch +38-unresolvable-mx.patch
Attachment:
signature.asc
Description: Digital signature