summaryrefslogtreecommitdiff
path: root/src/usr.bin/openssl/passwd.c
diff options
context:
space:
mode:
authorjsing <>2014-10-22 13:54:03 +0000
committerjsing <>2014-10-22 13:54:03 +0000
commit5e608739d7bf88c892bfd6731e5aa80b77ce8371 (patch)
tree5182be1e2bb99eb4ec60a5c42f2f953b4c1cadf1 /src/usr.bin/openssl/passwd.c
parent52a58602e3937304d1798cc129d61e4048e04bd7 (diff)
downloadopenbsd-5e608739d7bf88c892bfd6731e5aa80b77ce8371.tar.gz
openbsd-5e608739d7bf88c892bfd6731e5aa80b77ce8371.tar.bz2
openbsd-5e608739d7bf88c892bfd6731e5aa80b77ce8371.zip
Use arc4random_buf() instead of RAND(_pseudo)?_bytes().
ok bcook@
Diffstat (limited to '')
-rw-r--r--src/usr.bin/openssl/passwd.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/usr.bin/openssl/passwd.c b/src/usr.bin/openssl/passwd.c
index fd5d062f57..c29cccf6cf 100644
--- a/src/usr.bin/openssl/passwd.c
+++ b/src/usr.bin/openssl/passwd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: passwd.c,v 1.1 2014/08/26 17:47:25 jsing Exp $ */ 1/* $OpenBSD: passwd.c,v 1.2 2014/10/22 13:54:03 jsing Exp $ */
2 2
3#if defined OPENSSL_NO_MD5 3#if defined OPENSSL_NO_MD5
4#define NO_MD5CRYPT_1 4#define NO_MD5CRYPT_1
@@ -14,7 +14,6 @@
14#include <openssl/bio.h> 14#include <openssl/bio.h>
15#include <openssl/err.h> 15#include <openssl/err.h>
16#include <openssl/evp.h> 16#include <openssl/evp.h>
17#include <openssl/rand.h>
18 17
19#ifndef OPENSSL_NO_DES 18#ifndef OPENSSL_NO_DES
20#include <openssl/des.h> 19#include <openssl/des.h>
@@ -384,8 +383,7 @@ do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
384 if (*salt_malloc_p == NULL) 383 if (*salt_malloc_p == NULL)
385 goto err; 384 goto err;
386 } 385 }
387 if (RAND_pseudo_bytes((unsigned char *) *salt_p, 2) < 0) 386 arc4random_buf(*salt_p, 2);
388 goto err;
389 (*salt_p)[0] = cov_2char[(*salt_p)[0] & 0x3f]; /* 6 bits */ 387 (*salt_p)[0] = cov_2char[(*salt_p)[0] & 0x3f]; /* 6 bits */
390 (*salt_p)[1] = cov_2char[(*salt_p)[1] & 0x3f]; /* 6 bits */ 388 (*salt_p)[1] = cov_2char[(*salt_p)[1] & 0x3f]; /* 6 bits */
391 (*salt_p)[2] = 0; 389 (*salt_p)[2] = 0;
@@ -401,8 +399,7 @@ do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
401 if (*salt_malloc_p == NULL) 399 if (*salt_malloc_p == NULL)
402 goto err; 400 goto err;
403 } 401 }
404 if (RAND_pseudo_bytes((unsigned char *) *salt_p, 8) < 0) 402 arc4random_buf(*salt_p, 8);
405 goto err;
406 403
407 for (i = 0; i < 8; i++) 404 for (i = 0; i < 8; i++)
408 (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */ 405 (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */