Greylisting mit Qmail und Plesk läuft nicht sauber?

sonshine

New Member
Hallo Zusammen,

Besten Dank für alle Posts und Dokumentationen über Greylisting mit Plesk (und natürlich Qmail)
Leider scheint dies aus irgeneinem Grund nicht zu funktionieren bei mir. Meine Spielwiese hat einige verschiedene Server, welche alle etwa dasselbe Fehlverhalten zeigen (Suse 10.1 32-bit, Plesk 8.3/Suse 9.3 64-bit, Plesk 8.3/Suse 10.0 64-bit Plesk 8.0.1/Suse 10.1 64-bit Plesk 8.3).

Vorweggenommen:
greylist_dbg.txt und die mysql-DB werden korrekt geschrieben. Somit kanns nicht an einem ähnlichen Fall wie in früheren Posts liegen. Jedoch kommen keine Mails von Providern durch, ebenfalls hatte ich noch nie die Meldung "421 temporary envelope failure (#4.3.0)" oder etwas ähnliches gesehen.
Entweder wird die Mail fälschlicherweise sofort angenommen oder der untige pointer-error kommt. Qmail scheint wohl mit mir etwas überfordert zu sein :-))

Vorweggenommen: Ich hab aufgrund der Filegrösse und des Dateidatumps überprüft, ob der korrekte qmail-smtpd und qmail-envelope-scanner in meinem /var/qmail/bin sind, ebenfals (zur Sicherheit) beide, sowohl xinetd als auch qmail restarted (obwohl es ja mit xinetd getan wäre...).

Was mach ich falsch? (liegt wohl nicht an den .ch-tlds in den emails, bin halt Schweizer :-)))

blah:~> telnet mailserver.org smtp
Trying xxx.xxx.xxx...
Connected to mailserver.org.
Escape character is '^]'.
220 mailserver.org ESMTP
ehlo asdf.ch
250-mailserver.org
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
mail from:[email protected]
250 ok
rcpt to:[email protected]
*** glibc detected *** free(): invalid pointer: 0x000000000061a930 ***
250 ok
data
354 go ahead
asdf
asdf
.
250 ok 1202585924 qp 8234
quit
221 mailserver.org
Connection closed by foreign host.


Gemäss greylist_dbg.txt scheint aber alles korrekt zu arbeiten:

protocol = notneeded4qmail [..] Doesn't Exists Block

Resends innerhalb der ersten 5 Minuten:
Exists Block id = xxx expire = 0

5 Mins nach ersten Versand kommt auch diese Meldung korrekt.
Exists Accept id = xxxx expire = 1

Ich habs mit qmail-103-greylist-psa8.tar.gz (Brent Meshier » Adding Greylisting support to qmail on Plesk 8)
und mit qmail-1.05_greylisting_plesk8.tar.gz (ClausVB - Greylisting) versucht. Erfolglos. Dennoch super Dokus aufm Web von Euch!!!

Compiler-Errors sind mir keine aufgefallen. Jedoch natürlich sämtliche warnings bei Verwnden von qmail-103.

Verwunderlich ist, dass es weder bei PSA 8.0.1 noch bei PSA 8.3.0 läuft.... gemäss parallels (ex swsoft) ists ja so, dass für psa 8.3.0 ein neuer patch reingenommen werden muss?

Kennst Du das? Hast Du mir irgendwelche Hinweise dazu?


Thanks
Martin aka Sonshine
 
Code:
rcpt to:[email protected]
502 unimplemented (#5.5.1)
RCPT TO:<[email protected]>
421 temporary envelope failure (#4.3.0)

Die zweite Meldung mit "250 ok" ist bei Dir falsch. Es muss wie gezeigt
"421 temporary envelope failure"
kommen. Damit ist bestätigt, was wir schon wussten: Greylisting funktioniert bei Dir nicht. :)

Bitte poste Deine Versionen zu
- Kernel und OS
- gcc
- openssl
und alles was Du auf Deinem System zu "glibc" finden kannst.

Das "free()" kann den Zeiger (pointer) bzw. evtl. den RAM, der dahinter steht nicht freigeben.

Diese Fehlermeldung darf nicht erscheine, ich werde mal danach googlen. Vielleicht weiß Huschi spontan was (er ist ein Master-Guru :-).

Der qmail-Patch für Greylisting ist der grottigste Code, den ich je gesehen hab. Ein "Verbrechen" jagt das nächste. Das erkennst Du an den (hunderten?) Warnings, die beim Original von Brent generiert werden.

Gruß
Claus
 
Da ich bisher diese Probleme nie hatte, könnte es evtl. an dem neuen Greylisting-Patch von meshier liegen.
Versuch doch mal eine ältere Source-Code-Version.
Z.B. diese Version: http://www.huschi.net/download/qmail-103-greylist-psa8.tar.gz

Fest steht er steigt im qmail-envelope-scanner aus.
Um den Fehler einzuschränken:
Wie sieht ein vollständiger Eintrag in der greylist_dbg.txt aus?
Ist der Trenner "--------" schon vorhanden?

huschi.
 
Ältere Source-Code-Version geht auf fast allen Servern!

Hey Leute,

>Da ich bisher diese Probleme nie hatte, könnte es evtl. an dem neuen Greylisting-Patch von meshier liegen.
>Versuch doch mal eine ältere Source-Code-Version.
>Z.B. diese Version: http://www.huschi.net/download/qmail...st-psa8.tar.gz

Ihr habts echt voll im Griff!! Ich hab zwar irgend so ne Informatiker-Ausbildung und hatte wochenlang versucht und nix geschafft...und Ihr einfachso mit der älten Version...geht auf 2 der 4 von mir getesteten servern!!! Wow!!!
Dennoch hier die Informationen zu Eurer Vollständigkeit:


A)
>Bitte poste Deine Versionen zu
>- Kernel und OS
>- gcc
>- openssl
>und alles was Du auf Deinem System zu "glibc" finden kannst.

OS:
Ich habs jetzt mal auf dem SuSE 9.3 x64/PSA 8.3.0-Server versucht....

Kernel:
# uname -a
Linux boston 2.6.11.4-21.17-default #1 Fri Apr 6 08:42:34 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux

openssl:
rpm -aq | grep openssl
openssl-devel-0.9.7e-3.8
openssl-32bit-9.3-7.4
openssl-0.9.7e-3.8

rpm -aq | grep gcc
libgcc-3.3.5-5
gcc-3.3.5-5

vielleicht ist das noch interessant:
# rpm -aq | grep zlib
zlib-devel-1.2.2-5.4
zlib-32bit-9.3-7.2
zlib-devel-32bit-9.3-7.2
zlib-1.2.2-5.4
# rpm -aq | grep mysql
mysql-4.1.10a-3.8
mysql-devel-4.1.10a-3
mysql-client-4.1.10a-3
perl-DBD-mysql-2.9004-3
mysql-shared-4.1.10a-3



(btw: im Makefile der qmail-Sourcen hatte ich angepasst, dass der 64-bit-mysqlclient genommen wird, auch wenn die 32bit-binaries auch aufm Serer sind)


> http://www.huschi.net/download/qmail...st-psa8.tar.gz
Binary downgeloaded und gemäss Plesk & Qmail: Spamprotection mit Greylisting - huschi.net nochmals alles kompiliert und installiert....

[...]
cat binm1.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm1
chmod 755 binm1
cat binm1+df.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm1+df
chmod 755 binm1+df
cat binm2.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm2
chmod 755 binm2
cat binm2+df.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm2+df
chmod 755 binm2+df
cat binm3.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm3
chmod 755 binm3
cat binm3+df.sh \
| sed s}QMAIL}"`head -1 conf-qmail`"}g \
> binm3+df
chmod 755 binm3+df
./compile spfquery.c
spfquery.c: In function `main':
spfquery.c:30: warning: cast to pointer from integer of different size
spfquery.c:24: warning: return type of `main' is not `int'
./load spfquery spf.o ip.o ipme.o ipalloc.o strsalloc.o \
now.o dns.o datetime.a stralloc.a alloc.a str.a substdio.a \
case.a error.a fs.a `cat dns.lib` `cat socket.lib`
#

...binaries verteilt und qmail/xinetd restarted...

# cd /var/qmail/bin/
blah:/var/qmail/bin # ls -rlat
[...]
-rwxr-xr-x 1 root qmail 79032 2008-02-11 19:56 qmail-smtpd
-rwxr-xr-x 1 root qmail 1016760 2008-02-11 19:57 qmail-envelope-scanner



...ferner die mysql-DB des Greylisters mal geleert (jedoch dieselbe verwendet)


mysql> delete from relaytofrom;
Query OK, 38571 rows affected (0,07 sec)





telnet mailserver.org smtp
Trying 85.10.196.11...
Connected to boston.
Escape character is '^]'.
220 mailserver.org ESMTP
ehlo asdf.ch
250-admin5.iserve4u.ch
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
mail from:c
250 ok
rcpt to:[email protected]
421 temporary envelope failure (#4.3.0)
data
503 RCPT first (#5.5.1)
quit
221 mailserver.org
Connection closed by foreign host.


>glibc detected free(): invalid pointer
scheint nicht mehr zu kommen....lag wohl an der Version der Qmail-Sourcen?

>Wie sieht ein vollständiger Eintrag in der greylist_dbg.txt aus?
>Ist der Trenner "--------" schon vorhanden?
Diesen Eintrag hatte ich noch nie gesehen in greylist_dbg.txt. Jedoch alles andere...
--------
protocol = notneeded4qmail [email protected]
[email protected] -> [email protected] (189.133.36.231) Doesn't Exists Block
--------
protocol = notneeded4qmail [email protected]
[email protected] -> [email protected] (201.140.58.6) Doesn't Exists Block
--------
protocol = notneeded4qmail Mae-vassf|[email protected]
Mae-vassf|[email protected] -> [email protected] (201.140.58.6) Doesn't Exists Block
--------
protocol = notneeded4qmail [email protected]
[email protected] -> [email protected] (89.134.47.147) Doesn't Exists Block
--------

Somit: "--------" wird neu mehr als genug zum ersten mal angezeigt!!!
WOW mit dieser (älteren) version http://www.huschi.net/download/qmail...st-psa8.tar.gz gehts voll!!!

Wie wir in solchen Situation auf Schweizerdeutsch zu sagen pflegen:
Ihr seid ja voll krass!!!

B)
Auf Server mit PSA 8.0.1, SuSE 10.0 x64 ebenfalls wie oben. Voll coool!

c) Auf dem 3. Server (psa 8.30, SuSE 10.1, x64) scheinen die 1:1 rüberkopierten source-Files noch nicht zu kompilieren...kann es sein, dass die OpenSSL-Version zu jung ist?

Kernel:
Linux memphis 2.6.16.21-0.25-smp #1 SMP Tue Sep 19 07:26:15 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux

# rpm -qa | grep gcc
libgcc-4.1.0-25
gcc-4.1.0-25


openssl-0.9.8a-16
openssh-4.2p1-18.12
compat-openssl097g-0.9.7g-11
compat-openssl097g-32bit-0.9.7g-13.5

rpm -aq | grep zlib
zlib-devel-1.2.3-13
zlib-1.2.3-13
php5-zlib-5.1.2-27
zlib-32bit-1.2.3-13

# rpm -aq | grep mysql
perl-DBD-mysql-3.0002-13
mysql-shared-5.0.18-16
mysql-client-5.0.18-16
mysql-5.0.18-20.8
mysql-devel-5.0.18-16



# echo "-lssl -lcrypto" >ssl.lib
# make
[...]
./load auto-str substdio.a error.a str.a
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make: *** [auto-str] Fehler 1
# make clean
# rm ssl.lib
# make
[..]

./compile fmt_str.c
./compile fmt_strn.c
./compile fmt_uint.c
./compile fmt_uint0.c
./compile fmt_ulong.c
./compile scan_ulong.c
./compile scan_8long.c
./makelib fs.a fmt_str.o fmt_strn.o fmt_uint.o fmt_uint0.o \
fmt_ulong.o scan_ulong.o scan_8long.o
./compile datetime.c
./compile datetime_un.c
./makelib datetime.a datetime.o datetime_un.o
./compile auto-str.c
auto-str.c:9: warning: conflicting types for built-in function âputsâ
auto-str.c: In function âmainâ:
auto-str.c:17: warning: return type of âmainâ is not âintâ
./load auto-str substdio.a error.a str.a
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make: *** [auto-str] Fehler 1


Was mache ich hier falsch??


D) 4. Server....versuche ich vielleicht noch später (SuSE 10.1, 32bit, Plesk 8.3.0). Wenn die ersten 3 funktionieren ists mehr als genug!


Grüsse
Martin aka Sonshine
 
openssl-devel/64bit-Architecktur

abend zusammen,

tja das mit dem openssl-devel ist ja voll peinlich von mir.
Aber leider kann ich immer noch nicht korrekt kompilieren:

# make clean
rm -f `cat TARGETS`
#make
[...]
./compile control.c
./compile constmap.c
./compile timeoutread.c
./compile timeoutwrite.c
./compile timeoutconn.c
./compile tcpto.c
./compile dns.c
./compile ip.c
./compile ipalloc.c
./compile strsalloc.c
( ./compile trysalen.c >/dev/null 2>&1 \
&& echo \#define HASSALEN 1 || exit 0 ) > hassalen.h
rm -f trysalen.o
./compile ipme.c
./compile ndelay.c
./compile ndelay_off.c
./makelib ndelay.a ndelay.o ndelay_off.o
( ( ./compile tryrsolv.c && ./load tryrsolv dns.o \
ipalloc.o strsalloc.o ip.o stralloc.a alloc.a error.a fs.a str.a \
-lresolv `cat socket.lib` ) >/dev/null 2>&1 \
&& echo -lresolv || exit 0 ) > dns.lib
rm -f tryrsolv.o tryrsolv
./compile tls.c
tls.c:12: error: conflicting types for âstrerrorâ
/usr/include/string.h:256: error: previous declaration of âstrerrorâ was here
make: *** [tls.o] Fehler 1
# rpm -aq | grep openssl-devel
openssl-devel-0.9.8a-16
#


Jedoch: das hat leider nix mit der 64-bit-Architektur zu tun.
@huschi: Danke für Deine Anleitung; ich kann sie ja schon fast auswendig. Vielleicht bin ich ja blind (habe nie das Gegenteil behauptet :-))), aber daran scheints nach meinem Verständnis nicht zu liegen. Wie Du vielleicht meinem Mail entnehmen kannst, hab ich dies erfolgreich auf 2 verschiedenen 64-bit-Servern hingekriegt...nur der letzte happert noch..

kanns an der openssl-version liegen? Falls ja, woher kriegt man für eine Suse 10.1 box ne alte openssl-version?


-- Sonshine
 
tls.c:12: error: conflicting types for âstrerrorâ
/usr/include/string.h:256: error: previous declaration of âstrerrorâ was here
Ganz auswendig wohl noch nicht... :D
Denn dieser Fehler wird dort explizit angesprochen.

huschi.
 
Hallo huschi,

ok Du hast gewonnen ich gebe mich geschlagen :-))

Du kriegst somit ein virtuelles Bier von mir :-)))

gute nacht und es grüsst
Sonshine, wohl doch blind...
 
Nur zum Verständnis:

Du hast in dem von mir geänderten/bereinigten Code die Änderungen für 64-bit im Makefile gemacht?

huschi.net said:
edit Makefile
#ersetzte alle Vorkommen von "/usr/lib/mysql/libmysqlclient.a"
#durch "/usr/lib64/mysql/libmysqlclient.a"

Kompilieren tut er nach einer Bereinigung des C-Codes auch ohne Fehler, zumindest hat mir das jemand im SWsoft-Forum bestätigt. Das heißt aber nicht, dass es dann mit einem 32-bit mysqlclient läuft ...

Freut mich, dass es läuft. Huschi ist einfach ein Gott :-)!

Gruß
Claus
 
Tja,

es läuft jetzt alles ach nach diesen Tagen einwandfrei, nochmals besten Dank.

Die Boxen haben - gemäss Huschis GCP - ein Spamaufkommen von 97,4 bis 99,6%. Ist das nicht crazy viel was da rumfliegt? Ich zwefle nicht an greylisting, funzen tuts korrekt, bin nur erstaunt was das Netz so alles rumflushed...und stellt Euch vor: Die Server sind jetzt (bzgl. load) seehhr gelangweilt :D
Bzgl. Beschwerden der User: Gering. Die einzigen Beschwerden die eingaangen sind, sind wegen vollen Mailboxen, also nicht wegen greylisting.

die Erfindung von Greylisting ist einafch genial!!! Wars nicht ein Schweizer (ethz.ch) ders erfunden hatte? :p
 
Hallo Liste!
Hatte das gleiche Problem ...
Code:
temporary envelope failure .. in meinem Mail-Programm
Es konnten keine Emails versandt werden.

Die Lösung war denkbar einfach ... (oder fast ZU EINFACH - Deswegen ein Posting) :D
Code:
shutdown -rn now

Viele Grüße
DerBernd
 
Korrektur:
Meine Aussage ist doch nicht so ganz richtig: Die Email funktioniert ca. einen Tag, dann kommt das Problem wieder. :confused:

Gruß
Bernd
 
Back
Top