不正中継チェック

 telnet  relay-test.mail-abuse.org

qmailだと

 :Relay test: #Test 11 

でこけてしまう。

パッチ

http://www.qmail.org/qmail-smtpd-relay-reject

 *** qmail-1.03/qmail-smtpd.c	Mon Jun 15 19:53:16 1998
 --- qmail-1.03.new/qmail-smtpd.c	Fri Aug 17 17:54:07 2001
 ***************
 *** 248,253 ****
 --- 248,260 ----
     out("250 ok\r\n");
   }
   void smtp_rcpt(arg) char *arg; {
 +   int i, cnt = 0;
 + 
 +   if (str_chr(arg,'%') != strlen(arg)) {err_nogateway(); return;}
 +   if (str_chr(arg,'!') != strlen(arg)) {err_nogateway(); return;}
 +   for (i = 0; arg[i] != '\0'; i++) if (arg[i] == '@') cnt++;
 +   if (cnt > 1) {err_nogateway(); return;}
 + 
     if (!seenmail) { err_wantmail(); return; }
     if (!addrparse(arg)) { err_syntax(); return; }
     if (flagbarf) { err_bmf(); return; 

これを relay-test.patch とし、

 cd /usr/src/qmail/qmail-1.03
 patch < ../relay-test.patch

コンパイル

 debian/rules binary-arch

インストール

 dpkg -i /usr/src/ucspi-tcp/ucspi-tcp_0.88-5_i386.deb
 dpkg -i /usr/src/qmail/qmail_1.03-24_i386.deb

QMAILだめだったネタ