X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=server.c;h=cd661f3454872a2cbde3bf935cf22a08b28b4669;hb=b4ee8a698e527eb8155d3d021dcf1b50bf906df1;hp=f26abef5753204c4628c4183519f50f02b8f674e;hpb=79d6515d49cdb0a91ff7c4a599f2d63cb5678032;p=paraslash.git diff --git a/server.c b/server.c index f26abef5..cd661f34 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,10 +49,11 @@ * - 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: * @@ -391,6 +389,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;