diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-08-10 00:20:00 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-08-10 00:20:00 -0400 |
commit | a02bf5fc508c32e8617ff0528d1cc89ed56e3d03 (patch) | |
tree | f4d8201b7308ad5488c383ae7e447a761107387c /src/misc/crypt_r.c | |
parent | 2f437040e7911d9bef239588ea7ed6f4b9102922 (diff) | |
download | musl-a02bf5fc508c32e8617ff0528d1cc89ed56e3d03.tar.gz musl-a02bf5fc508c32e8617ff0528d1cc89ed56e3d03.tar.bz2 musl-a02bf5fc508c32e8617ff0528d1cc89ed56e3d03.tar.xz musl-a02bf5fc508c32e8617ff0528d1cc89ed56e3d03.zip |
add blowfish hash support to crypt
there are still some discussions going on about tweaking the code, but
at least thing brings us to the point of having something working in
the repository. hopefully the remaining major hashes (md5,sha) will
follow soon.
Diffstat (limited to 'src/misc/crypt_r.c')
-rw-r--r-- | src/misc/crypt_r.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/misc/crypt_r.c b/src/misc/crypt_r.c index d16ab48d..f4716d6f 100644 --- a/src/misc/crypt_r.c +++ b/src/misc/crypt_r.c @@ -5,19 +5,19 @@ struct crypt_data; char *__crypt_des(const char *, const char *, char *); char *__crypt_md5(const char *, const char *, char *); +char *__crypt_blowfish(const char *, const char *, char *); char *__crypt_r(const char *key, const char *salt, struct crypt_data *data) { char *output = (char *)data; + if (salt[0] == '$' && salt[1] && salt[2]) { #if 0 - /* MD5 or SHA? */ - if (salt[0] == '$' && salt[1] && salt[2] == '$') { - if (salt[1] == '1') - return __crypt_md5((char *)data, key, salt); - else - return "x"; - } + if (salt[1] == '1' && salt[2] == '$') + return __crypt_md5(key, salt, output); #endif + if (salt[1] == '2' && salt[3] == '$') + return __crypt_blowfish(key, salt, output); + } return __crypt_des(key, salt, output); } |