]> git.sur5r.net Git - openldap/commitdiff
Rework counter code in fallback.
authorKurt Zeilenga <kurt@openldap.org>
Tue, 26 Oct 1999 23:54:39 +0000 (23:54 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 26 Oct 1999 23:54:39 +0000 (23:54 +0000)
libraries/liblutil/entropy.c

index 5ff122b378f5dbe1960c0ae6c0e0e706877150af..75e321155c1b02289cc7e4d4bac253ff9894ab99 100644 (file)
@@ -44,12 +44,13 @@ int lutil_entropy( char *buf, int nbytes )
                 * but implementation 100% OpenLDAP.  So don't blame Phil. */
                /* worse case is this is a MD5 hash of a counter, if
                 *      MD5 is a strong cryptographic hash, this should
-                *      be fairly resisant to attack
+                *      be fairly resistant to attack
                 */
-               static int initialized = 0;
+               static int counter = 0;
                int n;
 
                struct {
+                       int counter;
                        pid_t   pid;
 
 #ifdef HAVE_GETTIMEOFDAY
@@ -60,11 +61,7 @@ int lutil_entropy( char *buf, int nbytes )
                        unsigned long   junk;
                } rdata;
 
-               if( !initialized ) {
-                       initialized++;
-
-                       rdata.pid = getpid();
-               }
+               rdata.pid = getpid();
                
                for( n = 0; n < nbytes; n += 16 ) {
                        struct lutil_MD5Context ctx;
@@ -76,6 +73,7 @@ int lutil_entropy( char *buf, int nbytes )
                        (void) time( &rdata.time );
 #endif
 
+                       rdata.counter = ++counter;
                        rdata.pid++;
                        rdata.junk++;