diff options
author | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-09-23 13:11:49 +0000 |
---|---|---|
committer | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-09-23 13:11:49 +0000 |
commit | faf64b2b268014d7076a2aeb58a823f45ca9218c (patch) | |
tree | c99eb90ceea7adfebc157ca28a45cf9ae81b4a57 | |
parent | f70446b9182357f44f607f5923ac2eb49c4af12c (diff) | |
download | busybox-w32-faf64b2b268014d7076a2aeb58a823f45ca9218c.tar.gz busybox-w32-faf64b2b268014d7076a2aeb58a823f45ca9218c.tar.bz2 busybox-w32-faf64b2b268014d7076a2aeb58a823f45ca9218c.zip |
correct_password: undo whitespace damage.
vlock + correct_password: fix incorrect line breaks in messages.
git-svn-id: svn://busybox.net/trunk/busybox@16201 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | libbb/correct_password.c | 38 | ||||
-rw-r--r-- | loginutils/su.c | 2 | ||||
-rw-r--r-- | loginutils/vlock.c | 7 |
3 files changed, 17 insertions, 30 deletions
diff --git a/libbb/correct_password.c b/libbb/correct_password.c index 527b3100b..fd7e0b56c 100644 --- a/libbb/correct_password.c +++ b/libbb/correct_password.c | |||
@@ -28,50 +28,38 @@ | |||
28 | * SUCH DAMAGE. | 28 | * SUCH DAMAGE. |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <stdio.h> | ||
32 | #include <errno.h> | ||
33 | #include <unistd.h> | ||
34 | #include <string.h> | ||
35 | #include <stdlib.h> | ||
36 | #include <syslog.h> | ||
37 | #include <ctype.h> | ||
38 | #include <crypt.h> | ||
39 | |||
40 | #include "libbb.h" | 31 | #include "libbb.h" |
41 | 32 | ||
42 | |||
43 | |||
44 | /* Ask the user for a password. | 33 | /* Ask the user for a password. |
45 | Return 1 if the user gives the correct password for entry PW, | 34 | Return 1 if the user gives the correct password for entry PW, |
46 | 0 if not. Return 1 without asking for a password if run by UID 0 | 35 | 0 if not. Return 1 without asking for a password if run by UID 0 |
47 | or if PW has an empty password. */ | 36 | or if PW has an empty password. */ |
48 | 37 | ||
49 | int correct_password ( const struct passwd *pw ) | 38 | int correct_password(const struct passwd *pw) |
50 | { | 39 | { |
51 | char *unencrypted, *encrypted, *correct; | 40 | char *unencrypted, *encrypted, *correct; |
52 | 41 | ||
53 | #ifdef CONFIG_FEATURE_SHADOWPASSWDS | 42 | #ifdef CONFIG_FEATURE_SHADOWPASSWDS |
54 | if (( strcmp ( pw-> pw_passwd, "x" ) == 0 ) || ( strcmp ( pw-> pw_passwd, "*" ) == 0 )) { | 43 | if (!strcmp(pw->pw_passwd, "x") || !strcmp(pw->pw_passwd, "*")) { |
55 | struct spwd *sp = getspnam ( pw-> pw_name ); | 44 | struct spwd *sp = getspnam(pw->pw_name); |
56 | 45 | ||
57 | if ( !sp ) | 46 | if (!sp) |
58 | bb_error_msg_and_die ( "\nno valid shadow password" ); | 47 | bb_error_msg_and_die("no valid shadow password"); |
59 | 48 | ||
60 | correct = sp-> sp_pwdp; | 49 | correct = sp->sp_pwdp; |
61 | } | 50 | } |
62 | else | 51 | else |
63 | #endif | 52 | #endif |
64 | correct = pw-> pw_passwd; | 53 | correct = pw->pw_passwd; |
65 | 54 | ||
66 | if ( correct == 0 || correct[0] == '\0' ) | 55 | if (!correct || correct[0] == '\0') |
67 | return 1; | 56 | return 1; |
68 | 57 | ||
69 | unencrypted = bb_askpass ( 0, "Password: " ); | 58 | unencrypted = bb_askpass(0, "Password: "); |
70 | if ( !unencrypted ) | 59 | if (!unencrypted) { |
71 | { | ||
72 | return 0; | 60 | return 0; |
73 | } | 61 | } |
74 | encrypted = crypt ( unencrypted, correct ); | 62 | encrypted = crypt(unencrypted, correct); |
75 | memset ( unencrypted, 0, strlen ( unencrypted )); | 63 | memset(unencrypted, 0, strlen(unencrypted)); |
76 | return ( strcmp ( encrypted, correct ) == 0 ) ? 1 : 0; | 64 | return (!strcmp(encrypted, correct)) ? 1 : 0; |
77 | } | 65 | } |
diff --git a/loginutils/su.c b/loginutils/su.c index ff6643e60..c51359ae1 100644 --- a/loginutils/su.c +++ b/loginutils/su.c | |||
@@ -45,7 +45,7 @@ int su_main(int argc, char **argv) | |||
45 | } | 45 | } |
46 | 46 | ||
47 | pw = getpwnam(opt_username); | 47 | pw = getpwnam(opt_username); |
48 | if (!pw) bb_error_msg_and_die("Unknown id: %s", opt_username); | 48 | if (!pw) bb_error_msg_and_die("unknown id: %s", opt_username); |
49 | 49 | ||
50 | /* Make sure pw->pw_shell is non-NULL. It may be NULL when NEW_USER | 50 | /* Make sure pw->pw_shell is non-NULL. It may be NULL when NEW_USER |
51 | is a username that is retrieved via NIS (YP), but that doesn't have | 51 | is a username that is retrieved via NIS (YP), but that doesn't have |
diff --git a/loginutils/vlock.c b/loginutils/vlock.c index b4426ad41..564b6d527 100644 --- a/loginutils/vlock.c +++ b/loginutils/vlock.c | |||
@@ -108,13 +108,12 @@ int vlock_main(int argc, char **argv) | |||
108 | tcsetattr(STDIN_FILENO, TCSANOW, &term); | 108 | tcsetattr(STDIN_FILENO, TCSANOW, &term); |
109 | 109 | ||
110 | do { | 110 | do { |
111 | printf("Virtual Console%s locked.\n%s's ", (o_lock_all) ? "s" : "", pw->pw_name); | 111 | printf("Virtual Console%s locked. Enter %s's password to unlock\n", (o_lock_all) ? "s" : "", pw->pw_name); |
112 | fflush(stdout); | 112 | if (correct_password(pw)) { |
113 | if (correct_password (pw)) { | ||
114 | break; | 113 | break; |
115 | } | 114 | } |
116 | bb_do_delay(FAIL_DELAY); | 115 | bb_do_delay(FAIL_DELAY); |
117 | puts("Password incorrect."); | 116 | puts("Password incorrect"); |
118 | } while (1); | 117 | } while (1); |
119 | restore_terminal(); | 118 | restore_terminal(); |
120 | return 0; | 119 | return 0; |