diff options
author | schmonz <schmonz@pkgsrc.org> | 2004-04-10 05:30:06 +0000 |
---|---|---|
committer | schmonz <schmonz@pkgsrc.org> | 2004-04-10 05:30:06 +0000 |
commit | 39b07aea57e0c010a88a16f64c9277068f8fa325 (patch) | |
tree | a8ef553fd6a3c69535ee6c696866180a84bf812c /mail | |
parent | 0330d9f22d7de9317a51c3b0e1aac1738a96c13a (diff) | |
download | pkgsrc-39b07aea57e0c010a88a16f64c9277068f8fa325.tar.gz |
Russ Nelson, Charles Cazabon, Dave Sill, Peter Samuel, and Henning
Brauer have prepared a distribution of qmail, called "netqmail":
"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)."
This package already includes the QMAILQUEUE patch. Add netqmail
1.05's other patches, with the exception that patches to documentation
files which are not installed have been lovingly omitted.
This package also already includes a patch to handle oversized DNS
packets. It's still here, too.
pkgsrc changes:
* Add qmail-smtpd rc.d script (and ensuing dependency on net/ucspi-tcp).
* Update qmail rc.d script: respect $qmail_flags, treating it as the
default delivery instruction.
* Remove non-working MASTER_SITES.
From the netqmail changelog:
20040121 code: qmail-smtpd is protected from exceedingly long (eg 2GB)
header lines
20040121 code: qmail_lspawn, qmail-newmrh, qmail-newu, and qmail-rspawn
are protected from misbehaving on hosts where the size of an
integer is not the same as the size of a character pointer
(eg 64 bit hosts with 32 bit ints)
20031027 doc: qmail.7 identifies installation as netqmail and points to
http://qmail.org/
20031027 doc: qmail-queue.8 adds explanation of $QMAILQUEUE
20031027 doc: qmail-log.5 adds reference to errors from $QMAILQUEUE script
20031027 code: qmail-smtpd identifies itself as netqmail
20031027 code: if $QMAILQUEUE is set, it's invoked instead of qmail-queue
20031024 code: changed errno from int to #include.
20031024 code: fixed .qmail parsing bug.
20031024 code: recognize 0.0.0.0 as a local address.
20031024 code: sendmail's -f flag now overrides environment variables.
And for all this, bump PKGREVISION.
Pre-flight checks by snj@.
Diffstat (limited to 'mail')
-rw-r--r-- | mail/qmail/Makefile | 16 | ||||
-rw-r--r-- | mail/qmail/PLIST | 3 | ||||
-rw-r--r-- | mail/qmail/distinfo | 22 | ||||
-rw-r--r-- | mail/qmail/files/qmail.sh | 13 | ||||
-rw-r--r-- | mail/qmail/files/qmailsmtpd.sh | 29 | ||||
-rw-r--r-- | mail/qmail/patches/patch-aa | 28 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ab | 18 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ac | 24 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ad | 11 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ae | 9 | ||||
-rw-r--r-- | mail/qmail/patches/patch-af | 15 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ag | 13 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ah | 16 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ai | 13 | ||||
-rw-r--r-- | mail/qmail/patches/patch-aj | 16 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ak | 103 | ||||
-rw-r--r-- | mail/qmail/patches/patch-al | 27 | ||||
-rw-r--r-- | mail/qmail/patches/patch-am | 17 | ||||
-rw-r--r-- | mail/qmail/patches/patch-an | 63 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ao | 22 | ||||
-rw-r--r-- | mail/qmail/patches/patch-ap | 51 | ||||
-rw-r--r-- | mail/qmail/patches/patch-aq | 12 |
22 files changed, 500 insertions, 41 deletions
diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index 2522530aae1..733e298f7a4 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -1,21 +1,20 @@ -# $NetBSD: Makefile,v 1.20 2004/03/29 05:10:04 snj Exp $ +# $NetBSD: Makefile,v 1.21 2004/04/10 05:30:06 schmonz Exp $ # DISTNAME= qmail-1.03 -PKGREVISION= 4 +PKGREVISION= 5 CATEGORIES= mail MASTER_SITES= http://cr.yp.to/software/ \ ftp://ftp.ntnu.no/pub/unix/mail/qmail/ \ ftp://ftp.jp.qmail.org/qmail/ \ - ftp://ftp.rifkin.technion.ac.il/pub/qmail/ \ - ftp://ftp.net.ohio-state.edu/pub/networking/mail/qmail/ \ - ftp://ftp.id.wustl.edu/pub/qmail/ + ftp://ftp.net.ohio-state.edu/pub/networking/mail/qmail/ MAINTAINER= zuntum@NetBSD.org HOMEPAGE= http://www.qmail.org/ -COMMENT= SECURE, reliable, efficient, simple, and FAST MTA for UNIX systems +COMMENT= Secure, reliable, efficient, simple, and fast MTA for UNIX systems DEPENDS+= qmail-users>=1.0:../../mail/qmail-users +DEPENDS+= ucspi-tcp-[0-9]*:../../net/ucspi-tcp ALL_TARGET= it man INSTALL_TARGET= setup check @@ -30,8 +29,11 @@ USE_PKGINSTALL= yes DEINSTALL_EXTRA_TMPL+= ${.CURDIR}/DEINSTALL OWN_DIRS+= ${QMAILDIR} +EVAL_PREFIX+= LOCALBASE_UCSPI_TCP=ucspi-tcp + FILES_SUBST+= QMAILDIR=${QMAILDIR} -RCD_SCRIPTS= qmail +FILES_SUBST+= LOCALBASE_UCSPI_TCP=${LOCALBASE_UCSPI_TCP} +RCD_SCRIPTS= qmail qmailsmtpd RCD_SCRIPTS_EXAMPLEDIR= ${QMAILDIR}/etc/rc.d .include "../../mk/bsd.prefs.mk" diff --git a/mail/qmail/PLIST b/mail/qmail/PLIST index ec2b774a345..7ab04c03100 100644 --- a/mail/qmail/PLIST +++ b/mail/qmail/PLIST @@ -1,6 +1,7 @@ -@comment $NetBSD: PLIST,v 1.4 2002/07/28 01:56:14 schmonz Exp $ +@comment $NetBSD: PLIST,v 1.5 2004/04/10 05:30:06 schmonz Exp $ ${QMAILDIR}/etc/mailer.conf.qmail ${QMAILDIR}/etc/rc.d/qmail +${QMAILDIR}/etc/rc.d/qmailsmtpd ${QMAILDIR}/bin/bouncesaying ${QMAILDIR}/bin/condredirect ${QMAILDIR}/bin/datemail diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo index 5f4cd3ba4e0..8e1c27a16c1 100644 --- a/mail/qmail/distinfo +++ b/mail/qmail/distinfo @@ -1,7 +1,21 @@ -$NetBSD: distinfo,v 1.3 2002/05/03 10:39:01 zuntum Exp $ +$NetBSD: distinfo,v 1.4 2004/04/10 05:30:06 schmonz Exp $ SHA1 (qmail-1.03.tar.gz) = 18fb960481291a0503e93a94df3f6094edb7f27a Size (qmail-1.03.tar.gz) = 220668 bytes -SHA1 (patch-aa) = 9a54276636d5000fb8ae217344158301b91bde1d -SHA1 (patch-ab) = a37492ce29e86cab7aaf0dc3446ab5db95edcd86 -SHA1 (patch-ac) = 2f1ef6b0490d9792fc8d7d50af5f620b09f58ecf +SHA1 (patch-aa) = d876fb59c6e1e93d0332696c1ebf06e04a8fafb2 +SHA1 (patch-ab) = 47f788fd28feca2442bbb9094d99633a1578e447 +SHA1 (patch-ac) = e05c2c1c4066a2fd1b6c3763c6fe73d541994014 +SHA1 (patch-ad) = eacd740cf85abbb385b241cf4f33f7b80a03ce4b +SHA1 (patch-ae) = 56311eb87ee8325ba347c6cdbfd8b5484c7142e0 +SHA1 (patch-af) = 582ce985dde5df7eb507e2abe90c62b6d73485e2 +SHA1 (patch-ag) = bfd2ae4613add0ab9b4c2672466600abf9de38ae +SHA1 (patch-ah) = 48d9c4f5a47372dd13c380edf50ceeb209d61ea3 +SHA1 (patch-ai) = 67ac4722837e5dd6136d4fbe900ef80eda74ea95 +SHA1 (patch-aj) = a1691a04a90f3969ac8853e7d04833603195880e +SHA1 (patch-ak) = d1e88006f04874df6c1896b08bbdfb4e5d67f654 +SHA1 (patch-al) = 20a8bb4d44477522135762219c4aaeebddfd6085 +SHA1 (patch-am) = fd1d09686dcdbb58b7a45c114aa56d0b1360035b +SHA1 (patch-an) = de2bb294c742ee4b512634f37553bdb79ea7ffb1 +SHA1 (patch-ao) = 63176ba524913c6e693de7460d25016a10a438f8 +SHA1 (patch-ap) = de2d4d409c5e588e1cf9c6ca2cd966eeef022a55 +SHA1 (patch-aq) = 2e5f0a4870b13ff60f79edf5dc58eff783fd5bea diff --git a/mail/qmail/files/qmail.sh b/mail/qmail/files/qmail.sh index 6ef9458980e..7354ea576d5 100644 --- a/mail/qmail/files/qmail.sh +++ b/mail/qmail/files/qmail.sh @@ -1,24 +1,29 @@ #!@RCD_SCRIPTS_SHELL@ # -# $NetBSD: qmail.sh,v 1.2 2002/09/20 02:01:57 grant Exp $ +# $NetBSD: qmail.sh,v 1.3 2004/04/10 05:30:06 schmonz Exp $ # -# PROVIDE: mail +# PROVIDE: mail qmail # REQUIRE: LOGIN . /etc/rc.subr name="qmail" rcvar=${name} -required_files="@QMAILDIR@/rc @QMAILDIR@/control/me" +required_files="@QMAILDIR@/control/me" command="@QMAILDIR@/bin/qmail-send" start_precmd="qmail_precmd" extra_commands="reload" +if [ -z "$qmail_flags" ]; then + qmail_flags="./Mailbox" +fi + qmail_precmd() { - command="@QMAILDIR@/rc" + command="@SETENV@ - PATH=@QMAILDIR@/bin:$PATH qmail-start '$qmail_flags' splogger qmail" command_args="&" + rc_flags="" } load_rc_config $name diff --git a/mail/qmail/files/qmailsmtpd.sh b/mail/qmail/files/qmailsmtpd.sh new file mode 100644 index 00000000000..44453ec653c --- /dev/null +++ b/mail/qmail/files/qmailsmtpd.sh @@ -0,0 +1,29 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: qmailsmtpd.sh,v 1.1 2004/04/10 05:30:06 schmonz Exp $ +# + +# PROVIDE: mail +# REQUIRE: qmail + +. /etc/rc.subr + +name="qmailsmtpd" +rcvar=${name} +command="@LOCALBASE_UCSPI_TCP@/bin/tcpserver" +procname=${name} +start_precmd="qmailsmtpd_precmd" + +if [ -z "$qmailsmtpd_flags" ]; then + qmailsmtpd_flags="-v -H -R -l 0" +fi + +qmailsmtpd_precmd() +{ + command="@SETENV@ - @LOCALBASE_UCSPI_TCP@/bin/argv0 @LOCALBASE_UCSPI_TCP@/bin/tcpserver $name $qmailsmtpd_flags -u `@ID@ -u qmaild` -g `@ID@ -g qmaild` 0 smtp @QMAILDIR@/bin/qmail-smtpd 2>&1 | @QMAILDIR@/bin/splogger smtpd 3" + command_args="&" + rc_flags="" +} + +load_rc_config $name +run_rc_command "$1" diff --git a/mail/qmail/patches/patch-aa b/mail/qmail/patches/patch-aa index 4e139808673..8415513de1f 100644 --- a/mail/qmail/patches/patch-aa +++ b/mail/qmail/patches/patch-aa @@ -1,10 +1,17 @@ -$NetBSD: patch-aa,v 1.1 2002/05/03 10:39:01 zuntum Exp $ +$NetBSD: patch-aa,v 1.2 2004/04/10 05:30:06 schmonz 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 @@ +--- Makefile.orig 1998-06-15 06:53:16.000000000 -0400 ++++ Makefile +@@ -263,7 +263,7 @@ makelib cdbmake_pack.o cdbmake_hash.o cd + cdbmake_add.o + + cdbmake_add.o: \ +-compile cdbmake_add.c cdbmake.h uint32.h ++compile cdbmake_add.c cdbmake.h alloc.h uint32.h + ./compile cdbmake_add.c + + cdbmake_hash.o: \ +@@ -1483,12 +1483,12 @@ load qmail-send.o qsutil.o control.o con 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 \ @@ -19,3 +26,12 @@ First part of QMAILQUEUE patch, as found on http://www.qmail.org/ qmail-send.0: \ qmail-send.8 +@@ -1892,7 +1892,7 @@ trylsock.c compile load + + spawn.o: \ + compile chkspawn spawn.c sig.h wait.h substdio.h byte.h str.h \ +-stralloc.h gen_alloc.h select.h exit.h coe.h open.h error.h \ ++stralloc.h gen_alloc.h select.h exit.h alloc.h coe.h open.h error.h \ + auto_qmail.h auto_uids.h auto_spawn.h + ./chkspawn + ./compile spawn.c diff --git a/mail/qmail/patches/patch-ab b/mail/qmail/patches/patch-ab index d65ff218465..6a46485025e 100644 --- a/mail/qmail/patches/patch-ab +++ b/mail/qmail/patches/patch-ab @@ -1,10 +1,8 @@ -$NetBSD: patch-ab,v 1.1 2002/05/03 10:39:01 zuntum Exp $ +$NetBSD: patch-ab,v 1.2 2004/04/10 05:30:06 schmonz 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 @@ +--- qmail.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail.c +@@ -6,8 +6,17 @@ #include "fd.h" #include "qmail.h" #include "auto_qmail.h" @@ -23,12 +21,12 @@ Second part of QMAILQUEUE patch, as found on http://www.qmail.org/ int qmail_open(qq) struct qmail *qq; - { +@@ -15,6 +24,8 @@ struct qmail *qq; int pim[2]; int pie[2]; -+ -+ setup_qqargs(); ++ 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 index 0e76751ed93..b548ebe3ddd 100644 --- a/mail/qmail/patches/patch-ac +++ b/mail/qmail/patches/patch-ac @@ -1,11 +1,17 @@ -$NetBSD: patch-ac,v 1.1 2002/05/03 10:39:01 zuntum Exp $ +$NetBSD: patch-ac,v 1.2 2004/04/10 05:30:06 schmonz 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 @@ +--- dns.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ dns.c +@@ -7,8 +7,6 @@ + #include <errno.h> + extern int res_query(); + extern int res_search(); +-extern int errno; +-extern int h_errno; + #include "ip.h" + #include "ipalloc.h" + #include "fmt.h" +@@ -21,10 +19,12 @@ extern int h_errno; static unsigned short getshort(c) unsigned char *c; { unsigned short u; u = c[0]; return (u << 8) + c[1]; } @@ -19,7 +25,7 @@ as found on http://www.ckdhr.com/ckd/qmail-103.patch static int numanswers; static char name[MAXDNAME]; -@@ -45,18 +47,33 @@ +@@ -45,18 +45,33 @@ int type; errno = 0; if (!stralloc_copy(&glue,domain)) return DNS_MEM; if (!stralloc_0(&glue)) return DNS_MEM; @@ -57,7 +63,7 @@ as found on http://www.ckdhr.com/ckd/qmail-103.patch while (n-- > 0) { i = dn_expand(response.buf,responseend,responsepos,name,MAXDNAME); -@@ -66,7 +83,7 @@ +@@ -66,7 +81,7 @@ int type; if (i < QFIXEDSZ) return DNS_SOFT; responsepos += QFIXEDSZ; } diff --git a/mail/qmail/patches/patch-ad b/mail/qmail/patches/patch-ad new file mode 100644 index 00000000000..802665bda1c --- /dev/null +++ b/mail/qmail/patches/patch-ad @@ -0,0 +1,11 @@ +$NetBSD: patch-ad,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- cdb_seek.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ cdb_seek.c +@@ -1,6 +1,5 @@ + #include <sys/types.h> + #include <errno.h> +-extern int errno; + #include "cdb.h" + + #ifndef SEEK_SET diff --git a/mail/qmail/patches/patch-ae b/mail/qmail/patches/patch-ae new file mode 100644 index 00000000000..aedb6dc669d --- /dev/null +++ b/mail/qmail/patches/patch-ae @@ -0,0 +1,9 @@ +$NetBSD: patch-ae,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- cdbmake_add.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ cdbmake_add.c +@@ -1,3 +1,4 @@ ++#include "alloc.h" + #include "cdbmake.h" + + void cdbmake_init(cdbm) diff --git a/mail/qmail/patches/patch-af b/mail/qmail/patches/patch-af new file mode 100644 index 00000000000..d459b90d2c5 --- /dev/null +++ b/mail/qmail/patches/patch-af @@ -0,0 +1,15 @@ +$NetBSD: patch-af,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- error.3.orig 1998-06-15 06:53:16.000000000 -0400 ++++ error.3 +@@ -3,8 +3,8 @@ + error \- syscall error codes + .SH SYNTAX + .B #include <error.h> +- +-extern int \fBerrno\fP; ++.br ++.B #include <errno.h> + + extern int \fBerror_intr\fP; + .br diff --git a/mail/qmail/patches/patch-ag b/mail/qmail/patches/patch-ag new file mode 100644 index 00000000000..b6137736520 --- /dev/null +++ b/mail/qmail/patches/patch-ag @@ -0,0 +1,13 @@ +$NetBSD: patch-ag,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- error.h.orig 1998-06-15 06:53:16.000000000 -0400 ++++ error.h +@@ -1,7 +1,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; diff --git a/mail/qmail/patches/patch-ah b/mail/qmail/patches/patch-ah new file mode 100644 index 00000000000..f9f5a8d6ba3 --- /dev/null +++ b/mail/qmail/patches/patch-ah @@ -0,0 +1,16 @@ +$NetBSD: patch-ah,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- ipme.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ ipme.c +@@ -46,6 +46,11 @@ int ipme_init() + ipme.len = 0; + ix.pref = 0; + ++ /* 0.0.0.0 is a special address which always refers to ++ * "this host, this network", according to RFC 1122, Sec. 3.2.1.3a. ++ */ ++ byte_copy(&ix.ip,4,"\0\0\0\0"); ++ if (!ipalloc_append(&ipme,&ix)) { return 0; } + if ((s = socket(AF_INET,SOCK_STREAM,0)) == -1) return -1; + + len = 256; diff --git a/mail/qmail/patches/patch-ai b/mail/qmail/patches/patch-ai new file mode 100644 index 00000000000..85846ad1071 --- /dev/null +++ b/mail/qmail/patches/patch-ai @@ -0,0 +1,13 @@ +$NetBSD: patch-ai,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-local.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-local.c +@@ -645,7 +645,7 @@ char **argv; + { + cmds.s[j] = 0; + k = j; +- while ((k > i) && (cmds.s[k - 1] == ' ') || (cmds.s[k - 1] == '\t')) ++ while ((k > i) && ((cmds.s[k - 1] == ' ') || (cmds.s[k - 1] == '\t'))) + cmds.s[--k] = 0; + switch(cmds.s[i]) + { diff --git a/mail/qmail/patches/patch-aj b/mail/qmail/patches/patch-aj new file mode 100644 index 00000000000..e709c9b9e63 --- /dev/null +++ b/mail/qmail/patches/patch-aj @@ -0,0 +1,16 @@ +$NetBSD: patch-aj,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-log.5.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-log.5 +@@ -232,6 +232,11 @@ It will try again later. + is unable to queue a bounce message, + usually because the machine is almost out of memory. + It will try again later. ++This can also be caused by incorrect settings of ++.B $QMAILQUEUE ++or errors in a program or script which ++.B $QMAILQUEUE ++points to. + .TP + .B unable to stat ... + .B qmail-send diff --git a/mail/qmail/patches/patch-ak b/mail/qmail/patches/patch-ak new file mode 100644 index 00000000000..adae72f70ce --- /dev/null +++ b/mail/qmail/patches/patch-ak @@ -0,0 +1,103 @@ +$NetBSD: patch-ak,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-pop3d.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-pop3d.c +@@ -66,14 +66,14 @@ void die_nomaildir() { err("this user ha + void die_scan() { err("unable to scan $HOME/Maildir"); die(); } + + void err_syntax() { err("syntax error"); } +-void err_unimpl() { err("unimplemented"); } ++void err_unimpl(arg) char *arg; { err("unimplemented"); } + void err_deleted() { err("already deleted"); } + void err_nozero() { err("messages are counted from 1"); } + void err_toobig() { err("not that many messages"); } + void err_nosuch() { err("unable to open that message"); } + void err_nounlink() { err("unable to unlink all deleted messages"); } + +-void okay() { puts("+OK \r\n"); flush(); } ++void okay(arg) char *arg; { puts("+OK \r\n"); flush(); } + + void printfn(fn) char *fn; + { +@@ -146,7 +146,7 @@ void getlist() + } + } + +-void pop3_stat() ++void pop3_stat(arg) char *arg; + { + int i; + unsigned long total; +@@ -161,15 +161,15 @@ void pop3_stat() + flush(); + } + +-void pop3_rset() ++void pop3_rset(arg) char *arg; + { + int i; + for (i = 0;i < numm;++i) m[i].flagdeleted = 0; + last = 0; +- okay(); ++ okay(0); + } + +-void pop3_last() ++void pop3_last(arg) char *arg; + { + puts("+OK "); + put(strnum,fmt_uint(strnum,last)); +@@ -177,7 +177,7 @@ void pop3_last() + flush(); + } + +-void pop3_quit() ++void pop3_quit(arg) char *arg; + { + int i; + for (i = 0;i < numm;++i) +@@ -192,7 +192,7 @@ void pop3_quit() + if (!stralloc_0(&line)) die_nomem(); + rename(m[i].fn,line.s); /* if it fails, bummer */ + } +- okay(); ++ okay(0); + die(); + } + +@@ -214,7 +214,7 @@ void pop3_dele(arg) char *arg; + if (i == -1) return; + m[i].flagdeleted = 1; + if (i + 1 > last) last = i + 1; +- okay(); ++ okay(0); + } + + void list(i,flaguidl) +@@ -238,7 +238,7 @@ void dolisting(arg,flaguidl) char *arg; + list(i,flaguidl); + } + else { +- okay(); ++ okay(0); + for (i = 0;i < numm;++i) + if (!m[i].flagdeleted) + list(i,flaguidl); +@@ -267,7 +267,7 @@ void pop3_top(arg) char *arg; + + fd = open_read(m[i].fn); + if (fd == -1) { err_nosuch(); return; } +- okay(); ++ okay(0); + substdio_fdbuf(&ssmsg,read,fd,ssmsgbuf,sizeof(ssmsgbuf)); + blast(&ssmsg,limit); + close(fd); +@@ -299,7 +299,7 @@ char **argv; + + getlist(); + +- okay(); ++ okay(0); + commands(&ssin,pop3commands); + die(); + } diff --git a/mail/qmail/patches/patch-al b/mail/qmail/patches/patch-al new file mode 100644 index 00000000000..8f3e467ca9a --- /dev/null +++ b/mail/qmail/patches/patch-al @@ -0,0 +1,27 @@ +$NetBSD: patch-al,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-popup.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-popup.c +@@ -64,10 +64,10 @@ void die_badauth() { err("authorization + + void err_syntax() { err("syntax error"); } + void err_wantuser() { err("USER first"); } +-void err_authoriz() { err("authorization first"); } ++void err_authoriz(arg) char *arg; { err("authorization first"); } + +-void okay() { puts("+OK \r\n"); flush(); } +-void pop3_quit() { okay(); die(); } ++void okay(arg) char *arg; { puts("+OK \r\n"); flush(); } ++void pop3_quit(arg) char *arg; { okay(0); die(); } + + + char unique[FMT_ULONG + FMT_ULONG + 3]; +@@ -136,7 +136,7 @@ void pop3_greet() + void pop3_user(arg) char *arg; + { + if (!*arg) { err_syntax(); return; } +- okay(); ++ okay(0); + seenuser = 1; + if (!stralloc_copys(&username,arg)) die_nomem(); + if (!stralloc_0(&username)) die_nomem(); diff --git a/mail/qmail/patches/patch-am b/mail/qmail/patches/patch-am new file mode 100644 index 00000000000..7526aafef39 --- /dev/null +++ b/mail/qmail/patches/patch-am @@ -0,0 +1,17 @@ +$NetBSD: patch-am,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-queue.8.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-queue.8 +@@ -40,6 +40,12 @@ and does not enforce any restrictions on + However, the recipients probably expect to see a proper header, + as described in + .BR qmail-header(5) . ++ ++Programs included with qmail which invoke ++.B qmail-queue ++will invoke the contents of ++.B $QMAILQUEUE ++instead, if that environment variable is set. + .SH "FILESYSTEM RESTRICTIONS" + .B qmail-queue + imposes two constraints on the queue structure: diff --git a/mail/qmail/patches/patch-an b/mail/qmail/patches/patch-an new file mode 100644 index 00000000000..7f0797b1b6e --- /dev/null +++ b/mail/qmail/patches/patch-an @@ -0,0 +1,63 @@ +$NetBSD: patch-an,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail-smtpd.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail-smtpd.c +@@ -51,12 +51,12 @@ void straynewline() { out("451 See http: + + void err_bmf() { out("553 sorry, your envelope sender is in my badmailfrom list (#5.7.1)\r\n"); } + void err_nogateway() { out("553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)\r\n"); } +-void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); } ++void err_unimpl(arg) char *arg; { out("502 unimplemented (#5.5.1)\r\n"); } + void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); } + void err_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); } + void err_wantrcpt() { out("503 RCPT first (#5.5.1)\r\n"); } +-void err_noop() { out("250 ok\r\n"); } +-void err_vrfy() { out("252 send some mail, i'll try my best\r\n"); } ++void err_noop(arg) char *arg; { out("250 ok\r\n"); } ++void err_vrfy(arg) char *arg; { out("252 send some mail, i'll try my best\r\n"); } + void err_qqt() { out("451 qqt failure (#4.3.0)\r\n"); } + + +@@ -67,11 +67,11 @@ void smtp_greet(code) char *code; + substdio_puts(&ssout,code); + substdio_put(&ssout,greeting.s,greeting.len); + } +-void smtp_help() ++void smtp_help(arg) char *arg; + { +- out("214 qmail home page: http://pobox.com/~djb/qmail.html\r\n"); ++ out("214 netqmail home page: http://qmail.org/netqmail\r\n"); + } +-void smtp_quit() ++void smtp_quit(arg) char *arg; + { + smtp_greet("221 "); out("\r\n"); flush(); _exit(0); + } +@@ -232,7 +232,7 @@ void smtp_ehlo(arg) char *arg; + smtp_greet("250-"); out("\r\n250-PIPELINING\r\n250 8BITMIME\r\n"); + seenmail = 0; dohelo(arg); + } +-void smtp_rset() ++void smtp_rset(arg) char *arg; + { + seenmail = 0; + out("250 flushed\r\n"); +@@ -316,8 +316,8 @@ int *hops; + if (flagmaybex) if (pos == 7) ++*hops; + if (pos < 2) if (ch != "\r\n"[pos]) flagmaybey = 0; + if (flagmaybey) if (pos == 1) flaginheader = 0; ++ ++pos; + } +- ++pos; + if (ch == '\n') { pos = 0; flagmaybex = flagmaybey = flagmaybez = 1; } + } + switch(state) { +@@ -365,7 +365,7 @@ void acceptmessage(qp) unsigned long qp; + out("\r\n"); + } + +-void smtp_data() { ++void smtp_data(arg) char *arg; { + int hops; + unsigned long qp; + char *qqx; diff --git a/mail/qmail/patches/patch-ao b/mail/qmail/patches/patch-ao new file mode 100644 index 00000000000..3c506904b50 --- /dev/null +++ b/mail/qmail/patches/patch-ao @@ -0,0 +1,22 @@ +$NetBSD: patch-ao,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- qmail.7.orig 1998-06-15 06:53:16.000000000 -0400 ++++ qmail.7 +@@ -55,12 +55,14 @@ Miscellaneous documentation includes + and + .BR qmail-pop3d (8). + +-This documentation describes version +-1.03 ++This documentation describes netqmail version ++1.05 + of + .BR qmail . + See + .B http://pobox.com/~djb/qmail.html + for other + .BR qmail -related +-software. ++software, and ++.B http://qmail.org/ ++for other qmail community contributions. diff --git a/mail/qmail/patches/patch-ap b/mail/qmail/patches/patch-ap new file mode 100644 index 00000000000..d81694906d3 --- /dev/null +++ b/mail/qmail/patches/patch-ap @@ -0,0 +1,51 @@ +$NetBSD: patch-ap,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- sendmail.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ sendmail.c +@@ -45,6 +45,38 @@ void mailq() + _exit(111); + } + ++void do_sender(s) ++const char *s; ++{ ++ char *x; ++ int n; ++ int a; ++ int i; ++ ++ env_unset("QMAILNAME"); ++ env_unset("MAILNAME"); ++ env_unset("NAME"); ++ env_unset("QMAILHOST"); ++ env_unset("MAILHOST"); ++ ++ n = str_len(s); ++ a = str_rchr(s, '@'); ++ if (a == n) ++ { ++ env_put2("QMAILUSER", s); ++ return; ++ } ++ env_put2("QMAILHOST", s + a + 1); ++ ++ x = (char *) alloc((a + 1) * sizeof(char)); ++ if (!x) nomem(); ++ for (i = 0; i < a; i++) ++ x[i] = s[i]; ++ x[i] = 0; ++ env_put2("QMAILUSER", x); ++ alloc_free(x); ++} ++ + int flagh; + char *sender; + +@@ -118,6 +150,7 @@ char **argv; + if (sender) { + *arg++ = "-f"; + *arg++ = sender; ++ do_sender(sender); + } + *arg++ = "--"; + for (i = 0;i < argc;++i) *arg++ = argv[i]; diff --git a/mail/qmail/patches/patch-aq b/mail/qmail/patches/patch-aq new file mode 100644 index 00000000000..cf2c09685b5 --- /dev/null +++ b/mail/qmail/patches/patch-aq @@ -0,0 +1,12 @@ +$NetBSD: patch-aq,v 1.1 2004/04/10 05:30:06 schmonz Exp $ + +--- spawn.c.orig 1998-06-15 06:53:16.000000000 -0400 ++++ spawn.c +@@ -5,6 +5,7 @@ + #include "substdio.h" + #include "byte.h" + #include "str.h" ++#include "alloc.h" + #include "stralloc.h" + #include "select.h" + #include "exit.h" |