summaryrefslogtreecommitdiffstats
path: root/lib/libcrypt
diff options
context:
space:
mode:
authorsjg <sjg@FreeBSD.org>2014-08-19 06:50:54 +0000
committersjg <sjg@FreeBSD.org>2014-08-19 06:50:54 +0000
commitd7cd1d425cc1ea9451fa235e3af9b6625c3e0de2 (patch)
treeb04f4bd7cd887f50e7d98af35f46b9834ff86c80 /lib/libcrypt
parent3c8e37b1d04827f33c0c9a7594bd1b1ef7cdb3d3 (diff)
parent4fbde208c6460d576f64d6dc3cdc6cab085a4283 (diff)
downloadFreeBSD-src-d7cd1d425cc1ea9451fa235e3af9b6625c3e0de2.zip
FreeBSD-src-d7cd1d425cc1ea9451fa235e3af9b6625c3e0de2.tar.gz
Merge head from 7/28
Diffstat (limited to 'lib/libcrypt')
-rw-r--r--lib/libcrypt/crypt.32
-rw-r--r--lib/libcrypt/crypt.c6
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));
OpenPOWER on IntegriCloud