Hi!
I have running Exim 4.68-2, Cyrus 2.2.13-13, Amavisd-new 1:2.5.2-2 on
Debian Testing. Accounts are stored on OpenLDAP directoy and both, exim
and cyrus, perform user validations via Sasl2.
Following Cyrus docs, I have to comment on
router/900_exim4-config_local_user:
# check_local_user
But now I have big-growing-queues of frozen spam-mails, because amavis
does not perform user checks.
R=local_user T=cyrus_delivery: LMTP error after RCPT
TO:<8oim4jw0kcbte0ltoyjqeaaaaa@???>: 550-Mailbox unknown.
Either there is no mailbox associated with this\n550-name or you do not
have authorization to see it.\n550 5.1.1 User unknown
Trying solve this, I add on amavis router one LDAP lookup:
amavis:
driver = manualroute
condition = "${if or {{eq {$interface_port}{10025}} \
{eq {$received_protocol}{spam-scanned}} \
}{0}{1}}"
transport = amavis
domains = +local_domains
local_parts = ${lookup ldap \
{user="cn=manager,dc=unnoba,dc=edu,dc=ar" pass="secret" \
ldap://ldap.unnoba.edu.ar:389/ou=mails,dc=unnoba,dc=edu,dc=ar?uid?sub?\
(&(objectclass=*)(uid=${quote_ldap:$local_part}))}}
route_list = "* localhost byname"
self = send
But since I restarted the service, I had in /var/log/exim4/paniclog lots
of "2008-02-11 14:42:02 1JObjG-0003Wg-9S lmtp transport process
returned non-zero status 0x000b: terminated by signal 11"
And, if I test:
apu:/# exim -d+lookup -bt tester@???
Exim version 4.68 uid=0 gid=0 pid=18321 D=fbb95cfd
Berkeley DB: Berkeley DB 4.6.21: (September 27, 2007)
Support for: crypteq iconv() IPv6 PAM Perl GnuTLS move_frozen_messages
Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb
dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql sqlite
Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram
redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
changed uid/gid: forcing real = effective
uid=0 gid=0 pid=18321
auxiliary group list: <none>
seeking password data for user "uucp": cache not available
getpwnam() succeeded uid=10 gid=10
seeking password data for user "cyrus": cache not available
getpwnam() succeeded uid=104 gid=8
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00612001
trusted user
admin user
seeking password data for user "mail": cache not available
getpwnam() succeeded uid=8 gid=8
seeking password data for user "mail": using cached result
getpwnam() succeeded uid=8 gid=8
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
sender address = root@???
Address testing: uid=0 gid=102 euid=0 egid=102
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing tester@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering tester@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing tester@???
--------> amavis router <--------
local_part=tester domain=unnoba.edu.ar
checking domains
unnoba.edu.ar in "@:localhost:unnoba.edu.ar"? yes (matched "unnoba.edu.ar")
unnoba.edu.ar in "+local_domains"? yes (matched "+local_domains")
checking local_parts
search_open: ldap "NULL"
search_find: file="NULL"
key="user="cn=manager,dc=unnoba,dc=edu,dc=ar" pass="secret"
ldap://ldap.unnoba.edu.ar:389/ou=mails,dc=unnoba,dc=edu,dc=ar?uid?sub?(&(objectclass=simpleSecurityObject)(uid=tester))"
partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=ldap key="user="cn=manager,dc=unnoba,dc=edu,dc=ar" pass="secret"
ldap://ldap.unnoba.edu.ar:389/ou=mails,dc=unnoba,dc=edu,dc=ar?uid?sub?(&(objectclass=simpleSecurityObject)(uid=tester))"
database lookup required for user="cn=manager,dc=unnoba,dc=edu,dc=ar"
pass="secret"
ldap://ldap.unnoba.edu.ar:389/ou=mails,dc=unnoba,dc=edu,dc=ar?uid?sub?(&(objectclass=simpleSecurityObject)(uid=tester))
LDAP parameters: user=cn=manager,dc=unnoba,dc=edu,dc=ar pass=secret
size=0 time=0 connect=0 dereference=0 referrals=on
perform_ldap_search: ldap URL =
"ldap://ldap.unnoba.edu.ar:389/ou=mails,dc=unnoba,dc=edu,dc=ar?uid?sub?(&(objectclass=simpleSecurityObject)(uid=tester))"
server=NULL port=0 sizelimit=0 timelimit=0 tcplimit=0
after ldap_url_parse: host=ldap.unnoba.edu.ar port=389
ldap_initialize with URL ldap://ldap.unnoba.edu.ar:389/
initialized for LDAP (v3) server ldap.unnoba.edu.ar:389
LDAP_OPT_X_TLS_TRY set
binding with user=cn=admin,dc=unnoba,dc=edu,dc=ar password=secret
Start search
ldap_result loop
LDAP entry loop
LDAP attr loop uid:tester
search ended by ldap_result yielding 101
ldap_parse_result: 0
ldap_parse_result yielded 0: Success
LDAP search: returning: tester
lookup yielded: tester
tester in "tester"? yes (matched "tester")
checking "condition"
calling amavis router
amavis router called for tester@???
domain = unnoba.edu.ar
route_item = * localhost byname
unnoba.edu.ar in "*"? yes (matched "*")
original list of hosts = "localhost" options = byname
expanded list of hosts = "localhost" options = byname
set transport amavis
finding IP address for localhost
calling host_find_byname
gethostbyname2(af=inet6) returned 1 (HOST_NOT_FOUND)
local host found for non-MX address
fully qualified name = localhost
gethostbyname2 looked up these IP addresses:
name=localhost address=127.0.0.1
remote host address is the local host: unnoba.edu.ar: configured to try
delivery anyway
queued for amavis transport: local_part = tester
domain = unnoba.edu.ar
errors_to=NULL
domain_data=NULL localpart_data=NULL
routed by amavis router
envelope to: tester@???
transport: amavis
host localhost [127.0.0.1]
tester@???
router = amavis, transport = amavis
host localhost [127.0.0.1]
search_tidyup called
unbind LDAP connection to ldap.unnoba.edu.ar:389
>>>>>>>>>>>>>>>> Exim pid=18321 terminating with rc=0 >>>>>>>>>>>>>>>>
Violación de segmento
[aka "Segmentation Fault"]
¿Is there any solution for this? ¿Any suggestion?
Thanks and sorry about my english!
Javier Charne.
Dirección de Informática
Universidad Nacional del Noroeste de Buenos Aires [UNNOBA]