- Avoid WCOREDUMP complation errors for systems that lack it
 - Avoid SIGCHLD warnings from entropy commands
diff --git a/ChangeLog b/ChangeLog
index 21cd0a2..5d28c74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
   - 'fixprogs' perl script to eliminate non-working entropy commands, and
 	 optionally run 'ent' to measure command entropy
  - Applied Tom Bertelson's <tbert@abac.com> AIX authentication fix
+ - Avoid WCOREDUMP complation errors for systems that lack it
+ - Avoid SIGCHLD warnings from entropy commands 
 
 20000513
  - Fix for non-recognised DSA keys from Arkadiusz Miskiewicz 
diff --git a/entropy.c b/entropy.c
index 79ef93a..cc7e815 100644
--- a/entropy.c
+++ b/entropy.c
@@ -35,7 +35,7 @@
 #include <openssl/rand.h>
 #include <openssl/sha.h>
 
-RCSID("$Id: entropy.c,v 1.10 2000/05/17 11:34:08 damien Exp $");
+RCSID("$Id: entropy.c,v 1.11 2000/05/17 12:08:30 damien Exp $");
 
 #ifdef EGD_SOCKET
 #ifndef offsetof
@@ -735,18 +735,26 @@
 void
 seed_rng(void)
 {
+	void *old_sigchld_handler;
+	
 	if (!prng_commands_loaded) {
 		if (!prng_read_commands(SSH_PRNG_COMMAND_FILE))
 			fatal("PRNG initialisation failed -- exiting.");
 		prng_commands_loaded = 1;
 	}
 
+	/* Make sure some other sigchld handler doesn't reap our entropy */
+	/* commands */
+	old_sigchld_handler = signal(SIGCHLD, SIG_DFL);
+
 	debug("Seeding random number generator.");
 	debug("OpenSSL random status is now %i\n", RAND_status());
 	debug("%i bytes from system calls", (int)stir_from_system());
 	debug("%i bytes from programs", (int)stir_from_programs());
 	debug("OpenSSL random status is now %i\n", RAND_status());
 
+	signal(SIGCHLD, old_sigchld_handler);
+
 	if (!RAND_status())
 		fatal("Couldn't initialise builtin random number generator -- exiting.");
 
diff --git a/session.c b/session.c
index 480a163..23c5660 100644
--- a/session.c
+++ b/session.c
@@ -1473,7 +1473,11 @@
 		channel_request_start(s->chanid,
 		    "exit-signal", 0);
 		packet_put_int(WTERMSIG(status));
+#ifdef WCOREDUMP
 		packet_put_char(WCOREDUMP(status));
+#else /* WCOREDUMP */
+		packet_put_char(0);
+#endif /* WCOREDUMP */
 		packet_put_cstring("");
 		packet_put_cstring("");
 		packet_send();