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

[email protected] 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 
[email protected]

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 [email protected]

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



-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to