Re: [exim] exim-4.80.1 testing issues

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Prashanth Katuri
Ημερομηνία:  
Προς: Douglas Gray Stephens, Exim-users
Υ/ο: Robert Mortimer
Αντικείμενο: Re: [exim] exim-4.80.1 testing issues
Douglas,

Thank you for the information.

Btw I have tried installing version's prior to 4.80.1, (i.e) 4.66, 4.67, 4.76 and 4.77, but still I am seeing the same issue (i.e) BUS error and the search type is still ldapm.

So not sure if I have to try installing the older version's prior to exim-4.65.

pkaturi@gb0882ldaptst01 >exim -C dgs.exim -d+lookup -bt pkaturi@???
Exim version 4.66 uid=25122 gid=1 pid=26445 D=fbb95cfd
Berkeley DB: Sleepycat Software: Berkeley DB 4.0.14: (November 18, 2001)
Support for: iconv() Perl
Lookups: lsearch wildlsearch nwildlsearch iplsearch dbm dbmnz ldap ldapdn ldapm
Authenticators:
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile autoreply pipe smtp
Fixed never_users: 0
Size of off_t: 4
changed uid/gid: -C, -D, -be or -bf forces real uid
uid=25122 gid=1 pid=26445
auxiliary group list: 1 6
seeking password data for user "root": cache not available
getpwnam() succeeded uid=0 gid=0
configuration file is dgs.exim
log selectors = 00000ffc 00089001
Starting Perl interpreter
admin user
originator: uid=25122 gid=1 login=pkaturi name=
sender address = pkaturi@???
Address testing: uid=25122 gid=1 euid=25122 egid=1
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Testing pkaturi@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering pkaturi@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing pkaturi@???
--------> dnslookup router <--------
local_part=pkaturi domain=slb.com
checking domains
slb.com in "@ : slb.com : westerngeco.com # SLB CHANGE"? yes (matched "slb.com")
slb.com in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> system_aliases router <--------
local_part=pkaturi domain=slb.com
calling system_aliases router
rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}}
search_open: lsearch "/etc/aliases"
search_find: file="/etc/aliases"
key="pkaturi" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/aliases
End
internal_search_find: file="/etc/aliases"
type=lsearch key="pkaturi"
file lookup required for pkaturi
in /etc/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for pkaturi@???
--------> userforward router <--------
local_part=pkaturi domain=slb.com
checking for local user
seeking password data for user "pkaturi": cache not available
getpwnam() succeeded uid=25122 gid=1
calling userforward router
rda_interpret (file): $home/.forward
expanded: /home/pkaturi/.forward
stat(/home/pkaturi/.)=0
/home/pkaturi/.forward does not exist
userforward router declined for pkaturi@???
--------> insane_address router <--------
local_part=pkaturi domain=slb.com
checking "condition"
insane_address router skipped: condition failure
--------> wg_aliasuser router <--------
local_part=pkaturi domain=slb.com
checking domains
slb.com in "westerngeco.com"? no (end of list)
wg_aliasuser router skipped: domains mismatch
--------> slb_aliasuser router <--------
local_part=pkaturi domain=slb.com
checking domains
slb.com in "slb.com"? yes (matched "slb.com")
checking "condition"
search_open: ldapm "NULL"
search_find: file="NULL"
key="ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/aliases
End
internal_search_find: file="NULL"
type=ldapm key="ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))"
database lookup required for ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))
LDAP parameters: user=NULL pass=NULL size=0 time=0 connect=0 dereference=0 referrals=on
perform_ldap_search: ldapm URL = "ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))" server=gb0135ldap00.ldap.slb.com port=390 sizelimit=0 timelimit=0 tcplimit=0
after ldap_url_parse: host=o=slb,c=an port=1099344
Bus Error

Thanks,
Prashanth

From: Douglas Gray Stephens
Sent: Monday, July 29, 2013 3:54 AM
To: Exim-users
Cc: Prashanth Katuri
Subject: Re: [exim] exim-4.80.1 testing issues

On 2013-07-27 21:02, Todd Lyons wrote:
Author: Todd Lyons
Date: 2013-07-27 22:02 +100
To: Jeremy Harris
CC: exim-users
Subject: Re: [exim] exim-4.80.1 testing issues
On Thu, Jul 25, 2013 at 12:45 PM, Jeremy Harris <jgh@???> wrote:
> On 25/07/13 18:01, Prashanth Katuri wrote:
>> key="ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))"


Shouldn't that be ldap://HOSTNAME:PORT/o=slb,c=blah...

>> perform_ldap_search: ldapm URL =
>> "ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))"
>> server=gb0135ldap00.ldap.slb.com port=390 sizelimit=0 timelimit=0 tcplimit=0
>> after ldap_url_parse: host=o=slb,c=an port=954024


You can see that at first something in his config had a servername
that appeared to be a valid hostname, but then after parsing the URL
to extract the host/port, it was not specified so it resulted in
nothing.

The bus error...isn't that due to free'ing a constant string?

...Todd




The configuration file defines ldap_default_servers:

ldap_default_servers = "\

        gb0135ldap00.ldap.slb.com::390"
so the URL correctly substitutes this, and expands, but then after ldap_url_parse one sees the wrong host and port


LDAP parameters: user=NULL pass=NULL size=0 time=0 connect=0 dereference=0 referrals=on
perform_ldap_search: ldapm URL = "ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=pkaturi))" server=gb0135ldap00.ldap.slb.com port=390 sizelimit=0 timelimit=0 tcplimit=0
after ldap_url_parse: host=o=slb,c=an port=954024

Hard coding the hostname into the LDAP URL, one gets a slightly different response (no bus error, but still an error in the LDAP URL parsing):

internal_search_find: file="NULL"

type=ldap key="ldap://gb0135ldap00.ldap.slb.com:390/o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))"

database lookup required for ldap://gb0135ldap00.ldap.slb.com:390/o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))

LDAP parameters: user=NULL pass=NULL size=0 time=0 connect=0 dereference=0 referrals=on

perform_ldap_search: ldap URL = "ldap://gb0135ldap00.ldap.slb.com:390/o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))" server=NULL port=0 sizelimit=0 timelimit=0 tcplimit=0

after ldap_url_parse: host=o=slb,c=an port=954024

failed to initialize for LDAP server o=slb,c=an:954024 - Invalid argument

lookup deferred: failed to initialize for LDAP server o=slb,c=an:954024 - Invalid argument

condition check lookup defer

dgraystephens@???<mailto:dgraystephens@slb.com> cannot be resolved at this time: condition check lookup defer

search_tidyup called

>>>>>>>>>>>>>>>> Exim pid=15198 terminating with rc=1 >>>>>>>>>>>>>>>>


Running the same configuration on a Ubuntu box (rather than Solaris), and the search works

gray@gray-scr2-linux:~$ exim -C /tmp/dgs.exim -d+lookup -bt dgraystephens@???<mailto:dgraystephens@slb.com>

Exim version 4.76 uid=1000 gid=1000 pid=30750 D=fbb95cfd

Berkeley DB: Berkeley DB 5.1.25: (January 28, 2011)

Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc GnuTLS move_frozen_messages Content_Scanning DKIM Old_Demime

Lookups (built-in): 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

Compiler: GCC [4.6.3]

Library version: GnuTLS: Compile: 2.12.14

                         Runtime: 2.12.14


Library version: Cyrus SASL: Compile: 2.1.25

                             Runtime: 2.1.25 [Cyrus SASL]


Library version: PCRE: Compile: 8.12

                       Runtime: 8.12 2011-01-15


Total 18 lookups

Library version: MySQL: Compile: 5.5.28 [(Ubuntu)]

                        Runtime: 5.5.31


Library version: SQLite: Compile: 3.7.9

                         Runtime: 3.7.9




<snip>



internal_search_find: file="NULL"

type=ldapm key="ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))"

database lookup required for ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))

LDAP parameters: user=NULL pass=NULL size=0 time=0 connect=0 dereference=0 referrals=on

perform_ldap_search: ldapm URL = "ldap:///o=slb,c=an?alias,mail,cn,ou,telephonenumber,o?sub?(&(mail=*)(alias=dgraystephens))" server=gb0135ldap00.ldap.slb.com port=390 sizelimit=0 timelimit=0 tcplimit=0

after ldap_url_parse: host=gb0135ldap00.ldap.slb.com port=390

ldap_initialize with URL ldap://gb0135ldap00.ldap.slb.com:390/

initialized for LDAP (v3) server gb0135ldap00.ldap.slb.com:390

LDAP_OPT_X_TLS_TRY set

binding with user=NULL password=NULL

Start search

ldap_result loop

LDAP entry loop

LDAP attr loop alias:dgraystephens




The Solaris version was compiled from source using Exim 4.80.1, while the Ubuntu package was installed as a package, and is based on 4.76. I do not see anything explicitly mentioned for LDAP lookups in the exim 4.80 change logs, but there has been changes to the lookups (new type dbmjz)

Regards,

Douglas.


--

================================
Dr. Douglas GRAY STEPHENS
Directory Services Manager
Schlumberger Gould Research
High Cross,
Madingley Road,
Cambridge.
CB3 0EL
ENGLAND

Tel:+44-1223-325295<tel:+44-1223-325295> (Office)
Tel:+44-773-0051628<tel:+44-773-0051628> (Mobile)
Fax +44-1223-311830
Email DGrayStephens@???<mailto:DGrayStephens@slb.com>

Registered Name: Schlumberger Oilfield UK Plc
Registered Office: Victory House, Churchill Court, Manor Royal, Crawley, West Sussex, RH10 9LU
Registered in England and Wales No. 4157867
================================