/**
- * \mainpage Paraslash API Reference
- *
- * Starting points for getting an overview:
- *
+ * \mainpage Starting points for getting an overview:
*
* - The main programs: \ref server.c, \ref audiod.c, \ref client.c,
* \ref audioc.c, \ref afh.c, \ref play.c,
* - Spawning processes: \ref exec.c,
* - Inter process communication: \ref ipc.c,
* - Blob tables: \ref blob.c,
- * - The error subsystem: \ref error.h.
- * - Access control for paraslash senders: \ref acl.c, \ref acl.h.
- * - Internal crypto API: \ref crypt.h.
- * - interactive sessions (libreadline): \ref interactive.c.
+ * - The error subsystem: \ref error.h, \ref error2.c,
+ * - Access control for paraslash senders: \ref acl.c, \ref acl.h,
+ * - Internal crypto API: \ref crypt.h,
+ * - interactive sessions (libreadline): \ref interactive.c,
+ * - sideband API: \ref sideband.h.
*
* Low-level data structures:
*
goto out;
}
if (child_pid) {
+ /* avoid problems with non-fork-safe PRNGs */
+ unsigned char buf[16];
+ get_random_bytes_or_die(buf, sizeof(buf));
close(new_fd);
/* parent keeps accepting connections */
return 0;