httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Bannert <aa...@clove.org>
Subject Re: cvs commit: httpd-test/flood config.h.in configure.in flood.c flood_round_robin.c
Date Fri, 17 Aug 2001 16:00:53 GMT
On Fri, Aug 17, 2001 at 08:30:20AM -0700, Aaron Bannert wrote:
> On Fri, Aug 17, 2001 at 07:44:02AM -0000, jerenkrantz@apache.org wrote:
> > jerenkrantz    01/08/17 00:44:02
> > 
> >   Modified:    flood    config.h.in configure.in flood.c
> >                         flood_round_robin.c
> >   Log:
> >   - Clean up debugging info when using delays.
> >   - Fix error where a url would be chopped off (must follow l.list of apr_text
> >     objects to be valid).  This should not affect attributes as they are
> >     handled differently by the expat XML parser.
> >   - Introduce two more random number generators (rand48 and random).  Add
> >     autoconf test to choose "best" one.  May be good to add support for
> >     /dev/urandom (whatever the non-blocking one is), but Solaris doesn't have
> >     it, so I don't care much right now.
> >   
> >     The rand() period is incredibly short.  rand48 and random are supposed to
> >     have much longer periods.  We'll see...
> >   
> >   Revision  Changes    Path
> >   1.14      +4 -0      httpd-test/flood/config.h.in
> >   
> >   Index: config.h.in
> >   ===================================================================
> >   RCS file: /home/cvs/httpd-test/flood/config.h.in,v
> >   retrieving revision 1.13
> >   retrieving revision 1.14
> >   diff -u -r1.13 -r1.14
> >   --- config.h.in	2001/08/14 20:14:50	1.13
> >   +++ config.h.in	2001/08/17 07:44:02	1.14
> >   @@ -57,4 +57,8 @@
> >    #define RANDFILE "@RANDFILE@"
> >    #define CAPATH "@CAPATH@"
> >    
> >   +#define FLOOD_USE_RAND      @prngrand@
> >   +#define FLOOD_USE_RAND48    @prngrand48@
> >   +#define FLOOD_USE_RANDOM    @prngrandom@
> >   +
> >    #endif  /* __config_h */
> >   
> >   
> >   
> >   1.5       +24 -0     httpd-test/flood/configure.in
> >   
> >   Index: configure.in
> >   ===================================================================
> >   RCS file: /home/cvs/httpd-test/flood/configure.in,v
> >   retrieving revision 1.4
> >   retrieving revision 1.5
> >   diff -u -r1.4 -r1.5
> >   --- configure.in	2001/08/07 19:00:23	1.4
> >   +++ configure.in	2001/08/17 07:44:02	1.5
> >   @@ -86,6 +86,27 @@
> >    AC_CHECK_LIB(crypto, SHA1)
> >    AC_CHECK_LIB(ssl, SSL_library_init)
> >    
> >   +AC_CHECK_FUNC(rand, hasrand="1", hasrand="0")
> >   +AC_CHECK_FUNC(lrand48, hasrand48="1", hasrand48="0")
> >   +AC_CHECK_FUNC(random, hasrandom="1", hasrandom="0")
> >   +
> >   +AC_MSG_CHECKING([random number generator to use])
> >   +prngrand="0"
> >   +prngrand48="0"
> >   +prngrandom="0"
> >   +if test $hasrandom = "1"; then
> >   +    prngrandom="1"
> >   +    AC_MSG_RESULT([random])
> >   +else if $hasrand48 = "1"; then
> >   +    prngrand48="1"
> >   +    AC_MSG_RESULT([rand48])
> >   +else if $hasrand = "1"; then
> >   +    prngrand="1"
> >   +    AC_MSG_RESULT([rand])
> >   +fi
> >   +fi
> >   +fi
> >   +
> >    AC_SUBST(FLOOD_USE_THREADS)
> >    AC_SUBST(OPENSSL_PREFIX)
> >    AC_SUBST(RANDFILE)
> >   @@ -97,6 +118,9 @@
> >    AC_SUBST(EXTRA_CPPFLAGS)
> >    AC_SUBST(EXTRA_LDFLAGS)
> >    AC_SUBST(EXTRA_LIBS)
> >   +AC_SUBST(prngrand)
> >   +AC_SUBST(prngrand48)
> >   +AC_SUBST(prngrandom)
> 
> Shouldn't this just be FLOOD_HAS_* by the way you are deciding which
> one to use inside the #ifdef's? I'll post a patch later today.
> 
> (I know I know, I'm being picky.)

Let me be more clear here. I'd prefer if we did the check for
'rand' 'rand48' 'random' (and possibly also /dev/urandom) and
set each of FLOOD_HAS_RAND* individually. This is the way you are
using it in the code, where you have something like:

#if FLOOD_HAS_RAND
   rand()
#elsif FLOOD_HAS_RAND48
   rand48()
...


That allows us to choose which rand we have in the #ifdefs instead of
relying on autoconf. If this is unsatisfactory, we'll have to go with
the compromise, which is FLOOD_USE_RAND* and FLOOD_HAS_RAND*

-aaron


Mime
View raw message