003 File Manager
Current Path:
/usr/src/contrib/ntp/libntp
usr
/
src
/
contrib
/
ntp
/
libntp
/
📁
..
📄
Makefile.am
(3.27 KB)
📄
Makefile.in
(105.83 KB)
📄
README
(272 B)
📄
a_md5encrypt.c
(6.76 KB)
📄
adjtime.c
(10.29 KB)
📄
adjtimex.c
(334 B)
📄
atoint.c
(801 B)
📄
atolfp.c
(1.88 KB)
📄
atouint.c
(885 B)
📄
audio.c
(13.09 KB)
📄
authkeys.c
(19.92 KB)
📄
authreadkeys.c
(9.06 KB)
📄
authusekey.c
(748 B)
📄
bsd_strerror.c
(1.35 KB)
📄
buftvtots.c
(643 B)
📄
caljulian.c
(891 B)
📄
caltontp.c
(2.25 KB)
📄
calyearstart.c
(2.1 KB)
📄
clocktime.c
(4.49 KB)
📄
clocktypes.c
(3.69 KB)
📄
decodenetnum.c
(3.93 KB)
📄
dofptoa.c
(2.19 KB)
📄
dolfptoa.c
(3.14 KB)
📄
emalloc.c
(3.4 KB)
📄
findconfig.c
(1.46 KB)
📄
getopt.c
(2.21 KB)
📄
hextoint.c
(673 B)
📄
hextolfp.c
(1.35 KB)
📄
humandate.c
(1.1 KB)
📄
icom.c
(4.22 KB)
📄
iosignal.c
(12.27 KB)
📄
is_ip_address.c
(2.02 KB)
📄
lib_strbuf.c
(633 B)
📄
libssl_compat.c
(6.13 KB)
📄
machines.c
(13.05 KB)
📄
mktime.c
(8.29 KB)
📄
modetoa.c
(507 B)
📄
mstolfp.c
(2.01 KB)
📄
msyslog.c
(12.67 KB)
📄
netof.c
(1.17 KB)
📄
ntp_calendar.c
(58.49 KB)
📄
ntp_calgps.c
(15.73 KB)
📄
ntp_crypto_rnd.c
(2.11 KB)
📄
ntp_intres.c
(28.64 KB)
📄
ntp_libopts.c
(1.27 KB)
📄
ntp_lineedit.c
(3.88 KB)
📄
ntp_random.c
(17.63 KB)
📄
ntp_rfc2553.c
(14.85 KB)
📄
ntp_worker.c
(7.21 KB)
📄
numtoa.c
(963 B)
📄
numtohost.c
(908 B)
📄
octtoint.c
(578 B)
📄
prettydate.c
(5.53 KB)
📄
recvbuff.c
(7.3 KB)
📄
refidsmear.c
(1.05 KB)
📄
refnumtoa.c
(673 B)
📄
snprintf.c
(52.56 KB)
📄
socket.c
(4.88 KB)
📄
socktoa.c
(2.88 KB)
📄
socktohost.c
(2.54 KB)
📄
ssl_init.c
(5.09 KB)
📄
statestr.c
(11.4 KB)
📄
strdup.c
(854 B)
📄
strl_obsd.c
(3.65 KB)
📄
syssignal.c
(2.69 KB)
📄
systime.c
(17.51 KB)
📄
systime_s.c
(33 B)
📄
timespecops.c
(4.27 KB)
📄
timetoa.c
(2.75 KB)
📄
timevalops.c
(12.97 KB)
📄
timexsup.c
(1.17 KB)
📄
uglydate.c
(958 B)
📄
vint64ops.c
(5.1 KB)
📄
work_fork.c
(12.73 KB)
📄
work_thread.c
(22.88 KB)
📄
xsbprintf.c
(2.06 KB)
📄
ymd2yd.c
(582 B)
Editing: ntp_crypto_rnd.c
/* * Crypto-quality random number functions * * Author: Harlan Stenn, 2014 * * This file is Copyright (c) 2014 by Network Time Foundation. * BSD terms apply: see the file COPYRIGHT in the distribution root for details. */ #include "config.h" #include <sys/types.h> #ifdef HAVE_UNISTD_H # include <unistd.h> #endif #include <stdio.h> #include <l_stdlib.h> #include <ntp_random.h> #include "safecast.h" #ifdef USE_OPENSSL_CRYPTO_RAND #include <openssl/err.h> #include <openssl/rand.h> int crypto_rand_init = 0; #else # ifndef HAVE_ARC4RANDOM_BUF static void arc4random_buf(void *buf, size_t nbytes); void evutil_secure_rng_get_bytes(void *buf, size_t nbytes); static void arc4random_buf(void *buf, size_t nbytes) { evutil_secure_rng_get_bytes(buf, nbytes); return; } # endif #endif /* * As of late 2014, here's how we plan to provide cryptographic-quality * random numbers: * * - If we are building with OpenSSL, use RAND_poll() and RAND_bytes(). * - Otherwise, use arc4random(). * * Use of arc4random() can be forced using configure --disable-openssl-random * * We can count on arc4random existing, thru the OS or thru libevent. * The quality of arc4random depends on the implementor. * * RAND_poll() doesn't show up until XXX. If it's not present, we * need to either provide our own or use arc4random(). */ /* * ntp_crypto_srandom: * * Initialize the random number generator, if needed by the underlying * crypto random number generation mechanism. */ void ntp_crypto_srandom( void ) { #ifdef USE_OPENSSL_CRYPTO_RAND if (!crypto_rand_init) { RAND_poll(); crypto_rand_init = 1; } #else /* No initialization needed for arc4random() */ #endif } /* * ntp_crypto_random_buf: * * Returns 0 on success, -1 on error. */ int ntp_crypto_random_buf( void *buf, size_t nbytes ) { #ifdef USE_OPENSSL_CRYPTO_RAND int rc; rc = RAND_bytes(buf, size2int_chk(nbytes)); if (1 != rc) { unsigned long err; char *err_str; err = ERR_get_error(); err_str = ERR_error_string(err, NULL); /* XXX: Log the error */ (void)&err_str; return -1; } return 0; #else arc4random_buf(buf, nbytes); return 0; #endif }
Upload File
Create Folder