|
Description
|
Customer is using the mailing application qpopper 4.0.4 (please see http://www.eudora.com/qpopper) on a Solaris 9 system that has been configured as a Native LDAP client.
This program performs some getpwnam() or getspnam() calls that fail, when there has been defined more than one Directory Server (either by IP-addresses or hostnames) in the parameter NS_LDAP_SERVERS of /var/ldap/ldap_client_file.
It works fine, when only one Directory Server is defined in this parameter.
In case of failure, the following messages become logged to /var/adm/messages:
Jan 24 12:10:00 hostname /src/net/qpopper/qpopper4.0.4/popper/popper[3011]: [ID
293258 local0.error] libsldap: Status: 0 Mesg: Invalid server (10.10.10.10,) in
NS_LDAP_SERVERS
Jan 24 12:10:00 hostname last message repeated 1 time
Jan 24 12:10:00 hostname /src/net/qpopper/qpopper4.0.4/popper/popper[3011]: [ID
293258 local0.error] libsldap: Status: 2 Mesg: Unable to load configuration '/v
ar/ldap/ldap_client_file' ('Invalid server (10.10.10.10,) in NS_LDAP_SERVERS').
As the message "Invalid server (10.10.10.10,)" shows, there is a comma at the end of the string that contains the IP-address of the 1rst Directory Server.
Also in a truss can be seen when the function __s_val_serverList() is calling __s_api_isipv4(), the function __s_api_isipv4() is examining a string in the length of the IP-address plus the comma. This means the wrong string (incl. the trailing comma) has already been handed over to __s_val_serverList() when this function became called.
/etc/nsswitch.conf contains "files ldap" only for passwd and group. All the other databases are defined for "files" only:
passwd: files ldap
group: files ldap
hosts: files dns
ipnodes: files
|