--- irc/charybdis/files/patch-remove-RB_PRNG_EGD (revision 0) +++ irc/charybdis/files/patch-remove-RB_PRNG_EGD (working copy) @@ -0,0 +1,74 @@ +From e861902fd9610229bc7327ea057152f66c8b374d Mon Sep 17 00:00:00 2001 +From: William Pitcock +Date: Sun, 1 Mar 2015 01:05:14 -0600 +Subject: [PATCH] libratbox: remove RB_PRNG_EGD in its entirety (closes #85) + +--- + libratbox/include/rb_commio.h | 1 - + libratbox/src/openssl.c | 4 ---- + src/ircd.c | 6 +----- + src/sslproc.c | 7 +------ + 4 files changed, 2 insertions(+), 16 deletions(-) + +diff --git a/libratbox/include/rb_commio.h b/libratbox/include/rb_commio.h +index 70eea34..df6110d 100644 +--- libratbox/include/rb_commio.h.orig ++++ libratbox/include/rb_commio.h +@@ -157,7 +157,6 @@ const char *rb_get_iotype(void); + + typedef enum + { +- RB_PRNG_EGD, + RB_PRNG_FILE, + #ifdef _WIN32 + RB_PRNGWIN32, +diff --git a/libratbox/src/openssl.c b/libratbox/src/openssl.c +index bd9df62..817f225 100644 +--- libratbox/src/openssl.c.orig ++++ libratbox/src/openssl.c +@@ -603,10 +603,6 @@ rb_init_prng(const char *path, prng_seed_t seed_type) + + switch (seed_type) + { +- case RB_PRNG_EGD: +- if(RAND_egd(path) == -1) +- return -1; +- break; + case RB_PRNG_FILE: + if(RAND_load_file(path, -1) == -1) + return -1; +diff --git a/src/ircd.c b/src/ircd.c +index 253bf13..923180f 100644 +--- src/ircd.c.orig ++++ src/ircd.c +@@ -630,11 +630,7 @@ main(int argc, char *argv[]) + rb_lib_init(ircd_log_cb, ircd_restart_cb, ircd_die_cb, !server_state_foreground, maxconnections, DNODE_HEAP_SIZE, FD_HEAP_SIZE); + rb_linebuf_init(LINEBUF_HEAP_SIZE); + +- if(ConfigFileEntry.use_egd && (ConfigFileEntry.egdpool_path != NULL)) +- { +- rb_init_prng(ConfigFileEntry.egdpool_path, RB_PRNG_EGD); +- } else +- rb_init_prng(NULL, RB_PRNG_DEFAULT); ++ rb_init_prng(NULL, RB_PRNG_DEFAULT); + + seed_random(NULL); + +diff --git a/src/sslproc.c b/src/sslproc.c +index c62f8e6..9d523e0 100644 +--- src/sslproc.c.orig ++++ src/sslproc.c +@@ -323,12 +323,7 @@ start_ssldaemon(int count, const char *ssl_cert, const char *ssl_private_key, co + rb_close(P1); + ctl = allocate_ssl_daemon(F1, P2, pid); + if(ssl_ok) +- { +- if(ConfigFileEntry.use_egd && (ConfigFileEntry.egdpool_path != NULL)) +- send_init_prng(ctl, RB_PRNG_EGD, ConfigFileEntry.egdpool_path); +- else +- send_init_prng(ctl, RB_PRNG_DEFAULT, NULL); +- } ++ send_init_prng(ctl, RB_PRNG_DEFAULT, NULL); + if(ssl_ok && ssl_cert != NULL && ssl_private_key != NULL) + send_new_ssl_certs_one(ctl, ssl_cert, ssl_private_key, + ssl_dh_params != NULL ? ssl_dh_params : "");