Your message dated Mon, 26 Nov 2012 21:55:57 +0000
with message-id <[email protected]>
and subject line Bug#692558: Removed package(s) from unstable
has caused the Debian Bug report #316115,
regarding qmail-src: please consider adding mfcheck patch
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
316115: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=316115
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: qmail-src
Version: 1.03-38
Severity: wishlist
Tags: patch
Hi Jon!
Please consider adding mfcheck (or similar) patch to debian-qmail. It's
short patch, which adds capability to check validity of envelope sender's
domain (DNS lookup). It's behavior is controlled by control file and
environment variable (disabled by default).
Patch is available from:
http://www.jms1.net/qmail/patches/qmail-1.03-mfcheck.3.patch
Short description can be found at:
http://www.jms1.net/qmail/patches/combined.shtml#details
Patch modified to apply cleanly to debian-qmail is in attachment.
Similar patch is also part of Spamcontrol.
Thanks!
th.
-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.4.27-grsec
Locale: LANG=sk_SK, LC_CTYPE=sk_SK (charmap=ISO-8859-2)
Versions of packages qmail-src depends on:
ii debconf 1.4.30.13 Debian configuration management sy
ii dpkg-dev 1.10.28 Package building tools for Debian
ii fakeroot 1.2.10 Gives a fake root environment
ii gcc 4:3.3.5-3 The GNU C compiler
ii groff-base 1.18.1.1-7 GNU troff text-formatting system (
ii make 3.80-9 The GNU version of the "make" util
ii patch 2.5.9-2 Apply a diff file to an original
ii sudo 1.6.8p7-1.1 Provide limited super user privile
-- debconf information excluded
diff -ruN qmail-1.03-orig/Makefile qmail-1.03/Makefile
--- qmail-1.03-orig/Makefile 2005-06-20 13:43:48.000000000 +0200
+++ qmail-1.03/Makefile 2005-06-20 13:48:23.000000000 +0200
@@ -1536,13 +1536,13 @@
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 socket.lib
+fs.a auto_qmail.o socket.lib dns.o dns.lib
./load qmail-smtpd qregex.o rcpthosts.o commands.o timeoutread.o \
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 `cat \
- socket.lib`
+ socket.lib` dns.o `cat dns.lib`
qmail-smtpd.0: \
qmail-smtpd.8
diff -ruN qmail-1.03-orig/qmail-control.9 qmail-1.03/qmail-control.9
--- qmail-1.03-orig/qmail-control.9 2005-06-20 13:43:48.000000000 +0200
+++ qmail-1.03/qmail-control.9 2005-06-20 13:44:36.000000000 +0200
@@ -63,6 +63,7 @@
.I idhost \fIme \fRqmail-inject
.I localiphost \fIme \fRqmail-smtpd
.I locals \fIme \fRqmail-send
+.I mfcheck \fR0 \fRqmail-smtpd
.I morercpthosts \fR(none) \fRqmail-smtpd
.I percenthack \fR(none) \fRqmail-send
.I plusdomain \fIme \fRqmail-inject
diff -ruN qmail-1.03-orig/qmail-smtpd.8 qmail-1.03/qmail-smtpd.8
--- qmail-1.03-orig/qmail-smtpd.8 2005-06-20 13:43:48.000000000 +0200
+++ qmail-1.03/qmail-smtpd.8 2005-06-20 13:44:36.000000000 +0200
@@ -138,6 +138,12 @@
This is done before
.IR rcpthosts .
.TP 5
+.I mfcheck
+If set,
+.B qmail-smtpd
+tries to resolve the domain of the envelope from address. It can be
+handy when you want to filter out spamhosts.
+.TP 5
.I morercpthosts
Extra allowed RCPT domains.
If
diff -ruN qmail-1.03-orig/qmail-smtpd.c qmail-1.03/qmail-smtpd.c
--- qmail-1.03-orig/qmail-smtpd.c 2005-06-20 13:43:48.000000000 +0200
+++ qmail-1.03/qmail-smtpd.c 2005-06-20 14:06:59.000000000 +0200
@@ -25,6 +25,7 @@
#include "commands.h"
#include "qregex.h"
#include "strerr.h"
+#include "dns.h"
#define BMCHECK_BMF 0
#define BMCHECK_BMFNR 1
@@ -35,6 +36,7 @@
#define MAXHOPS 100
unsigned int databytes = 0;
+unsigned int mfchk = 0;
int timeout = 1200;
int safewrite(fd,buf,len) int fd; char *buf; int len;
@@ -61,6 +63,8 @@
void err_bmf() { out("553 sorry, your envelope sender has been denied
(#5.7.1)\r\n"); }
void err_bmt() { out("553 sorry, your envelope recipient has been denied
(#5.7.1)\r\n"); }
void err_bhelo() { out("553 sorry, your HELO host name has been denied
(#5.7.1)\r\n"); }
+void err_hmf() { out("553 sorry, your envelope sender domain must exist
(#5.7.1)\r\n"); }
+void err_smf() { out("451 DNS temporary failure (#4.3.0)\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(arg) char *arg; { out("502 unimplemented (#5.5.1)\r\n"); }
void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
@@ -135,6 +139,10 @@
if (rcpthosts_init() == -1) die_control();
+ if (control_readint(&mfchk,"control/mfcheck") == -1) die_control();
+ x = env_get("MFCHECK");
+ if (x) { scan_ulong(x,&u); mfchk = u; }
+
bmfok = control_readfile(&bmf,"control/badmailfrom",0);
if (bmfok == -1) die_control();
@@ -276,6 +284,25 @@
return 0;
}
+int mfcheck()
+{
+ stralloc sa = {0};
+ ipalloc ia = {0};
+ unsigned int random;
+ int j;
+
+ if (!mfchk) return 0;
+ random = now() + (getpid() << 16);
+ j = byte_rchr(addr.s,addr.len,'@') + 1;
+ if (j < addr.len) {
+ stralloc_copys(&sa, addr.s + j);
+ dns_init(0);
+ j = dns_mxip(&ia,&sa,random);
+ if (j < 0) return j;
+ }
+ return 0;
+}
+
int addrallowed()
{
int r;
@@ -317,6 +344,11 @@
if ((!flagbarfbmf) && (bmfnrok) && (addr.len != 1) && (!relayclient)) {
flagbarfbmf = bmcheck(BMCHECK_BMFNR);
}
+ switch(mfcheck()) {
+ case DNS_HARD: err_hmf(); return;
+ case DNS_SOFT: err_smf(); return;
+ case DNS_MEM: die_nomem();
+ }
seenmail = 1;
if (!stralloc_copys(&rcptto,"")) die_nomem();
if (!stralloc_copys(&mailfrom,addr.s)) die_nomem();
--- End Message ---
--- Begin Message ---
Version: 1.03-49.3+rm
Dear submitter,
as the package qmail has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see http://bugs.debian.org/692558
The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].
Debian distribution maintenance software
pp.
Luca Falavigna (the ftpmaster behind the curtain)
--- End Message ---