diff options
author | Moritz Schulte <mo@g10code.com> | 2006-04-22 16:09:23 +0000 |
---|---|---|
committer | Moritz Schulte <mo@g10code.com> | 2006-04-22 16:09:23 +0000 |
commit | 9771a836746cc94699b4eaee6c68ba07caee3472 (patch) | |
tree | e0cb694d3d1799ad1d796ed76c83b284538e3b52 /src | |
parent | eaee2dd54a87f0adad6f47244cbf56aa0b04cd23 (diff) | |
download | libgcrypt-9771a836746cc94699b4eaee6c68ba07caee3472.tar.gz |
cipher/ChangeLog:
2006-04-22 Moritz Schulte <moritz@g10code.com>
* random-daemon.c (_gcry_daemon_initialize_basics): New argument:
SOCKETNAME. Passing on to connect_to_socket() if non-NULL.
(connect_to_socket, writen, readn, call_daemon): New functions.
(_gcry_daemon_randomize, _gcry_daemon_get_random_bytes)
(_gcry_daemon_create_nonce): Call call_daemon().
(RANDOM_DAEMON_SOCKET): New symbol.
(daemon_socket): New static variable.
* random.h (_gcry_daemon_initialize_basics): New parameter:
SOCKETNAME.
(_gcry_set_random_daemon_socket): New declaration.
* random.c (initialize_basics): Pass DAEMON_SOCKET_NAME to
_gcry_daemon_initialize_basics.
(_gcry_set_random_daemon_socket): New function, setting
DAEMON_SOCKET_NAME.
src/ChangeLog:
2006-04-22 Moritz Schulte <moritz@g10code.com>
* gcrypt.h (enum gcry_ctl_cmds): New commands:
GCRYCTL_SET_RANDOM_DAEMON_SOCKET, GCRYCTL_USE_RANDOM_DAEMON. *
global.c (gcry_control): Handle new commands, calling
_gcry_set_random_daemon_socket() and _gcry_use_random_daemon().
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/gcrypt.h | 4 | ||||
-rw-r--r-- | src/global.c | 11 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a2fb5cd3..f7c638cb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2006-04-22 Moritz Schulte <moritz@g10code.com> + + * gcrypt.h (enum gcry_ctl_cmds): New commands: + GCRYCTL_SET_RANDOM_DAEMON_SOCKET, GCRYCTL_USE_RANDOM_DAEMON. * + global.c (gcry_control): Handle new commands, calling + _gcry_set_random_daemon_socket() and _gcry_use_random_daemon(). + 2006-04-01 Moritz Schulte <moritz@g10code.com> * gcrypt.h (gcry_ac_eme_pkcs_v1_5): Removed members: key, handle; diff --git a/src/gcrypt.h b/src/gcrypt.h index 30368a72..ba385623 100644 --- a/src/gcrypt.h +++ b/src/gcrypt.h @@ -327,7 +327,9 @@ enum gcry_ctl_cmds GCRYCTL_SET_RANDOM_SEED_FILE = 45, GCRYCTL_UPDATE_RANDOM_SEED_FILE = 46, GCRYCTL_SET_THREAD_CBS = 47, - GCRYCTL_FAST_POLL = 48 + GCRYCTL_FAST_POLL = 48, + GCRYCTL_SET_RANDOM_DAEMON_SOCKET = 49, + GCRYCTL_USE_RANDOM_DAEMON = 50 }; /* Perform various operations defined by CMD. */ diff --git a/src/global.c b/src/global.c index 8dd2657c..399fc769 100644 --- a/src/global.c +++ b/src/global.c @@ -334,6 +334,17 @@ gcry_control (enum gcry_ctl_cmds cmd, ...) _gcry_fast_random_poll (); break; + case GCRYCTL_SET_RANDOM_DAEMON_SOCKET: + _gcry_set_random_daemon_socket (va_arg (arg_ptr, const char *)); + break; + + case GCRYCTL_USE_RANDOM_DAEMON: + /* We need to do make sure that the random pool is really + initialized so that the poll fucntion is not a NOP. */ + _gcry_random_initialize (1); + _gcry_use_random_daemon (!! va_arg (arg_ptr, int)); + break; + default: err = GPG_ERR_INV_OP; } |