diff options
| author | 2023-04-16 20:27:38 +0200 | |
|---|---|---|
| committer | 2023-04-16 20:27:38 +0200 | |
| commit | 3ccf4e3759684e9809ad80c2f2639ec5f069beff (patch) | |
| tree | 540cd5bdb3e578f208f8d0efef3eaaae211057ea | |
| parent | Replaced random() with arc4random(). (diff) | |
| download | penes-snac2-3ccf4e3759684e9809ad80c2f2639ec5f069beff.tar.gz penes-snac2-3ccf4e3759684e9809ad80c2f2639ec5f069beff.tar.xz penes-snac2-3ccf4e3759684e9809ad80c2f2639ec5f069beff.zip | |
arc4random() does not exist in not-so-old systems, so revert this.
Revert "Replaced random() with arc4random()."
This reverts commit f658f345cac7b24d6fa61f08b4ec09823d28b11a.
| -rw-r--r-- | mastoapi.c | 8 | ||||
| -rw-r--r-- | snac.c | 2 | ||||
| -rw-r--r-- | utils.c | 7 |
3 files changed, 9 insertions, 8 deletions
| @@ -21,10 +21,10 @@ static xs_str *random_str(void) | |||
| 21 | fclose(f); | 21 | fclose(f); |
| 22 | } | 22 | } |
| 23 | else { | 23 | else { |
| 24 | data[0] = arc4random(); | 24 | data[0] = random() % 0xffffffff; |
| 25 | data[1] = arc4random(); | 25 | data[1] = random() % 0xffffffff; |
| 26 | data[2] = arc4random(); | 26 | data[2] = random() % 0xffffffff; |
| 27 | data[3] = arc4random(); | 27 | data[3] = random() % 0xffffffff; |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | return xs_hex_enc((char *)data, sizeof(data)); | 30 | return xs_hex_enc((char *)data, sizeof(data)); |
| @@ -123,7 +123,7 @@ d_char *hash_password(const char *uid, const char *passwd, const char *nonce) | |||
| 123 | xs *hash; | 123 | xs *hash; |
| 124 | 124 | ||
| 125 | if (nonce == NULL) { | 125 | if (nonce == NULL) { |
| 126 | d_nonce = xs_fmt("%08x", arc4random()); | 126 | d_nonce = xs_fmt("%08x", random()); |
| 127 | nonce = d_nonce; | 127 | nonce = d_nonce; |
| 128 | } | 128 | } |
| 129 | 129 | ||
| @@ -198,9 +198,10 @@ 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 | rndbuf[0] = arc4random(); | 201 | srandom(time(NULL) ^ getpid()); |
| 202 | rndbuf[1] = arc4random(); | 202 | rndbuf[0] = random() & 0xffffffff; |
| 203 | rndbuf[2] = arc4random(); | 203 | rndbuf[1] = random() & 0xffffffff; |
| 204 | rndbuf[2] = random() & 0xffffffff; | ||
| 204 | 205 | ||
| 205 | *clear_pwd = xs_base64_enc((char *)rndbuf, sizeof(rndbuf)); | 206 | *clear_pwd = xs_base64_enc((char *)rndbuf, sizeof(rndbuf)); |
| 206 | *hashed_pwd = hash_password(uid, *clear_pwd, NULL); | 207 | *hashed_pwd = hash_password(uid, *clear_pwd, NULL); |