New TLS/qregex patch from bug 56512
authorMichael Hanselmann <hansmi@gentoo.org>
Thu, 6 Jan 2005 20:28:27 +0000 (20:28 +0000)
committerMichael Hanselmann <hansmi@gentoo.org>
Thu, 6 Jan 2005 20:28:27 +0000 (20:28 +0000)
mail-mta/qmail/ChangeLog
mail-mta/qmail/Manifest
mail-mta/qmail/files/1.03-r16/Makefile-relaymxlookup.patch
mail-mta/qmail/files/1.03-r16/auth-after-tls-only.patch [new file with mode: 0644]
mail-mta/qmail/files/1.03-r16/nullenvsender-recipcount.tls.patch [new file with mode: 0644]
mail-mta/qmail/files/1.03-r16/qmail-1.03-accept-5xx.tls.patch [new file with mode: 0644]
mail-mta/qmail/files/1.03-r16/qmail-smtpd-relay-reject.gentoo.patch [new file with mode: 0644]
mail-mta/qmail/files/digest-qmail-1.03-r16
mail-mta/qmail/qmail-1.03-r16.ebuild

index 071e74514e15b802bed7c725451c4decd5d6d113..05bd85195ecf57d6a0d0b4771ce6d0193bbb1ecf 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for mail-mta/qmail
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/ChangeLog,v 1.22 2005/01/04 22:16:05 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/ChangeLog,v 1.23 2005/01/06 20:28:27 hansmi Exp $
+
+  06 Jan 2005; Michael Hanselmann <hansmi@gentoo.org>
+  files/1.03-r16/Makefile-relaymxlookup.patch,
+  +files/1.03-r16/auth-after-tls-only.patch,
+  +files/1.03-r16/nullenvsender-recipcount.tls.patch,
+  +files/1.03-r16/qmail-1.03-accept-5xx.tls.patch,
+  +files/1.03-r16/qmail-smtpd-relay-reject.gentoo.patch,
+  qmail-1.03-r16.ebuild:
+  Integrated latest TLS-patch and rediffed other patches, when needed.
 
   04 Jan 2005; Michael Hanselmann <hansmi@gentoo.org>
   +files/1.03-r15/tlsbeforeauth-fix.patch, qmail-1.03-r15.ebuild,
@@ -83,7 +92,7 @@
   qmail-1.03-r11.ebuild, qmail-1.03-r9.ebuild:
   Fix use invocation
 
-  05 Jun 2004; Bryan Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\98stergaard <kloeri@gentoo.org> qmail-1.03-r15.ebuild:
+  05 Jun 2004; Bryan Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\83Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\83Ã\83Â\82Ã\82Â\82Ã\83Â\83Ã\82Â\82Ã\83Â\82Ã\82Â\98stergaard <kloeri@gentoo.org> qmail-1.03-r15.ebuild:
   Stable on alpha.
 
   28 May 2004; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
index 1bd4a7897f5e2d10c59310a9f63ebf50174b4a48..a88679ee3cbf7415df303f8aa0791c75fc99023d 100644 (file)
@@ -2,8 +2,8 @@ MD5 326c3d12fa42f7d77ec25d0034c6386c qmail-1.03-r11.ebuild 11387
 MD5 b29fd46e11237b9ee8c69b705a91b1bf qmail-1.03-r8.ebuild 8060
 MD5 9d0c568ea32cf6b45797c6e7c82b4a67 metadata.xml 280
 MD5 d18a1222087e80a39b2588e0f12e6e13 qmail-1.03-r10.ebuild 11111
-MD5 1e8f3938945e5c1ce7516246b1df8fa9 ChangeLog 21194
-MD5 c1ba22b8b7547ad00c37bb520e49a49a qmail-1.03-r16.ebuild 19662
+MD5 93dbb206db72d7929bc3798556de27e9 ChangeLog 21855
+MD5 5e8d5ae301f48a1a9f73c412e777a160 qmail-1.03-r16.ebuild 20342
 MD5 48561c5b6846d4b381dfdd498b1955f4 qmail-1.03-r9.ebuild 9887
 MD5 a0cae8f720499509864d8c17c7aac5a3 qmail-1.03-r12.ebuild 13710
 MD5 f322d995494a3c1b6198916537b6b907 qmail-1.03-r14.ebuild 15817
@@ -46,7 +46,7 @@ MD5 0d96233f19a26e578c44e9d87f9e80eb files/digest-qmail-1.03-r12 1359
 MD5 24d7af84c757b2892e51d1f88a264983 files/mkservercert 1425
 MD5 ae967da8c38fde8f69960392f89e262f files/conf-pop3d 1207
 MD5 15cef40ec6b06900d3a2cbff9a2c0968 files/run-qmailqmqpd 839
-MD5 25c7f01a56d3c9de72ab55cd3697b2e5 files/digest-qmail-1.03-r16 1954
+MD5 a23b453ea7fc82666b99ca689f1cd21a files/digest-qmail-1.03-r16 1963
 MD5 c369664bce0646b3d323d08f9ba5b8ce files/dot_qmail 82
 MD5 cc5c84d3a0837007b8af4a1f2e657872 files/1.03-r14/auth-after-tls-only.patch 2151
 MD5 9fa1fc2153d5a4659ddf02d9e3a1f9ba files/1.03-r14/qmail-pop3d-stat.tls.patch 750
@@ -71,12 +71,16 @@ MD5 abc975ae7274a2b5332231ba3f78db76 files/1.03-r8/qmail-linksync.patch 1363
 MD5 834dad5113515d0f00981fdc1d07fa84 files/1.03-r8/run-qmailsendlog 96
 MD5 b24f4dbd450d2d4eddc75ba19cebb915 files/1.03-r8/defaultdelivery 34
 MD5 c378c5845848ee31d70f0d05cbcf86be files/1.03-r8/dot_qmail 12
-MD5 aa1f60fd8b7d154da1e7d7a6fab422ce files/1.03-r16/Makefile-relaymxlookup.patch 1691
+MD5 a963429b55bc3713ff3a22674101dfdb files/1.03-r16/auth-after-tls-only.patch 2241
+MD5 7a73d3a9a0a19536f2bb673f34b4f2fa files/1.03-r16/Makefile-relaymxlookup.patch 1988
 MD5 dbfe7d95b274567088123575d5da00ba files/1.03-r16/gentoo-qmail-1.03-r16-logging-with-smtpauth.patch 571
+MD5 a1e8f454e96a2b23e9daae34fa6b6b5e files/1.03-r16/qmail-1.03-accept-5xx.tls.patch 930
 MD5 fe189f1c8c28ae8b15bde3f8bb169997 files/1.03-r16/gentoo-qmail-1.03-r16-logrelay.patch 454
+MD5 d48eeee899c7999925dd64afd4109269 files/1.03-r16/nullenvsender-recipcount.tls.patch 1479
 MD5 72c4027c99c19158d4bbe3ed77efcae6 files/1.03-r16/double-bounce-trim.patch 1662
 MD5 a8af4cf9b59e294737987624bc917e80 files/1.03-r16/smtpplugins 614
 MD5 81330827d80408f9bb6eab01857849dc files/1.03-r16/starttls-recordio.patch 390
+MD5 b968f9de39ff3cac7e6abbd8705af5f2 files/1.03-r16/qmail-smtpd-relay-reject.gentoo.patch 1206
 MD5 f43900d79a0aacb5e0d71b0bb6c06fea files/1.03-r9/run-qmailsmtpdlog 97
 MD5 23a2babf3049fe012de21c17e550b3e5 files/1.03-r9/run-qmailsend 29
 MD5 71aa0894c118dda3405f1f847944158c files/1.03-r9/qmail-queue.patch 1512
index 0a71a554baccb825e9173aaec734c35d305417ab..d9e0f3f18cd088cac7f6b1093ef40c0d6c73e82d 100644 (file)
@@ -1,6 +1,11 @@
---- qmail-1.03/Makefile.orig   2005-01-02 22:50:46.939208400 +0100
-+++ qmail-1.03/Makefile        2005-01-02 22:54:48.066551472 +0100
-@@ -1454,7 +1454,8 @@
+--- qmail-1.03.orig/Makefile   2005-01-06 15:49:11.587196496 +0100
++++ qmail-1.03/Makefile        2005-01-06 16:16:17.527016072 +0100
+@@ -1436,11 +1450,12 @@
+ load qmail-qmtpd.o rcpthosts.o control.o constmap.o received.o \
+ date822fmt.o now.o qmail.o cdb.a fd.a wait.a datetime.a open.a \
+ getln.a sig.a case.a env.a stralloc.a alloc.a substdio.a error.a \
+-str.a fs.a auto_qmail.o
++str.a fs.a auto_qmail.o dns.o ip.h ipalloc.h ipme.h byte_diff.o
        ./load qmail-qmtpd rcpthosts.o control.o constmap.o \
        received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a \
        datetime.a open.a getln.a sig.a case.a env.a stralloc.a \
  
  qmail-qmtpd.0: \
  qmail-qmtpd.8
-@@ -1617,13 +1618,13 @@
+@@ -1603,14 +1618,14 @@
  timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o received.o \
  date822fmt.o now.o qmail.o cdb.a fd.a wait.a datetime.a getln.a \
  open.a sig.a case.a env.a stralloc.a alloc.a strerr.a substdio.a error.a str.a \
--fs.a auto_qmail.o base64.o socket.lib dns.lib
-+fs.a auto_qmail.o base64.o socket.lib dns.lib dns.o ip.h ipalloc.h
+-fs.a auto_qmail.o base64.o socket.lib
++fs.a auto_qmail.o base64.o socket.lib dns.o ip.h ipalloc.h
        ./load qmail-smtpd qregex.o rcpthosts.o commands.o timeoutread.o \
        timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o \
+       tls.o ssl_timeoutio.o ndelay.a -L/usr/local/ssl/lib -lssl -lcrypto \
        received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a \
        datetime.a getln.a open.a sig.a case.a env.a stralloc.a \
 -      alloc.a strerr.a substdio.a error.a str.a fs.a auto_qmail.o base64.o  `cat \
--      socket.lib` dns.o `cat dns.lib` -lssl -lcrypto
+-      socket.lib`
 +      alloc.a strerr.a substdio.a error.a fs.a auto_qmail.o base64.o  `cat \
-+      socket.lib` -lssl -lcrypto dns.o str.a `cat dns.lib`
++      socket.lib` dns.o str.a `cat dns.lib`
  
  qmail-smtpd.0: \
  qmail-smtpd.8
-@@ -1760,7 +1761,7 @@
+@@ -1746,7 +1761,7 @@
  
  rcpthosts.o: \
  compile rcpthosts.c cdb.h uint32.h byte.h open.h error.h control.h \
diff --git a/mail-mta/qmail/files/1.03-r16/auth-after-tls-only.patch b/mail-mta/qmail/files/1.03-r16/auth-after-tls-only.patch
new file mode 100644 (file)
index 0000000..9d61824
--- /dev/null
@@ -0,0 +1,73 @@
+diff --unidirectional-new-file -ur qmail-1.03.orig/qmail-smtpd.c qmail-1.03/qmail-smtpd.c
+--- qmail-1.03.orig/qmail-smtpd.c      2005-01-06 00:42:51.960376640 +0100
++++ qmail-1.03/qmail-smtpd.c   2005-01-06 00:53:58.174096760 +0100
+@@ -150,6 +150,7 @@
+ int err_noauth() { out("504 auth type unimplemented (#5.5.1)\r\n"); return -1; }
+ int err_authabrt() { out("501 auth exchange canceled (#5.0.0)\r\n"); return -1; }
+ int err_input() { out("501 malformed auth input (#5.5.4)\r\n"); return -1; }
++int err_wantstarttls() { out("530 Must issue a STARTTLS command first (#5.7.0)\r\n"); return -1; };
+ void err_authfail() { out("535 authentication failed (#5.7.1)\r\n"); }
+ 
+ stralloc greeting = {0};
+@@ -494,6 +495,13 @@
+   seenmail = 0; dohelo(arg);
+   if (bhelook) flagbarfbhelo = bmcheck(BMCHECK_BHELO);
+ }
++void smtp_authout() {
++#ifdef CRAM_MD5
++  out("250-AUTH LOGIN PLAIN CRAM-MD5\r\n");
++#else
++  out("250-AUTH LOGIN PLAIN\r\n");
++#endif
++}
+ /* ESMTP extensions are published here */
+ void smtp_ehlo(arg) char *arg;
+ {
+@@ -504,12 +512,12 @@
+   if (!ssl) out("\r\n250-STARTTLS");
+ #endif
+   out("\r\n250-PIPELINING\r\n250-8BITMIME\r\n");
+-  out("250-SIZE "); out(size); out("\r\n");
+-#ifdef CRAM_MD5
+-  out("250 AUTH LOGIN PLAIN CRAM-MD5\r\n");
++#if defined(TLS) && defined(TLS_BEFORE_AUTH)
++  if(ssl) smtp_authout();
+ #else
+-  out("250 AUTH LOGIN PLAIN\r\n");
++  smtp_authout();
+ #endif
++  out("250 SIZE "); out(size); out("\r\n");
+   seenmail = 0; dohelo(arg);
+   if (bhelook) flagbarfbhelo = bmcheck(BMCHECK_BHELO);
+ }
+@@ -796,6 +804,9 @@
+ {
+   int r;
+ 
++#if defined(TLS) && defined(TLS_BEFORE_AUTH)
++  if (!ssl) return err_wantstarttls();
++#endif
+   if (*arg) {
+     if (r = b64decode(arg,str_len(arg),&user) == 1) return err_input();
+   }
+@@ -820,6 +831,9 @@
+ {
+   int r, id = 0;
+ 
++#if defined(TLS) && defined(TLS_BEFORE_AUTH)
++  if (!ssl) return err_wantstarttls();
++#endif
+   if (*arg) {
+     if (r = b64decode(arg,str_len(arg),&resp) == 1) return err_input();
+   }
+@@ -846,6 +860,10 @@
+   int i, r;
+   char *s;
+ 
++#if defined(TLS) && defined(TLS_BEFORE_AUTH)
++  if (!ssl) return err_wantstarttls();
++#endif
++
+   s = unique;                                           /* generate challenge */
+   s += fmt_uint(s,getpid());
+   *s++ = '.';
diff --git a/mail-mta/qmail/files/1.03-r16/nullenvsender-recipcount.tls.patch b/mail-mta/qmail/files/1.03-r16/nullenvsender-recipcount.tls.patch
new file mode 100644 (file)
index 0000000..56406de
--- /dev/null
@@ -0,0 +1,43 @@
+diff --unidirectional-new-file -ur qmail-1.03.orig/qmail-smtpd.c qmail-1.03/qmail-smtpd.c
+--- qmail-1.03.orig/qmail-smtpd.c      2005-01-06 01:22:13.841316160 +0100
++++ qmail-1.03/qmail-smtpd.c   2005-01-06 01:25:34.862756256 +0100
+@@ -132,6 +132,7 @@
+   out(" (#5.7.1)\r\n");
+ }
+ #endif
++void err_badbounce() { out("550 sorry, bounce messages should have a single envelope recipient (#5.7.1)\r\n"); }
+ void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
+ void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
+ void err_relay() { out("553 we don't relay (#5.7.1)\r\n"); }
+@@ -429,6 +430,7 @@
+ stralloc rcptto = {0};
+ stralloc fuser = {0};
+ stralloc mfparms = {0};
++int recipcount;
+ 
+ int mailfrom_size(arg) char *arg;
+ {
+@@ -541,6 +543,7 @@
+   if (!stralloc_copys(&rcptto,"")) die_nomem();
+   if (!stralloc_copys(&mailfrom,addr.s)) die_nomem();
+   if (!stralloc_0(&mailfrom)) die_nomem();
++  recipcount = 0;
+   out("250 ok\r\n");
+ }
+ void smtp_rcpt(arg) char *arg; {
+@@ -580,6 +583,7 @@
+   if (!stralloc_cats(&rcptto,"T")) die_nomem();
+   if (!stralloc_cats(&rcptto,addr.s)) die_nomem();
+   if (!stralloc_0(&rcptto)) die_nomem();
++  recipcount++;
+   out("250 ok\r\n");
+ }
+ 
+@@ -696,6 +700,7 @@
+  
+   if (!seenmail) { err_wantmail(); return; }
+   if (!rcptto.len) { err_wantrcpt(); return; }
++  if (mailfrom.len == 1 && recipcount > 1) { err_badbounce(); return; }
+   if (flagbrt) { err_brt(); return; }
+   seenmail = 0;
+   if (databytes) bytestooverflow = databytes + 1;
diff --git a/mail-mta/qmail/files/1.03-r16/qmail-1.03-accept-5xx.tls.patch b/mail-mta/qmail/files/1.03-r16/qmail-1.03-accept-5xx.tls.patch
new file mode 100644 (file)
index 0000000..212cab3
--- /dev/null
@@ -0,0 +1,25 @@
+diff --unidirectional-new-file -ur qmail-1.03.orig/qmail-remote.c qmail-1.03/qmail-remote.c
+--- qmail-1.03.orig/qmail-remote.c     2005-01-06 01:17:21.706727368 +0100
++++ qmail-1.03/qmail-remote.c  2005-01-06 01:18:45.802942800 +0100
+@@ -553,7 +553,9 @@
+   if (!smtps)
+ #endif
+  
+-  if (smtpcode() != 220) quit("ZConnected to "," but greeting failed");
++  code = smtpcode();
++  if (code >= 500) quit("DConnected to "," but greeting failed");
++  if (code != 220) quit("ZConnected to "," but greeting failed");
+  
+ #ifdef EHLO
+ # ifdef TLS
+@@ -580,7 +582,9 @@
+   substdio_put(&smtpto,helohost.s,helohost.len);
+   substdio_puts(&smtpto,"\r\n");
+   substdio_flush(&smtpto);
+-  if (smtpcode() != 250) quit("ZConnected to "," but my name was rejected");
++  code = smtpcode();
++  if (code >= 500) quit("DConnected to "," but my name was rejected");
++  if (code != 250) quit("ZConnected to "," but my name was rejected");
+  
+ #ifdef EHLO
+   }
diff --git a/mail-mta/qmail/files/1.03-r16/qmail-smtpd-relay-reject.gentoo.patch b/mail-mta/qmail/files/1.03-r16/qmail-smtpd-relay-reject.gentoo.patch
new file mode 100644 (file)
index 0000000..2ef8612
--- /dev/null
@@ -0,0 +1,39 @@
+--- qmail-1.03.orig/qmail-smtpd.c      2005-01-05 23:08:02.724271992 +0100
++++ qmail-1.03/qmail-smtpd.c   2005-01-05 23:09:00.374507824 +0100
+@@ -94,6 +94,7 @@
+ #endif
+ void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
+ void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
++void err_relay() { out("553 we don't relay (#5.7.1)\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"); }
+@@ -331,6 +332,20 @@
+   return r;
+ }
+ 
++int addrrelay()
++{
++  int j;
++  j = addr.len;
++  while(--j >= 0)
++    if (addr.s[j] == '@') break;
++  if (j < 0) j = addr.len;
++  while(--j >= 0) {
++    if (addr.s[j] == '@') return 1;
++    if (addr.s[j] == '%') return 1;
++    if (addr.s[j] == '!') return 1;
++  }
++  return 0;
++}
+ 
+ int seenmail = 0;
+ int flagbarfbmf; /* defined if seenmail */
+@@ -451,6 +466,7 @@
+ void smtp_rcpt(arg) char *arg; {
+   if (!seenmail) { err_wantmail(); return; }
+   if (!addrparse(arg)) { err_syntax(); return; }
++  if (addrrelay()) { err_relay(); return; }
+   if (flagbarfbhelo) {
+     strerr_warn4("qmail-smtpd: badhelo: <",helohost.s,"> at ",remoteip,0);
+     err_bhelo();
index 14019df2b6cc36034ec7c57390881ee3b363eba4..75c8a564189f3dfc1e65ee4985023b8de012d3c0 100644 (file)
@@ -12,9 +12,9 @@ MD5 413be7bb5b407c2964c3275c4d596947 qmail-maildir++.patch 43512
 MD5 d566e8bd99b33efee0194e855b8d6995 qmail-date-localtime.patch.txt 2603
 MD5 1c4518f780d231bde9745cdd0fa313b2 qmail-limit-bounce-size.patch.txt 1753
 MD5 9140ad2b03017145cd7963c84bb24f16 qmail-103.patch 2104
-MD5 83bf5c4a4aade3c6c15faa9665ccfb71 qregex-starttls-2way-auth.patch 63825
+MD5 bd4ac5850a50d0c002cb1a13b1885b60 qregex-starttls-2way-auth-20041230.patch 97384
 MD5 1d8b89607d35bfa409f8cfe6d23bc554 qmail-remote-auth-patch-doc.txt 1287
-MD5 fc00be3edc2827f1c93112d7d5147122 qmail-gentoo-1.03-r12-badrcptto-morebadrcptto-accdias.diff.bz2 4524
+MD5 750183fbd36b0fe7bf3e2edf9ec9ca2f qmail-gentoo-1.03-r16-badrcptto-morebadrcptto-accdias.diff.bz2 4736
 MD5 58d912de1ede57062fa8a3e2e0e75abf qmail-popupnofd2close.patch 401
 MD5 d7151dcbeb02eea1c24c1dedffe20e0b qmail-1.03-reread-concurrency.2.patch 1129
 MD5 ad597c93426c0938fdb36d853fbcf40d 08-capa.diff 1323
@@ -22,7 +22,7 @@ MD5 00084ddd52a3665b65f2db20a773b382 qmail-hold-1.03.pat.gz 1596
 MD5 68e7697fd61d7cd9a5a7dc88ce2ecd47 netscape-progress.patch 1457
 MD5 598aca7a3a99426d1f49079172986b31 sendmail-ignore-N.patch 636
 MD5 2bd191cca4e640e87cca79bc0405f97a qmail-1.03-moreipme-0.6pre1-gentoo.patch 13942
-MD5 d96455aaed208e9cd450d8874564781b qmail-relaymxlookup-0.3.diff 3856
+MD5 d9408411822973415ff10018ff4419be qmail-relaymxlookup-0.4.diff 3728
 MD5 d898fbb2b4cb259b208dbb8c9d8c47a9 gentoo-qmail-1.03-r16-mfcheck.3.patch 4223
 MD5 95692f3a7574f258489943ca9d09981a gentoo-qmail-1.03-r16-spp.034.patch 34568
 MD5 a6d05602399a51f6133c7ff19142b7c8 qmail-bounce-encap-20040210.patch 4238
index e8b0c8d6e85cbdff3fc534d7d798f5106b4ceb30..b41cfd1038add7c102a123d4785e35a06771ecba 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/qmail-1.03-r16.ebuild,v 1.6 2005/01/04 22:16:05 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/qmail-1.03-r16.ebuild,v 1.7 2005/01/06 20:28:27 hansmi Exp $
 
 inherit toolchain-funcs eutils fixheadtails
 
@@ -23,9 +23,9 @@ SRC_URI="mirror://qmail/${P}.tar.gz
        ftp://ftp.pipeline.com.au/pipeint/sources/linux/WebMail/qmail-date-localtime.patch.txt
        ftp://ftp.pipeline.com.au/pipeint/sources/linux/WebMail/qmail-limit-bounce-size.patch.txt
        http://www.ckdhr.com/ckd/qmail-103.patch
-       http://www.arda.homeunix.net/store/old_software/qregex-starttls-2way-auth.patch
+       http://www.arda.homeunix.net/store/qmail/qregex-starttls-2way-auth-20041230.patch
        http://www.soffian.org/downloads/qmail/qmail-remote-auth-patch-doc.txt
-       mirror://gentoo/qmail-gentoo-1.03-r12-badrcptto-morebadrcptto-accdias.diff.bz2
+       mirror://gentoo/qmail-gentoo-1.03-r16-badrcptto-morebadrcptto-accdias.diff.bz2
        http://www.dataloss.nl/software/patches/qmail-popupnofd2close.patch
        http://js.hu/package/qmail/qmail-1.03-reread-concurrency.2.patch
        http://www.mcmilk.de/qmail/dl/djb-qmail/patches/08-capa.diff
@@ -33,7 +33,7 @@ SRC_URI="mirror://qmail/${P}.tar.gz
        mirror://qmail/netscape-progress.patch
        http://www-dt.e-technik.uni-dortmund.de/~ma/djb/qmail/sendmail-ignore-N.patch
        mirror://gentoo/qmail-1.03-moreipme-0.6pre1-gentoo.patch
-       http://hansmi.ch/download/qmail/qmail-relaymxlookup-0.3.diff
+       http://hansmi.ch/download/qmail/qmail-relaymxlookup-0.4.diff
        mirror://gentoo/gentoo-qmail-1.03-r16-mfcheck.3.patch
        mirror://gentoo/gentoo-qmail-1.03-r16-spp.034.patch
        http://www.finnie.org/software/qmail-bounce-encap/qmail-bounce-encap-20040210.patch
@@ -76,15 +76,22 @@ src_unpack() {
        # This makes life easy
        EPATCH_OPTS="-d ${S}"
 
+       # Let the system decide how to define errno
+       epatch ${FILESDIR}/errno.patch
+
        # this patch merges a few others already
        EPATCH_SINGLE_MSG="Adding SMTP AUTH (2 way), Qregex and STARTTLS support" \
-       epatch ${DISTDIR}/qregex-starttls-2way-auth.patch
+       EPATCH_OPTS="${EPATCH_OPTS} -F 3" \
+       epatch ${DISTDIR}/qregex-starttls-2way-auth-20041230.patch
+       #epatch ${DISTDIR}/qregex-starttls-2way-auth.patch
        # bug #30570
-       EPATCH_SINGLE_MSG="Fixing a memory leak in Qregex support" \
-       epatch ${FILESDIR}/${MY_PVR}/qmail-1.03-qregex-memleak-fix.patch
+       #EPATCH_SINGLE_MSG="Fixing a memory leak in Qregex support" \
+       # TODO hansmi, 2005-01-06: no longer required
+       #epatch ${FILESDIR}/${MY_PVR}/qmail-1.03-qregex-memleak-fix.patch
 
        # Fixes a problem when utilizing "morercpthosts"
-       epatch ${FILESDIR}/${MY_PVR}/smtp-auth-close3.patch
+       # TODO hansmi, 2005-01-06: no longer required
+       #epatch ${FILESDIR}/${MY_PVR}/smtp-auth-close3.patch
 
        # patch so an alternate queue processor can be used
        # i.e. - qmail-scanner
@@ -119,9 +126,6 @@ src_unpack() {
        # Treat 0.0.0.0 as a local address
        epatch ${DISTDIR}/qmail-1.03-0.0.0.0-0.2.patch
 
-       # Let the system decide how to define errno
-       epatch ${FILESDIR}/errno.patch
-
        # holdremote support
        # pre-process to remove the header added upstream
        zcat ${DISTDIR}/qmail-hold-1.03.pat.gz | sed '123,150d' >${T}/qmail-hold-1.03.patch
@@ -133,9 +137,6 @@ src_unpack() {
        # Apply patch to make qmail-local and qmail-pop3d compatible with the
        # maildir++ quota system that is used by vpopmail and courier-imap
        epatch ${DISTDIR}/qmail-maildir++.patch
-       # fix a typo in the patch
-       # upstream has changed the patch and this isn't needed anymore
-       #epatch ${FILESDIR}/${MY_PVR}/maildir-quota-fix.patch
 
        # Apply patch for local timestamps.
        # This will make the emails headers be written in localtime rather than GMT
@@ -150,23 +151,29 @@ src_unpack() {
        # This helps your server to be able to reject excessively large messages
        # "up front", rather than waiting the whole message to arrive and then
        # bouncing it because it exceeded your databytes setting
-       epatch ${FILESDIR}/${MY_PVR}/qmail-smtpd-esmtp-size-gentoo.patch
+       #
+       # hansmi, 2005-01-05: no longer needed as this patch is now included
+       # in qregex-starttls-2way-auth
+       #epatch ${FILESDIR}/${MY_PVR}/qmail-smtpd-esmtp-size-gentoo.patch
 
        #TODO TEST
        # Reject some bad relaying attempts
        # gentoo bug #18064
-       epatch ${FILESDIR}/${MY_PVR}/qmail-smtpd-relay-reject.gentoo.patch
+       epatch ${FILESDIR}/${PVR}/qmail-smtpd-relay-reject.gentoo.patch
 
        #TODO TEST HEAVILY AS THIS PATCH WAS CUSTOM FIXED
        # provide badrcptto support
        # as per bug #17283
        # patch re-diffed from original at http://sys.pro.br/files/badrcptto-morebadrcptto-accdias.diff.bz2
-       epatch ${DISTDIR}/qmail-gentoo-1.03-r12-badrcptto-morebadrcptto-accdias.diff.bz2
+       # TODO hansmi, 2005-01-06: rediffed for r16
+       epatch ${DISTDIR}/qmail-gentoo-1.03-r16-badrcptto-morebadrcptto-accdias.diff.bz2
 
        # bug #31426
-       # original submission by shadow@ines.ro, cleaned up by robbat2@gentoo.org
-       # only allows AUTH after STARTTLS, if compiled TLS && TLS_BEFORE_AUTH defines
-       epatch ${FILESDIR}/${MY_PVR}/auth-after-tls-only.patch
+       # original submission by shadow@ines.ro, cleaned up by robbat2@gentoo.org,
+       # redone for r16 by hansmi@gentoo.org
+       # only allows AUTH after STARTTLS when compiled with TLS and TLS_BEFORE_AUTH
+       # defined
+       epatch ${FILESDIR}/${PVR}/auth-after-tls-only.patch
 
        EPATCH_SINGLE_MSG="Enable stderr logging from checkpassword programs" \
        epatch ${DISTDIR}/qmail-popupnofd2close.patch
@@ -183,18 +190,19 @@ src_unpack() {
        epatch ${DISTDIR}/sendmail-ignore-N.patch
 
        # rediff of original at http://www.qmail.org/accept-5xx.patch
-       epatch ${FILESDIR}/${MY_PVR}/qmail-1.03-accept-5xx.tls.patch
+       epatch ${FILESDIR}/${PVR}/qmail-1.03-accept-5xx.tls.patch
 
        # rediffed from original at http://www.qcc.ca/~charlesc/software/misc/nullenvsender-recipcount.patch
        # because of TLS
        EPATCH_SINGLE_MSG="Refuse messages from the null envelope sender if they have more than one envelope recipient" \
-       epatch ${FILESDIR}/${MY_PVR}/nullenvsender-recipcount.tls.patch
+       epatch ${FILESDIR}/${PVR}/nullenvsender-recipcount.tls.patch
 
        # rediffed from original at http://www.dataloss.nl/software/patches/qmail-pop3d-stat.patch
        # because of TLS
        EPATCH_SINGLE_MSG="qmail-pop3d reports erroneous figures on STAT after a DELE" \
        epatch ${FILESDIR}/${MY_PVR}/qmail-pop3d-stat.tls.patch
 
+       # this can unintentionally leak information about your system!
        EPATCH_SINGLE_MSG="Branding qmail with Gentoo identifier 'Gentoo Linux ${PF}'" \
        epatch ${FILESDIR}/${MY_PVR}/qmail-gentoo-branding.patch
        sed -e "s/__PF__/${PF}/" -i ${S}/qmail-smtpd.c
@@ -210,27 +218,28 @@ src_unpack() {
        # add SPP framework for future extensions. Once this has been tested, most
        # other patches may be rewritten to add a SPP module instead of patching
        # qmail-smtpd
-       EPATCH_SINGLE_MSG="Adding SPP framework for qmail-smtpd" \
-       epatch ${DISTDIR}/gentoo-qmail-${PVR}-spp.034.patch
+       #EPATCH_SINGLE_MSG="Adding SPP framework for qmail-smtpd" \
+       #epatch ${DISTDIR}/gentoo-qmail-${PVR}-spp.034.patch
 
        # add mail from DNS check
-       EPATCH_SINGLE_MSG="check envelope sender's domain for validity" \
-       epatch ${DISTDIR}/gentoo-qmail-${PVR}-mfcheck.3.patch
+       #EPATCH_SINGLE_MSG="check envelope sender's domain for validity" \
+       #epatch ${DISTDIR}/gentoo-qmail-${PVR}-mfcheck.3.patch
 
        # log relay attempts
-       EPATCH_SINGLE_MSG="log relay attempts" \
-       epatch ${FILESDIR}/${PVR}/gentoo-qmail-${PVR}-logrelay.patch
+       #EPATCH_SINGLE_MSG="log relay attempts" \
+       #epatch ${FILESDIR}/${PVR}/gentoo-qmail-${PVR}-logrelay.patch
 
-       # Rediffed patch to prevent from a problem which can
-       # happen when using NAT. Rediffed by hansmi@gentoo.org.
+       # Rediffed patch to prevent from the problem that qmail doesn't know
+       # that it is reachable under another IP address when using NAT.
        # See http://www.suspectclass.com/~sgifford/qmail/qmail-moreipme-0.6.README
+       # Rediffed by hansmi@gentoo.org.
        EPATCH_SINGLE_MSG="Adding moreipme-patch" \
        epatch ${DISTDIR}/qmail-1.03-moreipme-0.6pre1-gentoo.patch
 
-       # Patch to look up the mx before relaying
+       # Patch to look up the MX before relaying
        # Look at http://hansmi.ch/software/qmail
        EPATCH_SINGLE_MSG="Adding relaymxlookup-patch" \
-       epatch ${DISTDIR}/qmail-relaymxlookup-0.3.diff
+       epatch ${DISTDIR}/qmail-relaymxlookup-0.4.diff
        epatch ${FILESDIR}/${PVR}/Makefile-relaymxlookup.patch
 
        # Fix a bug on ia64, see bug 68173
@@ -240,18 +249,21 @@ src_unpack() {
 
        # Added due to bug 38849
        EPATCH_SINGLE_MSG="Adding qmail-bounce-encap to encapsulate bounces in rfc822 messages" \
+       EPATCH_OPTS="${EPATCH_OPTS} -F 3" \
        epatch ${DISTDIR}/qmail-bounce-encap-20040210.patch
 
        # Fixes bug 40521
-       epatch ${FILESDIR}/${PVR}/starttls-recordio.patch
+       # TODO Should be fixed with new TLS-patch
+       #epatch ${FILESDIR}/${PVR}/starttls-recordio.patch
 
        # Add double-bounce-trim-patch from bug 45782
        EPATCH_SINGLE_MSG="Adding double-bounce-trim-patch" \
        epatch ${FILESDIR}/${PVR}/double-bounce-trim.patch
 
        # Fixes bug 40010
-       EPATCH_SINGLE_MSG="Fixing broken #ifdef's to #if (TLS && TLS_BEFORE_AUTH)" \
-       epatch ${FILESDIR}/${PV}-r15/tlsbeforeauth-fix.patch
+       # TODO hansmi, 2005-01-06: no longer needed because auth-after-tls-only is fixed
+       #EPATCH_SINGLE_MSG="Fixing broken #ifdef's to #if (TLS && TLS_BEFORE_AUTH)" \
+       #epatch ${FILESDIR}/${PV}-r15/tlsbeforeauth-fix.patch
 
        echo -n "$(tc-getCC) ${CFLAGS}" >${S}/conf-cc
        if use ssl; then
@@ -270,10 +282,10 @@ src_unpack() {
 
        # fix bug #33818
        if use noauthcram; then
-               einfo "Disabling AUTHCRAM support"
-               sed -e 's,^#define AUTHCRAM$,//&,' -i ${S}/qmail-smtpd.c
+               einfo "Disabling CRAM_MD5 support"
+               sed -e 's,^#define CRAM_MD5$,//&,' -i ${S}/qmail-smtpd.c
        else
-               einfo "Enabling AUTHCRAM support"
+               einfo "Enabling CRAM_MD5 support"
        fi
 
        echo -n "$(tc-getCC) ${LDFLAGS}" > ${S}/conf-ld
@@ -283,8 +295,9 @@ src_unpack() {
        ht_fix_file ${S}/Makefile
 
        # fix bug #74124
-       EPATCH_SINGLE_MSG="fixing stderr logging for checkpassword to enable qmail-queue to continue logging" \
-       epatch ${FILESDIR}/${PVR}/gentoo-qmail-1.03-r16-logging-with-smtpauth.patch
+       # TODO hansmi, 2005-01-06: should not be required anymore
+       #EPATCH_SINGLE_MSG="fixing stderr logging for checkpassword to enable qmail-queue to continue logging" \
+       #epatch ${FILESDIR}/${PVR}/gentoo-qmail-1.03-r16-logging-with-smtpauth.patch
 }
 
 src_compile() {
@@ -528,7 +541,6 @@ pkg_preinst() {
 }
 
 pkg_config() {
-
        # avoid some weird locale problems
        export LC_ALL="C"
 
@@ -542,7 +554,7 @@ pkg_config() {
        fi
 
        einfo "Accepting relaying by default from all ips configured on this machine."
-       LOCALIPS=`/sbin/ifconfig  | grep inet | cut -d' ' -f 12 -s | cut -b 6-20`
+       LOCALIPS=`/sbin/ifconfig | grep inet | cut -d' ' -f 12 -s | cut -b 6-20`
        TCPSTRING=":allow,RELAYCLIENT=\"\",RBLSMTPD=\"\""
        for ip in $LOCALIPS; do
                myline="${ip}${TCPSTRING}"
@@ -560,8 +572,10 @@ pkg_config() {
                /var/qmail/bin/mkservercert
                einfo "If you want to have a properly signed certificate "
                einfo "instead, do the following:"
-               einfo "openssl req -new -nodes -out req.pem \\"
-               einfo "-config /var/qmail/control/servercert.cnf \\"
+               # space at the end of the string because of the current implementation
+               # of einfo
+               einfo "openssl req -new -nodes -out req.pem \\ "
+               einfo "-config /var/qmail/control/servercert.cnf \\ "
                einfo "-keyout /var/qmail/control/servercert.pem"
                einfo "Send req.pem to your CA to obtain signed_req.pem, and do:"
                einfo "cat signed_req.pem >> /var/qmail/control/servercert.pem"