From 8f59fa43741bed784d6f2236ba9394cb8cc015bd Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sat, 3 Nov 2007 17:34:49 +0000 Subject: [PATCH] Log the "weak randomization factor" warning only once for mingw32 and provide some more details. --- jcc.c | 16 +++++++++++++++- miscutil.c | 9 +++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/jcc.c b/jcc.c index 30e146b6..24e45224 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.155 2007/10/23 20:12:45 fabiankeil Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.156 2007/11/01 18:20:58 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,10 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.155 2007/10/23 20:12:45 fabiankeil Exp $" * * Revisions : * $Log: jcc.c,v $ + * Revision 1.156 2007/11/01 18:20:58 fabiankeil + * Initialize log module after initializing mutexes, future + * deadlocks in that code should now work cross-platform. + * * Revision 1.155 2007/10/23 20:12:45 fabiankeil * Fix first CSUCCEED line to end in \r\n as required by RFC1945. * Reported by Bert van Leeuwen in BR#1818808. @@ -3103,6 +3107,7 @@ int main(int argc, const char *argv[]) files->next = NULL; clients->next = NULL; + /* XXX: factor out initialising after the next stable release. */ #ifdef AMIGA InitAmiga(); #elif defined(_WIN32) @@ -3118,6 +3123,15 @@ int main(int argc, const char *argv[]) random_seed = (unsigned int)time(NULL); #ifdef HAVE_RANDOM srandom(random_seed); +#elif defined (_WIN32) + /* + * See pick_from_range() in miscutil.c for details. + */ + log_error(LOG_LEVEL_INFO, + "No thread-safe PRNG implemented for your platform. " + "Using weak \'randomization\' factor which will " + "limit the already questionable usefulness of " + "header-time-randomizing actions (disabled by default)."); #else srand(random_seed); #endif /* ifdef HAVE_RANDOM */ diff --git a/miscutil.c b/miscutil.c index ab1ccaed..f2bbc18a 100644 --- a/miscutil.c +++ b/miscutil.c @@ -1,4 +1,4 @@ -const char miscutil_rcs[] = "$Id: miscutil.c,v 1.53 2007/09/09 18:20:20 fabiankeil Exp $"; +const char miscutil_rcs[] = "$Id: miscutil.c,v 1.54 2007/09/19 20:28:37 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/miscutil.c,v $ @@ -44,6 +44,10 @@ const char miscutil_rcs[] = "$Id: miscutil.c,v 1.53 2007/09/09 18:20:20 fabianke * * Revisions : * $Log: miscutil.c,v $ + * Revision 1.54 2007/09/19 20:28:37 fabiankeil + * If privoxy_strlcpy() is called with a "buffer" size + * of 0, don't touch whatever destination points to. + * * Revision 1.53 2007/09/09 18:20:20 fabiankeil * Turn privoxy_strlcpy() into a function and try to work with * b0rked snprintf() implementations too. Reported by icmp30. @@ -1099,8 +1103,9 @@ long int pick_from_range(long int range) * * Currently we don't have mutexes for mingw32, and for * our purpose this cludge is probably preferable to crashes. + * + * The warning is shown once on startup from jcc.c. */ - log_error(LOG_LEVEL_INFO, "No thread-safe PRNG available? Using weak \'randomization\' factor."); number = (range + GetCurrentThreadId() % range) / 2; #else /* -- 2.39.2