From f355118ef193b9bd5a7a0b49839375d69db27061 Mon Sep 17 00:00:00 2001 From: zuntum Date: Fri, 3 May 2002 10:39:00 +0000 Subject: Store patches locally instead of fetching them from PATCH_SITES - fixes problem with qmailqueue patch unexpectedly differing over time --- mail/qmail/Makefile | 14 +--------- mail/qmail/distinfo | 9 +++--- mail/qmail/patches/patch-aa | 21 ++++++++++++++ mail/qmail/patches/patch-ab | 34 +++++++++++++++++++++++ mail/qmail/patches/patch-ac | 68 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 128 insertions(+), 18 deletions(-) create mode 100644 mail/qmail/patches/patch-aa create mode 100644 mail/qmail/patches/patch-ab create mode 100644 mail/qmail/patches/patch-ac (limited to 'mail') diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index 023d298402c..6317e7eb96b 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.11 2002/04/05 15:22:31 yyamano Exp $ +# $NetBSD: Makefile,v 1.12 2002/05/03 10:39:00 zuntum Exp $ # DISTNAME= qmail-1.03 @@ -11,18 +11,6 @@ MASTER_SITES= http://cr.yp.to/software/ \ ftp://ftp.net.ohio-state.edu/pub/networking/mail/qmail/ \ ftp://ftp.id.wustl.edu/pub/qmail/ -# Patch necessary to cope with non-RFC >512 dns entries -# Since AOL has been using those, the problem has skyrocketed from minor to -# groundzero. qmail being RFC compliant need to be "fixed" to work with those -PATCH_SITES= http://www.ckdhr.com/ckd/ -PATCHFILES+= qmail-103.patch - -# Apply QMAILQUEUE patch -PATCH_SITES+= http://www.qmail.org/ -PATCHFILES+= qmailqueue-patch - -PATCH_DIST_STRIP= -p1 - MAINTAINER= zuntum@netbsd.org HOMEPAGE= http://www.qmail.org/ COMMENT= SECURE, reliable, efficient, simple, and FAST MTA for UNIX systems diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo index 280cf1d1dac..5f4cd3ba4e0 100644 --- a/mail/qmail/distinfo +++ b/mail/qmail/distinfo @@ -1,8 +1,7 @@ -$NetBSD: distinfo,v 1.2 2002/01/28 18:28:09 zuntum Exp $ +$NetBSD: distinfo,v 1.3 2002/05/03 10:39:01 zuntum Exp $ SHA1 (qmail-1.03.tar.gz) = 18fb960481291a0503e93a94df3f6094edb7f27a Size (qmail-1.03.tar.gz) = 220668 bytes -SHA1 (qmail-103.patch) = dfb9cdabe91449dad2117115177b0a6a356baa9f -Size (qmail-103.patch) = 2104 bytes -SHA1 (qmailqueue-patch) = 5a870ab1552457e900a45f7460bf7e331934ff53 -Size (qmailqueue-patch) = 4128 bytes +SHA1 (patch-aa) = 9a54276636d5000fb8ae217344158301b91bde1d +SHA1 (patch-ab) = a37492ce29e86cab7aaf0dc3446ab5db95edcd86 +SHA1 (patch-ac) = 2f1ef6b0490d9792fc8d7d50af5f620b09f58ecf diff --git a/mail/qmail/patches/patch-aa b/mail/qmail/patches/patch-aa new file mode 100644 index 00000000000..4e139808673 --- /dev/null +++ b/mail/qmail/patches/patch-aa @@ -0,0 +1,21 @@ +$NetBSD: patch-aa,v 1.1 2002/05/03 10:39:01 zuntum Exp $ + +First part of QMAILQUEUE patch, as found on http://www.qmail.org/ + +--- Makefile.orig Mon Jun 15 04:53:16 1998 ++++ Makefile Tue Jan 19 10:52:24 1999 +@@ -1483,12 +1483,12 @@ + trigger.o fmtqfn.o quote.o now.o readsubdir.o qmail.o date822fmt.o \ + datetime.a case.a ndelay.a getln.a wait.a seek.a fd.a sig.a open.a \ + lock.a stralloc.a alloc.a substdio.a error.a str.a fs.a auto_qmail.o \ +-auto_split.o ++auto_split.o env.a + ./load qmail-send qsutil.o control.o constmap.o newfield.o \ + prioq.o trigger.o fmtqfn.o quote.o now.o readsubdir.o \ + qmail.o date822fmt.o datetime.a case.a ndelay.a getln.a \ + wait.a seek.a fd.a sig.a open.a lock.a stralloc.a alloc.a \ +- substdio.a error.a str.a fs.a auto_qmail.o auto_split.o ++ substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a + + qmail-send.0: \ + qmail-send.8 diff --git a/mail/qmail/patches/patch-ab b/mail/qmail/patches/patch-ab new file mode 100644 index 00000000000..d65ff218465 --- /dev/null +++ b/mail/qmail/patches/patch-ab @@ -0,0 +1,34 @@ +$NetBSD: patch-ab,v 1.1 2002/05/03 10:39:01 zuntum Exp $ + +Second part of QMAILQUEUE patch, as found on http://www.qmail.org/ + +--- qmail.c.orig Mon Jun 15 04:53:16 1998 ++++ qmail.c Tue Jan 19 09:57:36 1999 +@@ -6,14 +6,25 @@ + #include "fd.h" + #include "qmail.h" + #include "auto_qmail.h" ++#include "env.h" + +-static char *binqqargs[2] = { "bin/qmail-queue", 0 } ; ++static char *binqqargs[2] = { 0, 0 } ; ++ ++static void setup_qqargs() ++{ ++ if(!binqqargs[0]) ++ binqqargs[0] = env_get("QMAILQUEUE"); ++ if(!binqqargs[0]) ++ binqqargs[0] = "bin/qmail-queue"; ++} + + int qmail_open(qq) + struct qmail *qq; + { + int pim[2]; + int pie[2]; ++ ++ setup_qqargs(); + + if (pipe(pim) == -1) return -1; + if (pipe(pie) == -1) { close(pim[0]); close(pim[1]); return -1; } + diff --git a/mail/qmail/patches/patch-ac b/mail/qmail/patches/patch-ac new file mode 100644 index 00000000000..0e76751ed93 --- /dev/null +++ b/mail/qmail/patches/patch-ac @@ -0,0 +1,68 @@ +$NetBSD: patch-ac,v 1.1 2002/05/03 10:39:01 zuntum Exp $ + +Patch necessary to cope with non-RFC >512 dns entries, +as found on http://www.ckdhr.com/ckd/qmail-103.patch + +--- dns.c.orig Mon Aug 17 16:06:58 1998 ++++ dns.c Wed Aug 26 16:28:56 1998 +@@ -21,10 +21,12 @@ + 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]; +@@ -45,18 +47,33 @@ + 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); +@@ -66,7 +83,7 @@ + if (i < QFIXEDSZ) return DNS_SOFT; + responsepos += QFIXEDSZ; + } +- numanswers = ntohs(response.hdr.ancount); ++ numanswers = ntohs(((HEADER *)response.buf)->ancount); + return 0; + } + -- cgit v1.2.3