I'm not sure if this affects all ldap users, but since 1.18rc1 I
couldn't login anymore using user(a)domain.tld like used in ispman.
We used to use
http://server/?o=ispman?mailRoutingAddress?sub?(uid=%25s)
Since it's not using serverdb_get2 I updated that line to use
http://server/?o=ispman?mailRoutingAddress,mailHost?sub?(uid=%25s)
Which works 100% using ldap search It returns
mailRoutingAddress = user_domain_tld@mailHost
mailHost = mailHost
so I had to also add to perdition.conf
strip_domain remote_login
Now that being said even with all that I'd get server null, looking
into perditiondb_ldap.c I found that it wasn't setting the ref
values. I had to changes these lines
/* Build the return string */
if (returns[0])
user_str = &returns[0];
if (returns[1])
server_str = &returns[1];
if (returns[2])
port_str = &returns[2];
to look like this
/* Build the return string */
if (returns[0])
*user_str = returns[0];
if (returns[1])
*server_str = returns[1];
if (returns[2])
*port_str = returns[2];
Now everything works 100%, server gets set as does the user, hope this
helps others cause it was 4 days of hell for me :D
---
TS
http://southofheaven.org/
Chaos is the beginning and end, try dealing with the rest.