Red Hat Bugzilla – Bug 6090
glibc getwpent() calls don't handle HP-UX NIS password aging
Last modified: 2008-05-01 11:37:52 EDT
HP-UX implements password aging information as an extension
to the encrypted password field - eg "oMTEeSwfFGf8I,F/FM".
pwdb/pam would now appear to have been updated to handle
this, but the core glibc calls are still broken when called
from legacy applications.
I don't see how glibc can handle any of that. This is a HP-UX extension designed
to be used and dealt with at the application level, not in the library.
Duh! The encrypted password returned by getpwent() inlcudes the aging info -
this causes applications to break. How to handle the password aging is a
separate issue, but the inability to login is a problem.
Supplied patch is against RH6.0 Source RPM.
*** glibc/pwd/fgetpwent_r.c.orig Sat Apr 10 06:57:43 1999
--- glibc/pwd/fgetpwent_r.c Sat Apr 10 07:33:08 1999
*** 53,58 ****
--- 53,63 ----
STRING_FIELD (result->pw_passwd, ISCOLON, 0);
+ /* truncate password at ',' in 14th character */
+ if ((result->pw_passwd != NULL) && (result->pw_passwd == ','))
+ result->pw_passwd = '\0';
if (result->pw_name == '+' || result->pw_name == '-')
INT_FIELD_MAYBE_NULL (result->pw_uid, ISCOLON, 0, 10, , 0)