diff options
| author | christos <christos@NetBSD.org> | 2011-12-27 23:34:13 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2011-12-27 23:34:13 +0000 |
| commit | edeeacb1fe516d1151a4ea1bf62b40059a450d94 (patch) | |
| tree | bdb2776c2699c2ecab35a8d035f5c58630ed9b8e /lib/libcrypt/crypt.c | |
| parent | 7ea60e0d778038d10304485abaf73215a7fd0809 (diff) | |
wrap crypt() to a function that returns *0 and *1 on error.
Diffstat (limited to 'lib/libcrypt/crypt.c')
| -rw-r--r-- | lib/libcrypt/crypt.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/libcrypt/crypt.c b/lib/libcrypt/crypt.c index 5bc3c866b80..247f38ffa18 100644 --- a/lib/libcrypt/crypt.c +++ b/lib/libcrypt/crypt.c @@ -1,4 +1,4 @@ -/* $NetBSD: crypt.c,v 1.31 2011/12/27 01:20:45 christos Exp $ */ +/* $NetBSD: crypt.c,v 1.32 2011/12/27 23:34:13 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)crypt.c 8.1.1.1 (Berkeley) 8/18/93"; #else -__RCSID("$NetBSD: crypt.c,v 1.31 2011/12/27 01:20:45 christos Exp $"); +__RCSID("$NetBSD: crypt.c,v 1.32 2011/12/27 23:34:13 christos Exp $"); #endif #endif /* not lint */ @@ -486,7 +486,7 @@ ascii_to_bin(char ch) return retval & 0x3f; } -#include <stdio.h> + /* * When we choose to "support" invalid salts, nevertheless disallow those * containing characters that would violate the passwd file format. @@ -501,8 +501,9 @@ ascii_is_unsafe(char ch) * Return a pointer to static data consisting of the "setting" * followed by an encryption produced by the "key" and "setting". */ +char *__crypt(const char *, const char *); char * -crypt(const char *key, const char *setting) +__crypt(const char *key, const char *setting) { char *encp; int32_t i; @@ -613,6 +614,15 @@ crypt(const char *key, const char *setting) return (cryptresult); } +char * +crypt(const char *key, const char *salt) +{ + char *res = __crypt(key, salt); + if (res) + return res; + /* How do I handle errors ? Return "*0" or "*1" */ + return __UNCONST(salt[0] == '*' && salt[1] == '0' ? "*1" : "*0"); +} /* * The Key Schedule, filled in by des_setkey() or setkey(). |
