summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hanselmann <hansmi@gentoo.org>2005-07-14 21:35:24 +0000
committerMichael Hanselmann <hansmi@gentoo.org>2005-07-14 21:35:24 +0000
commitf4d0752854de5b4158f493127414815740486ee0 (patch)
treea1c8813f8b8c11f88a9ef59b509e90d2a95d0122 /mail-mta/qmail
parentFix #80617, #98944, add GRUB :root_device support and add a more versatile gr... (diff)
downloadhistorical-f4d0752854de5b4158f493127414815740486ee0.tar.gz
historical-f4d0752854de5b4158f493127414815740486ee0.tar.bz2
historical-f4d0752854de5b4158f493127414815740486ee0.zip
Added patch from bug 98961.
Package-Manager: portage-2.0.51.22-r1
Diffstat (limited to 'mail-mta/qmail')
-rw-r--r--mail-mta/qmail/ChangeLog7
-rw-r--r--mail-mta/qmail/Manifest5
-rw-r--r--mail-mta/qmail/files/1.03-r16/virtual-domain-outgoing-IP-address.patch115
-rw-r--r--mail-mta/qmail/qmail-1.03-r16.ebuild6
4 files changed, 128 insertions, 5 deletions
diff --git a/mail-mta/qmail/ChangeLog b/mail-mta/qmail/ChangeLog
index f9da1ab24049..87a0c2d61b24 100644
--- a/mail-mta/qmail/ChangeLog
+++ b/mail-mta/qmail/ChangeLog
@@ -1,6 +1,11 @@
# 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.49 2005/07/13 10:57:26 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/ChangeLog,v 1.50 2005/07/14 21:35:24 hansmi Exp $
+
+ 14 Jul 2005; Michael Hanselmann <hansmi@gentoo.org>
+ +files/1.03-r16/virtual-domain-outgoing-IP-address.patch,
+ qmail-1.03-r16.ebuild:
+ Added patch from bug 98961.
13 Jul 2005; Michael Hanselmann <hansmi@gentoo.org>
+files/1.03-r16/invalid-envelope-sender-log.patch, qmail-1.03-r16.ebuild:
diff --git a/mail-mta/qmail/Manifest b/mail-mta/qmail/Manifest
index 09d30a2c5ea9..1cf6e5cf8564 100644
--- a/mail-mta/qmail/Manifest
+++ b/mail-mta/qmail/Manifest
@@ -1,6 +1,6 @@
MD5 e60e7e9ed6a2c7d3a2ebcee6a6af429e metadata.xml 277
-MD5 75ba05369c12afae2a7387063e893ec1 ChangeLog 30117
-MD5 ccf21e632ca7355e5b68c07e6255a790 qmail-1.03-r16.ebuild 20523
+MD5 da5fd41f6c5c94ed7dbf785e28caf849 ChangeLog 30287
+MD5 52b1d0b825ef5a8768084aa6158066ce qmail-1.03-r16.ebuild 20557
MD5 669d7cf1db42929ca56071f9a8876415 qmail-1.03-r15.ebuild 18164
MD5 7db09ceb9337348431fb9f8418e5892e files/dot_qmail-log 276
MD5 180a513f34e3f00abc609672a190072c files/99qmail 137
@@ -52,6 +52,7 @@ MD5 a963429b55bc3713ff3a22674101dfdb files/1.03-r16/auth-after-tls-only.patch 22
MD5 c0d3c5bd70a49284eb8cc8a5f952202e files/1.03-r16/Makefile-relaymxlookup.patch 1988
MD5 0600d03067d6a112ff8fef64f8952f5c files/1.03-r16/qmail-1.03-env-servercert.patch 1306
MD5 a8f7776c6f7e51e1d23c5d086714b329 files/1.03-r16/invalid-envelope-sender-log.patch 418
+MD5 d59cac4ed0aeb4d5a5988634aaf34ab0 files/1.03-r16/virtual-domain-outgoing-IP-address.patch 4057
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 8f196c7649132af2c0c3745c1a5f1e9c files/1.03-r16/famd-dnotify.patch 555
diff --git a/mail-mta/qmail/files/1.03-r16/virtual-domain-outgoing-IP-address.patch b/mail-mta/qmail/files/1.03-r16/virtual-domain-outgoing-IP-address.patch
new file mode 100644
index 000000000000..e122b26a46d3
--- /dev/null
+++ b/mail-mta/qmail/files/1.03-r16/virtual-domain-outgoing-IP-address.patch
@@ -0,0 +1,115 @@
+diff -NuarbBw qmail-1.03.orig/qmail-qmqpc.c qmail-1.03/qmail-qmqpc.c
+--- qmail-1.03.orig/qmail-qmqpc.c 1998-06-15 03:53:16.000000000 -0700
++++ qmail-1.03/qmail-qmqpc.c 2005-07-14 01:00:24.000000000 -0700
+@@ -109,7 +109,7 @@
+ qmqpfd = socket(AF_INET,SOCK_STREAM,0);
+ if (qmqpfd == -1) die_socket();
+
+- if (timeoutconn(qmqpfd,&ip,PORT_QMQP,10) != 0) {
++ if (timeoutconn(qmqpfd,&ip, ( struct ip_address * ) 0, PORT_QMQP,10) != 0) { // JAK
+ lasterror = 73;
+ if (errno == error_timeout) lasterror = 72;
+ close(qmqpfd);
+diff -NuarbBw qmail-1.03.orig/qmail-remote.c qmail-1.03/qmail-remote.c
+--- qmail-1.03.orig/qmail-remote.c 2005-07-14 00:50:58.000000000 -0700
++++ qmail-1.03/qmail-remote.c 2005-07-14 01:01:22.000000000 -0700
+@@ -52,6 +52,9 @@
+ stralloc auth_b64_pass = {0};
+ stralloc auth_status = {0};
+
++stralloc smtphost = { 0 }; // JAK
++ipalloc smtpip = { 0 }; // JAK
++
+ saa reciplist = {0};
+
+ struct ip_address partner;
+@@ -902,9 +905,27 @@
+
+ addrmangle(&sender,argv[2],&flagalias,0);
+
++ // 'canonhost' now should contain the canonical name of the sender's host.
++ // Most of the time this is a local domain name, but sometimes the domain
++ // name of a forwarded email.
++
++ stralloc_copy ( &smtphost, &canonhost ); // JAK
++ dns_ip ( &smtpip, &smtphost ); // JAK
++
+ if (!saa_readyplus(&reciplist,0)) temp_nomem();
+ if (ipme_init() != 1) temp_oserr();
+
++ // JAK =>
++ // Check if the obtained SMTP IP address is one of the addresses
++ // on this machine. If it is, set 'helohost' to 'smtphost'.
++
++ if ( ipme_is ( &smtpip.ix -> ip ) )
++ stralloc_copy ( &helohost, &smtphost );
++ else
++ smtpip.ix -> ip.d [ 0 ] = smtpip.ix -> ip.d [ 1 ] = smtpip.ix -> ip.d [ 2 ] = smtpip.ix -> ip.d [ 3 ] = 0;
++
++ // JAK <=
++
+ flagallaliases = 1;
+ recips = argv + 3;
+ while (*recips) {
+@@ -951,7 +972,7 @@
+ if (smtpfd == -1) temp_oserr();
+
+ if (qmtp_priority(ip.ix[i].pref)) {
+- if (timeoutconn(smtpfd,&ip.ix[i].ip,(unsigned int) qmtp_port,timeoutconnect) == 0) {
++ if (timeoutconn(smtpfd,&ip.ix[i].ip, &smtpip.ix -> ip, (unsigned int) port,timeoutconnect) == 0) { // JAK
+ tcpto_err(&ip.ix[i].ip,0);
+ partner = ip.ix[i].ip;
+ qmtp(); /* does not return */
+diff -NuarbBw qmail-1.03.orig/remoteinfo.c qmail-1.03/remoteinfo.c
+--- qmail-1.03.orig/remoteinfo.c 1998-06-15 03:53:16.000000000 -0700
++++ qmail-1.03/remoteinfo.c 2005-07-14 01:00:24.000000000 -0700
+@@ -49,7 +49,7 @@
+ byte_copy(&sin.sin_addr,4,ipl);
+ sin.sin_port = 0;
+ if (bind(s,(struct sockaddr *) &sin,sizeof(sin)) == -1) { close(s); return 0; }
+- if (timeoutconn(s,ipr,113,timeout) == -1) { close(s); return 0; }
++ if (timeoutconn(s,ipr,ipl,113,timeout) == -1) { close(s); return 0; } // JAK
+ fcntl(s,F_SETFL,fcntl(s,F_GETFL,0) & ~O_NDELAY);
+
+ len = 0;
+diff -NuarbBw qmail-1.03.orig/timeoutconn.c qmail-1.03/timeoutconn.c
+--- qmail-1.03.orig/timeoutconn.c 1998-06-15 03:53:16.000000000 -0700
++++ qmail-1.03/timeoutconn.c 2005-07-14 01:00:24.000000000 -0700
+@@ -10,9 +10,10 @@
+ #include "byte.h"
+ #include "timeoutconn.h"
+
+-int timeoutconn(s,ip,port,timeout)
++int timeoutconn(s,ip,smtpip,port,timeout) // JAK
+ int s;
+ struct ip_address *ip;
++struct ip_address *smtpip; // JAK
+ unsigned int port;
+ int timeout;
+ {
+@@ -22,6 +23,25 @@
+ fd_set wfds;
+ struct timeval tv;
+
++ // JAK =>
++ // If 'smtpip' != 0.0.0.0 bind () it as outgoing SMTP IP address.
++
++ if ( ( smtpip != 0 ) &&
++ ( smtpip -> d [ 0 ] != 0 ) &&
++ ( smtpip -> d [ 1 ] != 0 ) &&
++ ( smtpip -> d [ 2 ] != 0 ) &&
++ ( smtpip -> d [ 3 ] != 0 ) )
++ {
++ byte_zero ( &sin, sizeof ( sin ) );
++ byte_copy ( &sin.sin_addr.s_addr, 4, smtpip );
++ sin.sin_family = AF_INET;
++
++ if ( bind ( s, ( struct sockaddr * ) &sin, sizeof ( sin ) ) )
++ return ( -1 );
++ }
++
++ // JAK <=
++
+ byte_zero(&sin,sizeof(sin));
+ byte_copy(&sin.sin_addr,4,ip);
+ x = (char *) &sin.sin_port;
diff --git a/mail-mta/qmail/qmail-1.03-r16.ebuild b/mail-mta/qmail/qmail-1.03-r16.ebuild
index 61dc9cd9ea6c..421942d8327b 100644
--- a/mail-mta/qmail/qmail-1.03-r16.ebuild
+++ b/mail-mta/qmail/qmail-1.03-r16.ebuild
@@ -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.24 2005/07/13 10:57:26 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/qmail/qmail-1.03-r16.ebuild,v 1.25 2005/07/14 21:35:24 hansmi Exp $
inherit toolchain-funcs eutils fixheadtails flag-o-matic
@@ -244,9 +244,11 @@ src_unpack() {
epatch ${FILESDIR}/${PVR}/qmail-1.03-env-servercert.patch
# Log invalid envelope senders (MAIL FROM:)
- EPATCH_SINGLE_MSG="Log invalid envelope senders" \
epatch ${FILESDIR}/${PVR}/invalid-envelope-sender-log.patch
+ # See bug 98961
+ epatch ${FILESDIR}/${PVR}/virtual-domain-outgoing-IP-address.patch
+
# See bug #90631
if use logmail; then
EPATCH_SINGLE_MSG='Enabling logging of all mails via ~alias/.qmail-log' \