I appreciate the pam module feature having an environment variable
PASSWORD_EXPIRES set after login.
However, migrating from a 31bit system (architecture s390) to a 64bit
system
(architecture s390x) the variable started to contain useless garbage but
the
actual amount of days until the password expires.
After some investigation I found out that this fix should help:

--- src/pam/afs_setcred.c.orig  2003-07-16 01:15:56.000000000 +0200
+++ src/pam/afs_setcred.c       2006-01-09 13:50:45.855802000 +0100
@@ -62,7 +62,7 @@
     int auth_ok = 0;
     char *lh;
     char *user = NULL;
-    long password_expires = -1;
+    int password_expires = -1;
     char *reason = NULL;
     struct passwd unix_pwd, *upwd = NULL;
     char upwd_buf[2048];       /* size is a guess. */

It seems that "password_expires" is handled in a 32bit variable and
on 64bit systems the type "long" defaults to a 64bit object.

With kind regards,

Carsten Jacobi (*120-4468)
Firmware Development in Böblingen

IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Herbert Kircher
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

Reply via email to