[Postfixbuch-users] postfix/qmgr: fatal: unix-domain name too long
clemens fischer
ino-news at spotteswoode.dnsalias.org
Mo Mai 1 16:41:21 CEST 2006
hallo zusammen!
'uname -rms'
FreeBSD 6.1-RC i386
es ist die freebsd ports version ports/mail/postfix-current installiert,
also ist "mail_version = 2.3-20060418".
ich moechte ankommende emails durch bogofilter jagen und spam in
${mailbox}+spam einsortieren. dazu bin ich nach dem einfachen verfahren
in FILTER_README vorgegangen: "Simple content filter example". es gibt
einen "spamuser", ein directory fuer seine tempfiles usw. die
permissions stimmen.
das entsprechende script wird aber nicht aufgerufen, statt dessen kriege
ich vom qmgr eine fehlermeldung, die ich nicht einordnen kann: der
unix-domain name sei zu lang. in der source ".../util/unix_connect.c"
wird diese fehlermeldung nur ausgegeben, wenn wirklich der name des unix
domain sockets zu lang ist. der socket wird aber korrekt angelegt:
0 # ll /var/spool/postfix/private/filter
srw-rw-rw- 1 postfix wheel 0B May 1 13:26
/var/spool/postfix/private/filter
ich habe ein programm "unixclient" aus bruce guenthers
"ucspi-unix-0.36", mit dem ich auf den socket connecten kann, um
nachzusehen, was da raus kommt. das log/maillog ist ellenlang wegen der
"post -vv" option, aber man kann immerhin den verbindungsaufbau und die
reaktion sehen, obwohl natuerlich mein protokoll nicht stimmt. die
macke passiert also, bevor "post" und das "filter.sh" script aufgerufen
werden koennen.
dies ist eine test message, mittels "netcat 0 25" abgesetzt:
May 1 15:01:16 <mail.info> spotteswoode postfix/qmgr[4135]:
EC2801143F: from=<me at spotteswoode.dnsalias.org>, size=363, nrcpt=1 (queue active)
zum spam-filtern habe ich einen eintrag in etc/postfix/master.cf:
filter unix - n n - 1 pipe -vv
flags=DRq user=mailfilter argv=/l/etc/postfix/filter.sh ${sender} ${recipient}
das script ist fast genau wie das im README angegebene. aber das spielt
noch keine rolle, denn vorher schon meckert der qmgr:
May 1 15:01:16 <mail.crit> spotteswoode postfix/qmgr[4135]:
fatal: unix-domain name too long:
private/unix - n n - 3 pipe flags=Rq user=mailfilter
argv= /usr/local/etc/postfix/filter.sh -f --
dies ist nicht der richtige aufruf wie im master.cf vorgegeben! und
dann kommt:
May 1 15:01:17 <mail.warn> spotteswoode postfix/master[471]:
warning: process /usr/local/libexec/postfix/qmgr pid 4135 exit status 1
das hier ist mein privatvergnuegen, also kann ich herumexperimentieren.
hier weis ich nicht weiter. was stimmt in meiner konfiguration oder an
postfix-devel nicht?
gruss,
clemens fischer
zum allgemeinen amusemeng zeige ich auch das log mit "qmgr -vv" in
master.cf (zeilen gekuerzt):
qmgr[9900]: record C 363 476 1 0
qmgr[9900]: record T 1146421455 480634
qmgr[9900]: record A create_time=11464214 64
qmgr[9900]: record L unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/fi lter.sh -f --
qmgr[9900]: record A rewrite_context=local
qmgr[9900]: record S me at spotteswoode.dnsalias.org
qmgr[9900]: EC2801143F: from=<me at spotteswoode.dnsalias.org>, size=363, nrcpt=1 (queue active) May 1 16:25:54 <mail.info> spotteswoode postfix/qmgr[9900]: record A client_name=localhost
qmgr[9900]: record A client_address=127.0.0.1
qmgr[9900]: record A message_origin=localhost[127.0.0.1]
qmgr[9900]: record A helo_name=u May 1 16:25:54 <mail.info> spotteswoode postfix/qmgr[9900]: record A protocol_name=ESMTP
qmgr[9900]: record A dsn_orig_rcpt=rfc822;root
qmgr[9900]: record O root
qmgr[9900]: record R root at spotteswoode.dnsalias.org
qmgr[9900]: record M May 1 16:25:54 <mail.info> spotteswoode postfix/qmgr[9900]: record X
qmgr[9900]: record E
qmgr[9900]: dir_forest: EC2801143F -> E/
qmgr[9900]: start sorted recipient list
qmgr[9900]: qmgr_message_sort: root at spotteswoode.dnsalias.org
qmgr[9900]: end sorted recipient list
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _destination_concurrency_limit = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _destination_concurrency_limit = 2
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _destination_recipient_limit = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _destination_recipient_limit = 2
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_cost = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_cost = 5
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_loan = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_loan = 3
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_discount = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _delivery_slot_discount = 50
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _minimum_delivery_slots = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _minimum_delivery_slots = 3
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _recipient_limit = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _recipient_limit = 100
qmgr[9900]: dict_lookup: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _extra_recipient_limit = (notfound)
qmgr[9900]: dict_update: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- _extra_recipient_limit = 10
qmgr[9900]: qmgr_transport_create: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f -- concurrency 2 recipients 2
qmgr[9900]: start sorted recipient list
qmgr[9900]: qmgr_message_sort: root at spotteswoode.dnsalias.org
qmgr[9900]: end sorted recipient list
qmgr[9900]: scan_dir_next: skip .
qmgr[9900]: scan_dir_next: skip ..
qmgr[9900]: scan_dir_pop: close deferred
qmgr[9900]: done deferred queue scan
qmgr[9900]: trigger_server_accept_fifo: trigger arrived
qmgr[9900]: master_notify: status 0
qmgr[9900]: request: 87 (W)
qmgr[9900]: master_notify: status 1
qmgr[9900]: watchdog_start: 0x807d208
qmgr[9900]: qmgr_transport_select: unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f --
qmgr[9900]: qmgr_active_drain: allocate unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f --
qmgr[9900]: fatal: unix-domain name too long: private/unix - n n - 3 pipe flags=Rq user=mailfilter argv= /usr/local/etc/postfix/filter.sh -f --
master[471]: warning: process /usr/local/libexec/postfix/qmgr pid 9900 exit status 1
Mehr Informationen über die Mailingliste Postfixbuch-users