X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.c;h=fc7ff296e4848bd4f1c487caa3d2e044c2c033a6;hp=f26abef5753204c4628c4183519f50f02b8f674e;hb=63abcd1b2f6de6ce53d82962f5a2100c5a57e5d3;hpb=79d6515d49cdb0a91ff7c4a599f2d63cb5678032 diff --git a/server.c b/server.c index f26abef5..fc7ff296 100644 --- a/server.c +++ b/server.c @@ -8,10 +8,7 @@ /** - * \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, @@ -52,7 +49,7 @@ * - Spawning processes: \ref exec.c, * - Inter process communication: \ref ipc.c, * - Blob tables: \ref blob.c, - * - The error subsystem: \ref error.h. + * - 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. @@ -391,6 +388,9 @@ static int command_post_select(struct sched *s, struct task *t) 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;