When using LDAP authentication and pam_ldap with /etc/ldap.conf set up properly on a client machine, attempts to change a user's password as root on the client machine fails with an error. Reproducible: Always Steps to Reproduce: 1. Login as root on a client machine configured for LDAP authentication. 2. Type 'passwd UnixUser' 3. Proceed to change the user's password. Actual Results: # passwd UnixUser New UNIX password: Retype new UNIX password: passwd: encode.c:327: ber_put_string: Assertion `str != ((void *)0)' failed. Aborted Expected Results: Running passwd on the client machine as root should of changed the user's password. Currently my client machine is using net-libs/pam_ldap-171. # emerge -s pam_ldap Searching... [ Results for search key : pam_ldap ] [ Applications found : 1 ] * net-libs/pam_ldap Latest version available: 171 Latest version installed: 171 Size of downloaded files: 117 kB Homepage: http://www.padl.com/OSS/pam_ldap.html Description: PAM LDAP Module License: || ( GPL-2 LGPL-2 ) ----- My LDAP server is running net-nds/openldap-2.1.30-r2. # emerge -s openldap Searching... [ Results for search key : openldap ] [ Applications found : 1 ] * net-nds/openldap Latest version available: 2.1.30-r4 Latest version installed: 2.1.30-r2 Size of downloaded files: 1,996 kB Homepage: http://www.OpenLDAP.org/ Description: LDAP suite of application and development tools License: OPENLDAP ----- The LDAP server is configured for LDAP authentication as well. Trying to change the user's password on the LDAP server as root returns the same error. A search for 'pam_ldap ber_put_string' and 'passwd ber_put_string' on Google returns bug reports for other distros and patches that might work.
Try version 176, and reopen if still and issue.
Tested passwd on a client machine and server with pam_ldap 176 installed and I was able to change passwords. Now to get UNIX passwords to automagically sync with Windows Domain passwords.