[BACK]Return to auth-passwd.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/auth-passwd.c between version 1.27.2.1 and 1.28

version 1.27.2.1, 2003/09/16 21:20:24 version 1.28, 2003/07/22 13:35:22
Line 54 
Line 54 
 auth_password(Authctxt *authctxt, const char *password)  auth_password(Authctxt *authctxt, const char *password)
 {  {
         struct passwd * pw = authctxt->pw;          struct passwd * pw = authctxt->pw;
         int ok = authctxt->valid;  
   
         /* deny if no user. */          /* deny if no user. */
         if (pw == NULL)          if (pw == NULL)
                 return 0;                  return 0;
         if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)          if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)
                 ok = 0;                  return 0;
         if (*password == '\0' && options.permit_empty_passwd == 0)          if (*password == '\0' && options.permit_empty_passwd == 0)
                 return 0;                  return 0;
 #ifdef KRB5  #ifdef KRB5
         if (options.kerberos_authentication == 1) {          if (options.kerberos_authentication == 1) {
                 int ret = auth_krb5_password(authctxt, password);                  int ret = auth_krb5_password(authctxt, password);
                 if (ret == 1 || ret == 0)                  if (ret == 1 || ret == 0)
                         return ret && ok;                          return ret;
                 /* Fall back to ordinary passwd authentication. */                  /* Fall back to ordinary passwd authentication. */
         }          }
 #endif  #endif
Line 76 
Line 75 
             (char *)password) == 0)              (char *)password) == 0)
                 return 0;                  return 0;
         else          else
                 return ok;                  return 1;
 #else  #else
         /* Check for users with no password. */          /* Check for users with no password. */
         if (strcmp(password, "") == 0 && strcmp(pw->pw_passwd, "") == 0)          if (strcmp(password, "") == 0 && strcmp(pw->pw_passwd, "") == 0)
                 return ok;                  return 1;
         else {          else {
                 /* Encrypt the candidate password using the proper salt. */                  /* Encrypt the candidate password using the proper salt. */
                 char *encrypted_password = crypt(password,                  char *encrypted_password = crypt(password,
Line 90 
Line 89 
                  * Authentication is accepted if the encrypted passwords                   * Authentication is accepted if the encrypted passwords
                  * are identical.                   * are identical.
                  */                   */
                 return (strcmp(encrypted_password, pw->pw_passwd) == 0) && ok;                  return (strcmp(encrypted_password, pw->pw_passwd) == 0);
         }          }
 #endif  #endif
 }  }

Legend:
Removed from v.1.27.2.1  
changed lines
  Added in v.1.28