Major memory management overhaul. Added arena support. Use the secure
[u/mdw/catacomb] / noise.c
diff --git a/noise.c b/noise.c
index 1429626..ed2d83c 100644 (file)
--- a/noise.c
+++ b/noise.c
@@ -1,8 +1,8 @@
 /* -*-c-*-
  *
- * $Id: noise.c,v 1.2 1999/11/11 00:59:08 mdw Exp $
+ * $Id: noise.c,v 1.5 1999/12/22 15:57:55 mdw Exp $
  *
- * Acquisition of environmental noise (Unix specific)
+ * Acquisition of environmental noise (Unix-specific)
  *
  * (c) 1998 Straylight/Edgeware
  */
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: noise.c,v $
+ * Revision 1.5  1999/12/22 15:57:55  mdw
+ * Label system-specific parts more clearly.
+ *
+ * Revision 1.4  1999/12/10 23:25:15  mdw
+ * Bug fix: remove old spurious fflush.
+ *
+ * Revision 1.3  1999/12/10 23:24:11  mdw
+ * Bug fix: flush buffers before forking.
+ *
  * Revision 1.2  1999/11/11 00:59:08  mdw
  * A bit of reformatting.  Initialize the uid and gid correctly.
  *
@@ -200,7 +209,7 @@ int noise_devrandom(rand_pool *r)
  * Use:                Sets the user and group ids to be used by @noise_filter@
  *             when running child processes.  This is useful to avoid
  *             giving shell commands (even carefully written ones) undue
- *             privileges.
+ *             privileges.  This interface is Unix-specific
  */
 
 void noise_setid(uid_t uid, gid_t gid)
@@ -228,6 +237,8 @@ void noise_setid(uid_t uid, gid_t gid)
  *             fails to complete within a short time period, it is killed.
  *             Paranoid use of close-on-exec flags for file descriptors is
  *             recommended.
+ *
+ *             This interface is Unix-specific.
  */
 
 int noise_filter(rand_pool *r, int good, const char *c)
@@ -254,6 +265,7 @@ int noise_filter(rand_pool *r, int good, const char *c)
 
   /* --- Fork a child off --- */
 
+  fflush(0);
   kid = fork();
   if (kid < 0) {
     close(fd[0]);
@@ -263,7 +275,6 @@ int noise_filter(rand_pool *r, int good, const char *c)
 
   /* --- Handle the child end of the deal --- */
 
-  fflush(0);
   if (kid == 0) {
     int f;