diff -up yp-tools-2.12/src/yppasswd.c.adjunct yp-tools-2.12/src/yppasswd.c --- yp-tools-2.12/src/yppasswd.c.adjunct 2012-04-23 13:17:47.000988833 +0200 +++ yp-tools-2.12/src/yppasswd.c 2012-04-23 13:18:01.209802938 +0200 @@ -450,6 +450,7 @@ passwdlen = get_passwd_len (pwd->pw_passwd); if (pwd->pw_passwd[0] && 0 != strcmp (pwd->pw_passwd, "x") /* don't check shadow passwords */ + && 0 != strncmp (pwd->pw_passwd, "##", 2) /* don't check passwords using passwd.adjunct feature */ && uid) { char *crypted = crypt(pwdstr, pwd->pw_passwd); @@ -774,6 +775,7 @@ /* We can't check the password with shadow passwords enabled. We * leave the checking to yppasswdd */ if (uid != 0 && strcmp (pwd->pw_passwd, "x") != 0 && + 0 != strncmp (pwd->pw_passwd, "##", 2) && /* don't check passwords using passwd.adjunct feature */ strcmp (pwd->pw_passwd, hashpass ) != 0) { int passwdlen = get_passwd_len (pwd->pw_passwd);