Overview
Comment: | Ensure random implementations are static |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
f1e737d2845837d4fc7e8b609c535aac |
User & Date: | rkeene on 2019-01-23 05:43:55 |
Other Links: | manifest | tags |
Context
2019-01-23
| ||
06:16 | Check in more depth for OpenMP support check-in: 08306ae2ee user: rkeene tags: trunk | |
05:43 | Ensure random implementations are static check-in: f1e737d284 user: rkeene tags: trunk | |
05:40 | Cache local address for a long time, it is not likely to change check-in: b07aac060d user: rkeene tags: trunk | |
Changes
Modified randombytes.c from [2ad22d5176] to [65704d63f8].
1 2 3 4 5 | #include <limits.h> #include <tcl.h> #include "randombytes.h" | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <limits.h> #include <tcl.h> #include "randombytes.h" static long getrandom_impl(void *buf, unsigned int buflen); void randombytes(unsigned char *buffer, unsigned long long length) { long gr_ret; int errorCount = 0; /* * Ensure that the number of bytes requested can fit within * the types we pass to other calls. |
︙ | ︙ | |||
44 45 46 47 48 49 50 | } #if defined(HAVE_GETRANDOM) # ifdef HAVE_SYS_RANDOM_H # include <sys/random.h> # endif | | | | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | } #if defined(HAVE_GETRANDOM) # ifdef HAVE_SYS_RANDOM_H # include <sys/random.h> # endif static long getrandom_impl(void *buf, unsigned int buflen) { ssize_t gr_ret; gr_ret = getrandom(buf, buflen, 0); return(gr_ret); } #elif defined(HAVE_GETENTROPY) #include <unistd.h> static long getrandom_impl(void *buf, unsigned int buflen) { int ge_ret; if (buflen > 255) { buflen = 255; } ge_ret = getentropy(buf, buflen); if (ge_ret != 0) { return(-1); } return(buflen); } #elif defined(HAVE_CRYPTGENRANDOM) && 0 #include <tcl.h> static long getrandom_impl(void *buf, unsigned int buflen) { Tcl_Panic("Incomplete CryptGenRandom"); } #else # ifdef HAVE_SYS_TYPES_H # include <sys/types.h> # endif # ifdef HAVE_SYS_STAT_H # include <sys/stat.h> # endif # ifdef HAVE_FCNTL_H # include <fcntl.h> # endif # ifdef HAVE_UNISTD_H # include <unistd.h> # endif static long getrandom_impl(void *buf, unsigned int buflen) { ssize_t read_ret; long retval; int fd = -1; fd = open("/dev/urandom", O_RDONLY); if (fd < 0) { return(-1); |
︙ | ︙ |