From 560ba93b98847b106572da6001c6fa056dd3c612 Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Sun, 15 Aug 2021 18:43:14 +0600 Subject: [PATCH] tincd on Windows: call srand() after main2() On Windows, rand() was returning the same sequence on every service execution, because srand() was initializing its state only for the short-lived process. --- src/tincd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tincd.c b/src/tincd.c index dff420a4..560609c1 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -491,8 +491,6 @@ int main(int argc, char **argv) { /* Slllluuuuuuurrrrp! */ - gettimeofday(&now, NULL); - srand(now.tv_sec + now.tv_usec); crypto_init(); if(!read_server_config(&config_tree)) { @@ -546,6 +544,9 @@ int main2(int argc, char **argv) { #endif char *priority = NULL; + gettimeofday(&now, NULL); + srand(now.tv_sec + now.tv_usec); + if(!detach()) { return 1; } -- 2.20.1