On Thursday, November 03, 2011 4:26 PM, "Peter Samuelson" <pe...@p12n.org> 
wrote:
> 
> [Jonathan Nieder]
> >     state = apr_random_standard_new(pool);
> > 
> >     for (;;) {
> >             while (apr_random_secure_ready(state) == APR_ENOTENOUGHENTROPY) 
> > {
> >                     apr_generate_random_bytes(buf, sizeof(buf));
> >                     apr_random_add_entropy(state, buf, sizeof(buf));
> >             }
> > 
> >             apr_random_secure_bytes(state, ret, n);
> >             yield;
> >     }
> 
> The problem is that svnserve is often used in 'inetd' mode, one
> connection per process.  I've recommended that for years, as being
> easier and less hassle than managing a separate daemon.  Given inetd
> mode, your approach will exhaust /dev/random just as fast as the status
> quo.
> 
> (Also, and this is minor, those functions didn't exist in apr 0.9, for
> those poor souls still needing to build Subversion on platforms with
> Apache 2.0.  I don't _think_ we've ever dropped support for our
> original apr platform, have we?)

Yes, but I'm not sure that means we can't use the above code when we
detect a new APR at build time.  I mean, APR_VERSION_AT_LEAST() exists
for a reason.

> -- 
> Peter Samuelson | org-tld!p12n!peter | http://p12n.org/
> 

Reply via email to