diff options
Diffstat (limited to 'utils/login.c')
-rw-r--r-- | utils/login.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/utils/login.c b/utils/login.c index 10762bc8..726d7d16 100644 --- a/utils/login.c +++ b/utils/login.c @@ -359,6 +359,8 @@ dog (time_t timeout, pid_t pid, char **argv) } } +asm (".weak crypt"); + void main(int argc, char *argv[]) { @@ -531,13 +533,14 @@ main(int argc, char *argv[]) prompt = "Password:"; unencrypted = getpass (prompt); -#ifdef government_not_broken - encrypted = crypt (unencrypted, password); - /* Paranoia may destroya. */ - memset (unencrypted, 0, strlen (unencrypted)); -#else - encrypted = unencrypted; -#endif + if (crypt) + { + encrypted = crypt (unencrypted, password); + /* Paranoia may destroya. */ + memset (unencrypted, 0, strlen (unencrypted)); + } + else + encrypted = unencrypted; if (name) free (prompt); |