diff -rupN src/acls.c new/acls.c --- src/acls.c 2009-11-01 02:21:45.730094783 -0300 +++ new/acls.c 2009-11-01 02:23:36.664143458 -0300 @@ -546,7 +546,7 @@ char *name, *pw1, *pw2; if (pw2 && *pw2 && *pw2 != '\377') /* provided a system password */ { if (!*pass || /* but needed none */ - strcmp(crypt(pw2, pass), pass)) + strcmp((char *)crypt(pw2, pass), pass)) { debug("System password mismatch\n"); sorry++; @@ -559,7 +559,7 @@ char *name, *pw1, *pw2; if (pw1 && *pw1 && *pw1 != '\377') /* provided a screen password */ { if (!*u->u_password || /* but needed none */ - strcmp(crypt(pw1, u->u_password), u->u_password)) + strcmp((char *)crypt(pw1, u->u_password), u->u_password)) { debug("screen password mismatch\n"); sorry++; diff -rupN src/attacher.c new/attacher.c --- src/attacher.c 2009-11-01 02:21:45.733426543 -0300 +++ new/attacher.c 2009-11-01 02:24:27.296966381 -0300 @@ -866,7 +866,7 @@ screen_builtin_lck() salt[0] = 'A' + (int)(time(0) % 26); salt[1] = 'A' + (int)((time(0) >> 6) % 26); salt[2] = 0; - pass = crypt(mypass, salt); + pass = (char *)crypt(mypass, salt); pass = ppp->pw_passwd = SaveStr(pass); } #endif @@ -909,7 +909,7 @@ screen_builtin_lck() if (pam_error == PAM_SUCCESS) break; #else - if (!strncmp(crypt(cp1, pass), pass, strlen(pass))) + if (!strncmp((char *)crypt(cp1, pass), pass, strlen(pass))) break; #endif debug("screen_builtin_lck: NO!!!!!\n"); diff -rupN src/process.c new/process.c --- src/process.c 2009-11-01 02:21:45.753426386 -0300 +++ new/process.c 2009-11-01 02:25:23.676738277 -0300 @@ -6332,7 +6332,7 @@ char *data; for (st = 0; st < 2; st++) salt[st] = 'A' + (int)((time(0) >> 6 * st) % 26); salt[2] = 0; - buf = crypt(u->u_password, salt); + buf = (char *)crypt(u->u_password, salt); bzero(u->u_password, strlen(u->u_password)); free((char *)u->u_password); u->u_password = SaveStr(buf);