Diff for /embedaddon/sudo/plugins/sudoers/auth/passwd.c between versions 1.1 and 1.1.1.2

version 1.1, 2012/02/21 16:23:02 version 1.1.1.2, 2012/05/29 12:26:49
Line 49 Line 49
 #define HAS_AGEINFO(p, l)       (l == 18 && p[DESLEN] == ',')  #define HAS_AGEINFO(p, l)       (l == 18 && p[DESLEN] == ',')
   
 int  int
passwd_init(struct passwd *pw, sudo_auth *auth)sudo_passwd_init(struct passwd *pw, sudo_auth *auth)
 {  {
       debug_decl(sudo_passwd_init, SUDO_DEBUG_AUTH)
   
 #ifdef HAVE_SKEYACCESS  #ifdef HAVE_SKEYACCESS
     if (skeyaccess(pw, user_tty, NULL, NULL) == 0)      if (skeyaccess(pw, user_tty, NULL, NULL) == 0)
        return AUTH_FAILURE;        debug_return_int(AUTH_FAILURE);
 #endif  #endif
     sudo_setspent();      sudo_setspent();
     auth->data = sudo_getepw(pw);      auth->data = sudo_getepw(pw);
     sudo_endspent();      sudo_endspent();
    return AUTH_SUCCESS;    debug_return_int(AUTH_SUCCESS);
 }  }
   
 int  int
passwd_verify(struct passwd *pw, char *pass, sudo_auth *auth)sudo_passwd_verify(struct passwd *pw, char *pass, sudo_auth *auth)
 {  {
     char sav, *epass;      char sav, *epass;
     char *pw_epasswd = auth->data;      char *pw_epasswd = auth->data;
     size_t pw_len;      size_t pw_len;
     int error;      int error;
       debug_decl(sudo_passwd_verify, SUDO_DEBUG_AUTH)
   
     pw_len = strlen(pw_epasswd);      pw_len = strlen(pw_epasswd);
   
Line 75  passwd_verify(struct passwd *pw, char *pass, sudo_auth Line 78  passwd_verify(struct passwd *pw, char *pass, sudo_auth
     /* Ultrix shadow passwords may use crypt16() */      /* Ultrix shadow passwords may use crypt16() */
     error = strcmp(pw_epasswd, (char *) crypt16(pass, pw_epasswd));      error = strcmp(pw_epasswd, (char *) crypt16(pass, pw_epasswd));
     if (!error)      if (!error)
        return AUTH_SUCCESS;        debug_return_int(AUTH_SUCCESS);
 #endif /* HAVE_GETAUTHUID */  #endif /* HAVE_GETAUTHUID */
   
     /*      /*
Line 98  passwd_verify(struct passwd *pw, char *pass, sudo_auth Line 101  passwd_verify(struct passwd *pw, char *pass, sudo_auth
     else      else
         error = strcmp(pw_epasswd, epass);          error = strcmp(pw_epasswd, epass);
   
    return error ? AUTH_FAILURE : AUTH_SUCCESS;    debug_return_int(error ? AUTH_FAILURE : AUTH_SUCCESS);
 }  }
   
 int  int
passwd_cleanup(pw, auth)sudo_passwd_cleanup(pw, auth)
     struct passwd *pw;      struct passwd *pw;
     sudo_auth *auth;      sudo_auth *auth;
 {  {
     char *pw_epasswd = auth->data;      char *pw_epasswd = auth->data;
       debug_decl(sudo_passwd_cleanup, SUDO_DEBUG_AUTH)
   
     if (pw_epasswd != NULL) {      if (pw_epasswd != NULL) {
         zero_bytes(pw_epasswd, strlen(pw_epasswd));          zero_bytes(pw_epasswd, strlen(pw_epasswd));
         efree(pw_epasswd);          efree(pw_epasswd);
     }      }
    return AUTH_SUCCESS;    debug_return_int(AUTH_SUCCESS);
 }  }

Removed from v.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>