[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.2 and 1.3

version 1.2, 1999/09/29 18:16:19 version 1.3, 1999/09/29 21:14:15
Line 110 
Line 110 
         chown(ticket, pw->pw_uid, pw->pw_gid);          chown(ticket, pw->pw_uid, pw->pw_gid);
   
         (void) gethostname(localhost, sizeof(localhost));          (void) gethostname(localhost, sizeof(localhost));
         (void) strncpy(phost, (char *)krb_get_phost(localhost), INST_SZ);          (void) strlcpy(phost, (char *)krb_get_phost(localhost), INST_SZ);
         phost[INST_SZ-1] = 0;  
   
         /* Now that we have a TGT, try to get a local "rcmd" ticket to          /* Now that we have a TGT, try to get a local "rcmd" ticket to
            ensure that we are not talking to a bogus Kerberos server. */             ensure that we are not talking to a bogus Kerberos server. */
Line 228 
Line 227 
 #endif /* HAVE_SECURID */  #endif /* HAVE_SECURID */
   
   /* Save the encrypted password. */    /* Save the encrypted password. */
   strncpy(correct_passwd, pw->pw_passwd, sizeof(correct_passwd));    strlcpy(correct_passwd, pw->pw_passwd, sizeof(correct_passwd));
   
 #ifdef HAVE_OSF1_C2_SECURITY  #ifdef HAVE_OSF1_C2_SECURITY
     osf1c2_getprpwent(correct_passwd, pw->pw_name, sizeof(correct_passwd));      osf1c2_getprpwent(correct_passwd, pw->pw_name, sizeof(correct_passwd));
Line 241 
Line 240 
     struct pr_passwd *pr = getprpwnam(pw->pw_name);      struct pr_passwd *pr = getprpwnam(pw->pw_name);
     pr = getprpwnam(pw->pw_name);      pr = getprpwnam(pw->pw_name);
     if (pr)      if (pr)
       strncpy(correct_passwd, pr->ufld.fd_encrypt, sizeof(correct_passwd));        strlcpy(correct_passwd, pr->ufld.fd_encrypt, sizeof(correct_passwd));
     endprpwent();      endprpwent();
   }    }
 #else /* HAVE_SCO_ETC_SHADOW */  #else /* HAVE_SCO_ETC_SHADOW */
Line 249 
Line 248 
   {    {
     struct spwd *sp = getspnam(pw->pw_name);      struct spwd *sp = getspnam(pw->pw_name);
     if (sp)      if (sp)
       strncpy(correct_passwd, sp->sp_pwdp, sizeof(correct_passwd));        strlcpy(correct_passwd, sp->sp_pwdp, sizeof(correct_passwd));
     endspent();      endspent();
   }    }
 #else /* HAVE_ETC_SHADOW */  #else /* HAVE_ETC_SHADOW */
Line 257 
Line 256 
   {    {
     struct passwd_adjunct *sp = getpwanam(pw->pw_name);      struct passwd_adjunct *sp = getpwanam(pw->pw_name);
     if (sp)      if (sp)
       strncpy(correct_passwd, sp->pwa_passwd, sizeof(correct_passwd));        strnlpy(correct_passwd, sp->pwa_passwd, sizeof(correct_passwd));
     endpwaent();      endpwaent();
   }    }
 #else /* HAVE_ETC_SECURITY_PASSWD_ADJUNCT */  #else /* HAVE_ETC_SECURITY_PASSWD_ADJUNCT */
Line 269 
Line 268 
     f = fopen("/etc/security/passwd", "r");      f = fopen("/etc/security/passwd", "r");
     if (f)      if (f)
       {        {
         sprintf(looking_for_user, "%.190s:", server_user);          snprintf(looking_for_user, sizeof looking_for_user, "%.190s:",
             server_user);
         while (fgets(line, sizeof(line), f))          while (fgets(line, sizeof(line), f))
           {            {
             if (strchr(line, '\n'))              if (strchr(line, '\n'))
Line 286 
Line 286 
                       ;                        ;
                     if (strncmp(cp, "password = ", strlen("password = ")) == 0)                      if (strncmp(cp, "password = ", strlen("password = ")) == 0)
                       {                        {
                         strncpy(correct_passwd, cp + strlen("password = "),                          strlcpy(correct_passwd, cp + strlen("password = "),
                                 sizeof(correct_passwd));                                  sizeof(correct_passwd));
                         correct_passwd[sizeof(correct_passwd) - 1] = 0;  
                         break;                          break;
                       }                        }
                   }                    }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3