commit 3ccf4e3
default
·
2023-04-16 18:27:38 +0000 UTC
parent f658f34
arc4random() does not exist in not-so-old systems, so revert this. Revert "Replaced random() with arc4random()." This reverts commit f658f345cac7b24d6fa61f08b4ec09823d28b11a.
3 files changed,
+9,
-8
+4,
-4
1@@ -21,10 +21,10 @@ static xs_str *random_str(void)
2 fclose(f);
3 }
4 else {
5- data[0] = arc4random();
6- data[1] = arc4random();
7- data[2] = arc4random();
8- data[3] = arc4random();
9+ data[0] = random() % 0xffffffff;
10+ data[1] = random() % 0xffffffff;
11+ data[2] = random() % 0xffffffff;
12+ data[3] = random() % 0xffffffff;
13 }
14
15 return xs_hex_enc((char *)data, sizeof(data));
M
snac.c
+1,
-1
1@@ -123,7 +123,7 @@ d_char *hash_password(const char *uid, const char *passwd, const char *nonce)
2 xs *hash;
3
4 if (nonce == NULL) {
5- d_nonce = xs_fmt("%08x", arc4random());
6+ d_nonce = xs_fmt("%08x", random());
7 nonce = d_nonce;
8 }
9
M
utils.c
+4,
-3
1@@ -198,9 +198,10 @@ void new_password(const char *uid, d_char **clear_pwd, d_char **hashed_pwd)
2 {
3 int rndbuf[3];
4
5- rndbuf[0] = arc4random();
6- rndbuf[1] = arc4random();
7- rndbuf[2] = arc4random();
8+ srandom(time(NULL) ^ getpid());
9+ rndbuf[0] = random() & 0xffffffff;
10+ rndbuf[1] = random() & 0xffffffff;
11+ rndbuf[2] = random() & 0xffffffff;
12
13 *clear_pwd = xs_base64_enc((char *)rndbuf, sizeof(rndbuf));
14 *hashed_pwd = hash_password(uid, *clear_pwd, NULL);