diff -c -r a/crypto/rand/rand_egd.c b/crypto/rand/rand_egd.c
*** a/crypto/rand/rand_egd.c	2008-11-11 23:27:36.000000000 -0800
--- b/crypto/rand/rand_egd.c	2013-02-23 18:29:48.894897294 -0800
***************
*** 95,101 ****
   *   RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255.
   */
  
! #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_BEOS)
  int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes)
  	{
  	return(-1);
--- 95,101 ----
   *   RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255.
   */
  
! #if defined(OPENSSL_NO_EGD) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_BEOS)
  int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes)
  	{
  	return(-1);

