summaryrefslogtreecommitdiff
path: root/src/global.c
diff options
context:
space:
mode:
authorMoritz Schulte <mo@g10code.com>2006-04-22 16:09:23 +0000
committerMoritz Schulte <mo@g10code.com>2006-04-22 16:09:23 +0000
commit9771a836746cc94699b4eaee6c68ba07caee3472 (patch)
treee0cb694d3d1799ad1d796ed76c83b284538e3b52 /src/global.c
parenteaee2dd54a87f0adad6f47244cbf56aa0b04cd23 (diff)
downloadlibgcrypt-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/global.c')
-rw-r--r--src/global.c11
1 files changed, 11 insertions, 0 deletions
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;
}