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>