diff options
Diffstat (limited to 'utils.c')
| -rw-r--r-- | utils.c | 7 |
1 files changed, 3 insertions, 4 deletions
| @@ -198,10 +198,9 @@ void new_password(const char *uid, d_char **clear_pwd, d_char **hashed_pwd) | |||
| 198 | { | 198 | { |
| 199 | int rndbuf[3]; | 199 | int rndbuf[3]; |
| 200 | 200 | ||
| 201 | srandom(time(NULL) ^ getpid()); | 201 | rndbuf[0] = arc4random(); |
| 202 | rndbuf[0] = random() & 0xffffffff; | 202 | rndbuf[1] = arc4random(); |
| 203 | rndbuf[1] = random() & 0xffffffff; | 203 | rndbuf[2] = arc4random(); |
| 204 | rndbuf[2] = random() & 0xffffffff; | ||
| 205 | 204 | ||
| 206 | *clear_pwd = xs_base64_enc((char *)rndbuf, sizeof(rndbuf)); | 205 | *clear_pwd = xs_base64_enc((char *)rndbuf, sizeof(rndbuf)); |
| 207 | *hashed_pwd = hash_password(uid, *clear_pwd, NULL); | 206 | *hashed_pwd = hash_password(uid, *clear_pwd, NULL); |