diff options
Diffstat (limited to 'crypto/openssh/auth-passwd.c')
-rw-r--r-- | crypto/openssh/auth-passwd.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/crypto/openssh/auth-passwd.c b/crypto/openssh/auth-passwd.c deleted file mode 100644 index 73f43f96fb2c1..0000000000000 --- a/crypto/openssh/auth-passwd.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Author: Tatu Ylonen <ylo@cs.hut.fi> - * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland - * All rights reserved - * Created: Sat Mar 18 05:11:38 1995 ylo - * Password authentication. This file contains the functions to check whether - * the password is valid for the user. - * - * $FreeBSD$ - */ - -#include "includes.h" -RCSID("$Id: auth-passwd.c,v 1.15 2000/04/14 10:30:29 markus Exp $"); - -#include "packet.h" -#include "ssh.h" -#include "servconf.h" -#include "xmalloc.h" - -/* - * Tries to authenticate the user using password. Returns true if - * authentication succeeds. - */ -int -auth_password(struct passwd * pw, const char *password) -{ - extern ServerOptions options; - char *encrypted_password; - - /* deny if no user. */ - if (pw == NULL) - return 0; - if (pw->pw_uid == 0 && options.permit_root_login == 2) - return 0; - if (*password == '\0' && options.permit_empty_passwd == 0) - return 0; - -#ifdef SKEY - if (options.skey_authentication == 1) { - int ret = auth_skey_password(pw, password); - if (ret == 1 || ret == 0) - return ret; - /* Fall back to ordinary passwd authentication. */ - } -#endif -#ifdef KRB5 - if (options.krb5_authentication == 1) { - if (auth_krb5_password(pw, password)) - return 1; - /* Fall back to ordinary passwd authentication. */ - } - -#endif /* KRB5 */ -#ifdef KRB4 - if (options.krb4_authentication == 1) { - int ret = auth_krb4_password(pw, password); - if (ret == 1 || ret == 0) - return ret; - /* Fall back to ordinary passwd authentication. */ - } -#endif - - /* Check for users with no password. */ - if (strcmp(password, "") == 0 && strcmp(pw->pw_passwd, "") == 0) - return 1; - /* Encrypt the candidate password using the proper salt. */ - encrypted_password = crypt(password, - (pw->pw_passwd[0] && pw->pw_passwd[1]) ? pw->pw_passwd : "xx"); - - /* Authentication is accepted if the encrypted passwords are identical. */ - return (strcmp(encrypted_password, pw->pw_passwd) == 0); -} |