summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libshouldbeinlibc/ChangeLog5
-rw-r--r--libshouldbeinlibc/idvec-verify.c13
2 files changed, 10 insertions, 8 deletions
diff --git a/libshouldbeinlibc/ChangeLog b/libshouldbeinlibc/ChangeLog
index c2580202..fd854f6b 100644
--- a/libshouldbeinlibc/ChangeLog
+++ b/libshouldbeinlibc/ChangeLog
@@ -1,8 +1,3 @@
-2003-08-06 Jeroen Dekkers <jeroen@dekkers.cx>
-
- * idvec-verify.c: Remove #pragma weak crypt.
- (verify_passwd): Don't check if crypt exist.
-
2003-08-03 Marco Gerards <metgerards@student.han.nl>
* idvec-verify.c: Include <crypt.h>.
diff --git a/libshouldbeinlibc/idvec-verify.c b/libshouldbeinlibc/idvec-verify.c
index f8b2f449..55d20e2c 100644
--- a/libshouldbeinlibc/idvec-verify.c
+++ b/libshouldbeinlibc/idvec-verify.c
@@ -1,6 +1,6 @@
/* Verify user passwords
- Copyright (C) 1996,97,98,99,2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1996,97,98,99,2002 Free Software Foundation, Inc.
Written by Miles Bader <miles@gnu.org>
This program is free software; you can redistribute it and/or
@@ -30,6 +30,8 @@
#define SHADOW_PASSWORD_STRING "x" /* pw_passwd contents for shadow passwd */
+#pragma weak crypt
+
static error_t verify_id (); /* FWD */
/* Get a password from the user, returning it in malloced storage. */
@@ -68,8 +70,13 @@ verify_passwd (const char *password,
if (sys_encrypted[0] == '\0')
return 0; /* No password. */
- /* Encrypt the password entered by the user (SYS_ENCRYPTED is the salt). */
- encrypted = crypt (password, sys_encrypted);
+ if (crypt)
+ /* Encrypt the password entered by the user (SYS_ENCRYPTED is the salt). */
+ encrypted = crypt (password, sys_encrypted);
+ else
+ /* No crypt on this system! Use plain-text passwords. */
+ encrypted = password;
+
if (! encrypted)
/* Crypt failed. */
return errno;