不正中継チェック
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