diff options
Diffstat (limited to 'auth-passwd.c')
-rw-r--r-- | auth-passwd.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/auth-passwd.c b/auth-passwd.c index c849abdcc..5a91e5585 100644 --- a/auth-passwd.c +++ b/auth-passwd.c | |||
@@ -77,14 +77,17 @@ RCSID("$OpenBSD: auth-passwd.c,v 1.21 2001/02/12 16:16:23 markus Exp $"); | |||
77 | #define is_winnt (GetVersion() < 0x80000000) | 77 | #define is_winnt (GetVersion() < 0x80000000) |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | |||
81 | extern ServerOptions options; | ||
82 | |||
80 | /* | 83 | /* |
81 | * Tries to authenticate the user using password. Returns true if | 84 | * Tries to authenticate the user using password. Returns true if |
82 | * authentication succeeds. | 85 | * authentication succeeds. |
83 | */ | 86 | */ |
84 | int | 87 | int |
85 | auth_password(struct passwd * pw, const char *password) | 88 | auth_password(Authctxt *authctxt, const char *password) |
86 | { | 89 | { |
87 | extern ServerOptions options; | 90 | struct passwd * pw = authctxt->pw; |
88 | char *encrypted_password; | 91 | char *encrypted_password; |
89 | char *pw_password; | 92 | char *pw_password; |
90 | char *salt; | 93 | char *salt; |
@@ -122,6 +125,13 @@ auth_password(struct passwd * pw, const char *password) | |||
122 | #endif | 125 | #endif |
123 | if (*password == '\0' && options.permit_empty_passwd == 0) | 126 | if (*password == '\0' && options.permit_empty_passwd == 0) |
124 | return 0; | 127 | return 0; |
128 | #ifdef BSD_AUTH | ||
129 | if (auth_userokay(pw->pw_name, authctxt->style, "auth-ssh", | ||
130 | (char *)password) == 0) | ||
131 | return 0; | ||
132 | else | ||
133 | return 1; | ||
134 | #endif | ||
125 | 135 | ||
126 | #ifdef HAVE_CYGWIN | 136 | #ifdef HAVE_CYGWIN |
127 | if (is_winnt) { | 137 | if (is_winnt) { |