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>
index | next in thread | previous in thread | raw e-mail
* 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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020205172633.B59017>
