]> andersk Git - openssh.git/blobdiff - auth-passwd.c
- (stevesk) [auth1.c] fix password auth for protocol 1 when
[openssh.git] / auth-passwd.c
index 5a91e5585afe6f811e69cb7ee1621fad48911ea5..095b9ba27c9b43e7eba6c5bd2c9de28cbb10b704 100644 (file)
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth-passwd.c,v 1.21 2001/02/12 16:16:23 markus Exp $");
+RCSID("$OpenBSD: auth-passwd.c,v 1.24 2002/03/04 12:43:06 markus Exp $");
 
 #if !defined(USE_PAM) && !defined(HAVE_OSF_SIA)
 
 #include "packet.h"
-#include "xmalloc.h"
 #include "log.h"
 #include "servconf.h"
 #include "auth.h"
 
+#ifdef HAVE_CRYPT_H
+# include <crypt.h>
+#endif
 #ifdef WITH_AIXAUTHENTICATE
 # include <login.h>
 #endif
@@ -125,14 +127,14 @@ auth_password(Authctxt *authctxt, const char *password)
 #endif
        if (*password == '\0' && options.permit_empty_passwd == 0)
                return 0;
-#ifdef BSD_AUTH
-       if (auth_userokay(pw->pw_name, authctxt->style, "auth-ssh",
-           (char *)password) == 0)
-               return 0;
-       else
-               return 1;
+#ifdef KRB5
+       if (options.kerberos_authentication == 1) {
+               int ret = auth_krb5_password(authctxt, password);
+               if (ret == 1 || ret == 0)
+                       return ret;
+               /* Fall back to ordinary passwd authentication. */
+       }
 #endif
-
 #ifdef HAVE_CYGWIN
        if (is_winnt) {
                HANDLE hToken = cygwin_logon_user(pw, password);
@@ -143,21 +145,24 @@ auth_password(Authctxt *authctxt, const char *password)
                return 1;
        }
 #endif
-
 #ifdef WITH_AIXAUTHENTICATE
        return (authenticate(pw->pw_name,password,&reenter,&authmsg) == 0);
 #endif
-
 #ifdef KRB4
        if (options.kerberos_authentication == 1) {
-               int ret = auth_krb4_password(pw, password);
+               int ret = auth_krb4_password(authctxt, password);
                if (ret == 1 || ret == 0)
                        return ret;
                /* Fall back to ordinary passwd authentication. */
        }
 #endif
-
-
+#ifdef BSD_AUTH
+       if (auth_userokay(pw->pw_name, authctxt->style, "auth-ssh",
+           (char *)password) == 0)
+               return 0;
+       else
+               return 1;
+#endif
        pw_password = pw->pw_passwd;
 
        /*
@@ -206,7 +211,11 @@ auth_password(Authctxt *authctxt, const char *password)
        else
                encrypted_password = crypt(password, salt);
 # else
+#  ifdef HAVE_SCO_PROTECTED_PW
+       encrypted_password = bigcrypt(password, salt);
+#  else
        encrypted_password = crypt(password, salt);
+#  endif /* HAVE_SCO_PROTECTED_PW */
 # endif /* __hpux */
 #endif /* HAVE_MD5_PASSWORDS */
 
This page took 0.034667 seconds and 4 git commands to generate.