From owner-cvs-all Tue Feb 5 17:26:53 2002 Delivered-To: cvs-all@freebsd.org Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by hub.freebsd.org (Postfix) with ESMTP id 64D6C37B426; Tue, 5 Feb 2002 17:26:33 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 3BD0310DDF7; Tue, 5 Feb 2002 17:26:33 -0800 (PST) Date: Tue, 5 Feb 2002 17:26:33 -0800 From: Alfred Perlstein To: Daniel O'Connor Cc: cvs-all@freebsd.org, cvs-committers@freebsd.org, des@freebsd.org, Mark Murray , "Andrey A. Chernov" Subject: Re: cvs commit: src/lib/libpam/modules/pam_unix pam_unix.c Message-ID: <20020205172633.B59017@elvis.mu.org> References: <20020205134833.T59017@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from doconnor@gsoft.com.au on Wed, Feb 06, 2002 at 11:55:21AM +1030 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Daniel O'Connor [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 > #include > > 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