X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=server.c;h=a9e9495fd3f7238c4b875f7958cc5ebf8ccdd863;hb=027f2c12;hp=36af088ec64e0b4fd2baac06cd773653858853f0;hpb=d74c89d30199b9b13e410699c6802fb8bde82046;p=paraslash.git diff --git a/server.c b/server.c index 36af088e..a9e9495f 100644 --- a/server.c +++ b/server.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -49,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: * @@ -388,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;