*gnnnnnnnnnnn*
Ich werde wahnsinnig.
Mein Server (SUSE Linx 9.3 mit qmail) ist nun auf einer Spam-Blacklist, weil irgendwelche Deppen über meinen Server Spam verschicken.
Sie verwenden die Methode:
(Ref: 7) Test using a percent hack and local sender.
Sender address:
Recipient address:
WARNING MESSAGE HAS BEEN ACCEPTED BY HOST, CHECK MAIL TO CONFIRM!
Test remark: This type of source routing should not be supported by modern mail servers.
Jetzt habe ich was gefunden, was das verhindern soll, nämlich einen Hack für qmail. Aber wie installiere ich sowas? Böhmische Dörfer und so… Bitte helft mir, damit ich nicht auch noch Schuld an noch mehr Spam bin
Ich habe root-Zugriff und mein qmail liegt in /var/qmail/bin
Hier der Hack:
--- orig/qmail-smtpd.c Mon Jun 15 06:53:16 1998
+++ qmail-smtpd.c Sat Feb 9 12:07:19 2002
@@ -53,6 +53,7 @@
void err\_nogateway() { out("553 sorry, that domain isn't in my list of allowed rcpthosts (#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"); }
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"); }
@@ -216,6 +217,21 @@
return r;
}
+int addrrelay()
+{
+ int j;
+ j = addr.len;
+ while(--j \>= 0)
+ if (addr.s[j] == '@') break;
+ if (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 flagbarf; /\* defined if seenmail \*/
@@ -250,6 +266,7 @@
void smtp\_rcpt(arg) char \*arg; {
if (!seenmail) { err\_wantmail(); return; }
if (!addrparse(arg)) { err\_syntax(); return; }
+ if (addrrelay()) { err\_relay(); return; }
if (flagbarf) { err\_bmf(); return; }
if (relayclient) {
--addr.len;