PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix Listener: Ungültiger Dateideskriptor



z0ny
06.06.04, 23:13
Ich wollte heute mal wieder Postfix in Verbindung mit Amavisd-new und Spamassassin installieren, jedoch hat es heute auf dem Fedora Core 2 System nicht so recht geklappt. Das Problem ist ein ungültiger Dateidesktriptor von Postfix. Wenn ich eine Mail empfange, bleibt diese in der Queue und folgendes erscheint im Log:


Jun 6 18:36:07 orange postfix/smtp[9493]: 1F451A4628: to=<z0ny@domain.net>, orig_to=<z0ny@domain.de>, relay=127.0.0.1[127.0.0.1], delay=1, status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.4.1 Can't connect to 127.0.0.1 port 10025, Ung\303\274ltiger Dateideskriptor at /usr/sbin/amavisd line 2870, <GEN3> line 199., id=09421-01 (in reply to end of DATA command))

Ich kann per Telnet nicht auf den Port zugreifen, beim ersten Versuch werde ich direkt zurückgewiesen, beim zweiten Mal bleibt Telnet hängen. Normalerweise sollte ja auf 10025 auch der SMTP Banner erscheinen.

'grep ^[^#] /etc/postfix/master.cf' liefert folgendes:


smtp inet n - n - - smtpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 nqmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect_unauth_destination

smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

Da ich nicht glaube, dass es an der main.cf liegt, lass ich diese erstmal außen vor. Dort ist lediglich ein content_filter Verweis drin, ohne Amavisd funktioniert der Mailserver wunderbar. Auf meinem vorherigen Redhat 9 System hat das auch funktioniert. Hat einer eine Idee? Danke vorab.

z0ny

Jonta
06.06.04, 23:45
Hallo,

was steht denn genau in /usr/sbin/amavisd in Zeile 2870? Bei mir ist das defined($smtp_handle). In der main.cf sollte folgender Eintrag für content_filter stehen:
content_filter = smtp-amavis:[127.0.0.1]:10024

In meiner master.cf sieht das für smtp so aus:
smtp inet n - n - 2 smtpd -o content_filter=smtp:[127.0.0.1]:10024
...
...
...
...
localhost:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes

z0ny
07.06.04, 00:27
was steht denn genau in /usr/sbin/amavisd in Zeile 2870? Bei mir ist das defined($smtp_handle).
Genau das steht dort bei mir auch. ;) Der content_filter ist in der main.cf eingetragen und im Großen und Ganzen unterscheiden sich ja unsere beiden Varianten nicht. Das Problem liegt imho auch nicht an Amavis sondern an Postfix, da ich ja nicht mal mit Telnet auf den Port zugreifen kann (versuch doch mal "telnet localhost 10025"). Nur was ist es ... lief ja vorher auch.

z0ny

z0ny
07.06.04, 15:38
Danke, hat sich erledigt, nachdem ich den Server auf non-chroot gestellt habe funktioniert es nun. Trotzdem dumme Fehlermeldung...

z0ny