diff options
author | schmonz <schmonz@pkgsrc.org> | 2004-07-21 22:42:04 +0000 |
---|---|---|
committer | schmonz <schmonz@pkgsrc.org> | 2004-07-21 22:42:04 +0000 |
commit | c82afcb910fedfe48469ad360684a4c20745192f (patch) | |
tree | 7c5ea4cd04794d2a806de239e420fca372d9d811 /mail | |
parent | c5b3b51b29a8f343cb4b54e0e0bd8a892291b91a (diff) | |
download | pkgsrc-c82afcb910fedfe48469ad360684a4c20745192f.tar.gz |
Now that the qmail package avoids modifying the source code, those
of us who want the netqmail patches should use this package instead.
The two packages are otherwise identical.
Included here, as in the old qmail package:
* The netqmail 1.05 patches
* http://www.ckdhr.com/ckd/qmail-103.patch (recommended by Dave Sill)
Included in the old qmail package, but not here:
* http://patch.be/qmail/badrcptto-v1.01.patch
If you relied on the badrcptto patch, consider using qmail-qfilter
instead. As with any other package, you can apply patches to your
local builds with pkgsrc's LOCALPATCHES mechanism.
Diffstat (limited to 'mail')
-rw-r--r-- | mail/netqmail/DESCR | 12 | ||||
-rw-r--r-- | mail/netqmail/Makefile | 36 | ||||
-rw-r--r-- | mail/netqmail/distinfo | 5 | ||||
-rw-r--r-- | mail/netqmail/patches/patch-aa | 65 |
4 files changed, 118 insertions, 0 deletions
diff --git a/mail/netqmail/DESCR b/mail/netqmail/DESCR new file mode 100644 index 00000000000..c963fd8e1dd --- /dev/null +++ b/mail/netqmail/DESCR @@ -0,0 +1,12 @@ +Charles Cazabon, Dave Sill, Henning Brauer, Peter Samuel, and +Russell Nelson have put together a netqmail-1.05 distribution of +qmail. It is comprised of qmail-1.03 plus a patch file, some +documentation, and a shell script which prepares the files for +compilation. + +We have done this because in our opinion, too many new users are +confused by the out-of-date INSTALL file, and too much time is +spent arguing on the mailing list over bugs. We have tried to stick +to the barest minimum number of changes. We have fixed only those +things which are out-and-out wrong, or which have been approved by +djb (specifically QMAILQUEUE). diff --git a/mail/netqmail/Makefile b/mail/netqmail/Makefile new file mode 100644 index 00000000000..11437259843 --- /dev/null +++ b/mail/netqmail/Makefile @@ -0,0 +1,36 @@ +# $NetBSD: Makefile,v 1.1.1.1 2004/07/21 22:42:04 schmonz Exp $ +# + +DISTNAME= netqmail-1.05 +CATEGORIES= mail +MASTER_SITES= http://qmail.org/ + +MAINTAINER= schmonz@NetBSD.org +HOMEPAGE= http://qmail.org/netqmail/ +COMMENT= Unofficial distribution of qmail that includes basic patches + +CONFLICTS+= qmail-[0-9]* + +USE_BUILDLINK3= yes + +# netqmail is a modification of the qmail source. +RESTRICTED= "modified source and binaries may not be distributed" +NO_BIN_ON_CDROM=${RESTRICTED} +NO_BIN_ON_FTP= ${RESTRICTED} +NO_PACKAGE= "needs work to function properly as a binary package" + +WRKSRC= ${WRKDIR}/${DISTNAME}/${DISTNAME} + +.include "../../mail/qmail/Makefile.common" + +.if defined(PKG_PHASE) && ${PKG_PHASE} == "extract" +WRKSRC= ${WRKDIR}/${DISTNAME} +.endif + +post-extract: + @extract_file=qmail-1.03.tar.gz; export extract_file; \ + cd ${WRKSRC}; ${EXTRACT_CMD}; cd qmail-1.03; \ + ${PATCH} ${PATCH_DIST_ARGS} < ../${DISTNAME}.patch; \ + cd ..; ${MV} qmail-1.03 ${DISTNAME} + +.include "../../mk/bsd.pkg.mk" diff --git a/mail/netqmail/distinfo b/mail/netqmail/distinfo new file mode 100644 index 00000000000..af4890125a0 --- /dev/null +++ b/mail/netqmail/distinfo @@ -0,0 +1,5 @@ +$NetBSD: distinfo,v 1.1.1.1 2004/07/21 22:42:04 schmonz Exp $ + +SHA1 (netqmail-1.05.tar.gz) = fe4cbe97bd2f18a5ca1b36e4fbbd6c524256a829 +Size (netqmail-1.05.tar.gz) = 252264 bytes +SHA1 (patch-aa) = c9928d0879dee77010bb469d4afa8c4ca35668f8 diff --git a/mail/netqmail/patches/patch-aa b/mail/netqmail/patches/patch-aa new file mode 100644 index 00000000000..cf1473dbf20 --- /dev/null +++ b/mail/netqmail/patches/patch-aa @@ -0,0 +1,65 @@ +$NetBSD: patch-aa,v 1.1.1.1 2004/07/21 22:42:04 schmonz Exp $ + +--- dns.c.orig 2004-07-20 20:02:28.000000000 -0400 ++++ dns.c +@@ -19,10 +19,12 @@ extern int res_search(); + static unsigned short getshort(c) unsigned char *c; + { unsigned short u; u = c[0]; return (u << 8) + c[1]; } + +-static union { HEADER hdr; unsigned char buf[PACKETSZ]; } response; ++static struct { unsigned char *buf; } response; ++static int responsebuflen = 0; + static int responselen; + static unsigned char *responseend; + static unsigned char *responsepos; ++static u_long saveresoptions; + + static int numanswers; + static char name[MAXDNAME]; +@@ -43,18 +45,33 @@ int type; + errno = 0; + if (!stralloc_copy(&glue,domain)) return DNS_MEM; + if (!stralloc_0(&glue)) return DNS_MEM; +- responselen = lookup(glue.s,C_IN,type,response.buf,sizeof(response)); ++ if (!responsebuflen) ++ if (response.buf = (unsigned char *)alloc(PACKETSZ+1)) ++ responsebuflen = PACKETSZ+1; ++ else return DNS_MEM; ++ ++ responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen); ++ if ((responselen >= responsebuflen) || ++ (responselen > 0 && (((HEADER *)response.buf)->tc))) ++ { ++ if (responsebuflen < 65536) ++ if (alloc_re(&response.buf, responsebuflen, 65536)) ++ responsebuflen = 65536; ++ else return DNS_MEM; ++ saveresoptions = _res.options; ++ _res.options |= RES_USEVC; ++ responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen); ++ _res.options = saveresoptions; ++ } + if (responselen <= 0) + { + if (errno == ECONNREFUSED) return DNS_SOFT; + if (h_errno == TRY_AGAIN) return DNS_SOFT; + return DNS_HARD; + } +- if (responselen >= sizeof(response)) +- responselen = sizeof(response); + responseend = response.buf + responselen; + responsepos = response.buf + sizeof(HEADER); +- n = ntohs(response.hdr.qdcount); ++ n = ntohs(((HEADER *)response.buf)->qdcount); + while (n-- > 0) + { + i = dn_expand(response.buf,responseend,responsepos,name,MAXDNAME); +@@ -64,7 +81,7 @@ int type; + if (i < QFIXEDSZ) return DNS_SOFT; + responsepos += QFIXEDSZ; + } +- numanswers = ntohs(response.hdr.ancount); ++ numanswers = ntohs(((HEADER *)response.buf)->ancount); + return 0; + } + |