Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Feb 2002 17:26:33 -0800
From:      Alfred Perlstein <bright@mu.org>
To:        Daniel O'Connor <doconnor@gsoft.com.au>
Cc:        cvs-all@freebsd.org, cvs-committers@freebsd.org, des@freebsd.org, Mark Murray <mark@grondar.za>, "Andrey A. Chernov" <ache@nagual.pp.ru>
Subject:   Re: cvs commit: src/lib/libpam/modules/pam_unix pam_unix.c
Message-ID:  <20020205172633.B59017@elvis.mu.org>
In-Reply-To: <XFMail.20020206115521.doconnor@gsoft.com.au>; from doconnor@gsoft.com.au on Wed, Feb 06, 2002 at 11:55:21AM %2B1030
References:  <20020205134833.T59017@elvis.mu.org> <XFMail.20020206115521.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
* Daniel O'Connor <doconnor@gsoft.com.au> [020205 17:25] wrote:
> 
> On 05-Feb-2002 Alfred Perlstein wrote:
> >> To see the bug, run following test application with "call_pam" set to 1 
> >> and 0
> > 
> > I understand the issue you're bringing up, would it make sense
> > to create/utilize a save/restore random() context function?
> 
> No need to create one..
> setstate() returns the old state which can then be passed back to setstate().

Andrey, can you use this then?

> 
> eg..
> #include <stdlib.h>
> #include <stdio.h>
> 
> void foo(void);
> 
> int
> main(int argc, char **argv) {
>         printf("%ld\n", random());
>         foo();
>         printf("%ld\n", random());
>         printf("%ld\n", random());
>         foo();
>         printf("%ld\n", random());
> }
> 
> void
> foo(void) {
>         char *rndstate;
>         char state[16];
> 
>         rndstate = initstate(123456789, state, sizeof(state));
>         if (rndstate == NULL) {
>                 printf("Unable to reseed\n");
>                 exit(1);
>         }
>         srandomdev();
> 
>         printf("foo - %ld\n", random());
> 
>         setstate(rndstate);
> }
> 
> ---
> Daniel O'Connor software and network engineer
> for Genesis Software - http://www.gsoft.com.au
> "The nice thing about standards is that there
> are so many of them to choose from."
>   -- Andrew Tanenbaum

-- 
-Alfred Perlstein [alfred@freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020205172633.B59017>