diff options
author | sjg <sjg@FreeBSD.org> | 2014-08-19 06:50:54 +0000 |
---|---|---|
committer | sjg <sjg@FreeBSD.org> | 2014-08-19 06:50:54 +0000 |
commit | d7cd1d425cc1ea9451fa235e3af9b6625c3e0de2 (patch) | |
tree | b04f4bd7cd887f50e7d98af35f46b9834ff86c80 /lib/libcrypt | |
parent | 3c8e37b1d04827f33c0c9a7594bd1b1ef7cdb3d3 (diff) | |
parent | 4fbde208c6460d576f64d6dc3cdc6cab085a4283 (diff) | |
download | FreeBSD-src-d7cd1d425cc1ea9451fa235e3af9b6625c3e0de2.zip FreeBSD-src-d7cd1d425cc1ea9451fa235e3af9b6625c3e0de2.tar.gz |
Merge head from 7/28
Diffstat (limited to 'lib/libcrypt')
-rw-r--r-- | lib/libcrypt/crypt.3 | 2 | ||||
-rw-r--r-- | lib/libcrypt/crypt.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/libcrypt/crypt.3 b/lib/libcrypt/crypt.3 index 50829c2..828c37f 100644 --- a/lib/libcrypt/crypt.3 +++ b/lib/libcrypt/crypt.3 @@ -283,7 +283,7 @@ libcrypt encryption library. .Sh AUTHORS .An -nosplit Originally written by -.An David Burren Aq davidb@werj.com.au , +.An David Burren Aq Mt davidb@werj.com.au , later additions and changes by .An Poul-Henning Kamp , .An Mark R V Murray , diff --git a/lib/libcrypt/crypt.c b/lib/libcrypt/crypt.c index 040fdc1..c3ca4c2 100644 --- a/lib/libcrypt/crypt.c +++ b/lib/libcrypt/crypt.c @@ -104,12 +104,16 @@ char * crypt(const char *passwd, const char *salt) { const struct crypt_format *cf; +#ifdef HAS_DES + int len; +#endif for (cf = crypt_formats; cf->name != NULL; ++cf) if (cf->magic != NULL && strstr(salt, cf->magic) == salt) return (cf->func(passwd, salt)); #ifdef HAS_DES - if (strlen(salt) == 13 && strspn(salt, DES_SALT_ALPHABET) == 13) + len = strlen(salt); + if ((len == 13 || len == 2) && strspn(salt, DES_SALT_ALPHABET) == len) return (crypt_des(passwd, salt)); #endif return (crypt_format->func(passwd, salt)); |