Re: [exim] exim-4.80.1 testing issues

Top Page
Delete this message
Reply to this message
Author: Douglas Gray Stephens
Date:  
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@??? 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@???

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@???

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
================================