History log of /freebsd-14.2/lib/libc/stdlib/rand.3 (Results 1 – 25 of 26)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0
# b2c76c41 16-Aug-2023 Warner Losh <[email protected]>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0
# 672e1225 01-Feb-2020 Conrad Meyer <[email protected]>

rand(3): Replace implementation with one backed by random(3) algorithm

rand(3)'s standard C API is extremely limiting, but we can do better
than the historical 32-bit state Park-Miller LCG we've shi

rand(3): Replace implementation with one backed by random(3) algorithm

rand(3)'s standard C API is extremely limiting, but we can do better
than the historical 32-bit state Park-Miller LCG we've shipped since
2001: r73156.

The justification provided at the time for not using random(3) was that
rand_r(3) could not be made to use the same algorithm. That is still
true. However, the irrelevance of rand_r(3) is increasingly obvious.
Since that time, POSIX has marked the interface obsolescent. rand_r(3)
never became part of the standard C library. If not for API
compatibility reasons, I would just remove rand_r(3) entirely.

So, I do not believe it is a problem for rand_r(3) and rand(3) to
diverge.

The 12 ABI is maintained with compatibility definitions, but this
revision does subtly change the API of rand(3). The sequences of
pseudorandom numbers produced in programs built against new versions of
libc will differ from programs built against prior versions of libc.

Reviewed by: kevans, markm
MFC after: no
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D23290

show more ...


# c62ff280 14-Dec-2019 Conrad Meyer <[email protected]>

Deprecate sranddev(3) API

It serves no useful purpose and wasn't as popular as its equally meritless
cousin, srandomdev(3).

Setting aside the problems with rand(3) in general, the problem with this

Deprecate sranddev(3) API

It serves no useful purpose and wasn't as popular as its equally meritless
cousin, srandomdev(3).

Setting aside the problems with rand(3) in general, the problem with this
interface is that the seed isn't shared with the caller (other than by
attacking the output of the generator, which is trivial, but not a hallmark of
pleasant API design). The (arguable) utility of rand(3) or random(3) is as a
semi-fast simulation generator which produces consistent results from a given
seed. These are mutually at odd. Furthermore, sometimes people got the
mistaken impression that a high quality random seed meant a weak generator like
rand(3) or random(3) could be used for things like cryptographic key
generation. This is absolutely not so.

The API was never part of a standard and was not widely used in tree. Existing
in-tree uses have all been removed.

Possible replacement in out of tree codebases:

char buf[3];
time_t t;

time(t);
strftime(buf, sizeof(buf), "%S", gmtime(&t));
srand(atoi(buf));

Relnotes: yes

show more ...


Revision tags: release/12.1.0, release/11.3.0
# 0ab49eea 22-Apr-2019 Conrad Meyer <[email protected]>

rand.3: Match better recommendation language from random.3

Sponsored by: Dell EMC Isilon


Revision tags: release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0
# 580b4d18 13-Jun-2013 Ed Maste <[email protected]>

Renumber clauses to reduce diffs to other versions

NetBSD, OpenBSD, and Android's Bionic number the clauses 1 through 3,
so follow suit to make comparison easier.


Revision tags: release/8.4.0
# 12a68650 02-Apr-2013 Xin LI <[email protected]>

Replace access to /dev/random with the kernel pseudo-random number
source sysctl(KERN_ARND) and remove the fallback code.

Obtained from: OpenBSD
Reviewed by: secteam
MFC after: 1 month


Revision tags: release/9.1.0
# cf949d12 04-Sep-2012 Dag-Erling Smørgrav <[email protected]>

Bump dates.

Reminded by: bz@


# edab57e0 04-Sep-2012 Dag-Erling Smørgrav <[email protected]>

Add a prominent warning about these functions' unsuitability for
cryptographic purposes, and recommend using arc4random(3) instead.


Revision tags: release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0
# 3ac53596 06-Oct-2010 Konstantin Belousov <[email protected]>

Missed space.

Submitted by: brueffer
MFC after: 1 week


# 866dcc94 06-Oct-2010 Konstantin Belousov <[email protected]>

Add cross-references to lrand48(3) and arc4random(3) from rand(3)
and random(3).

Submitted by: Valentin Nechayev <netch netch kiev ua>
MFC after: 1 week


Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0
# c879ae35 09-Jan-2007 Warner Losh <[email protected]>

Per Regents of the University of Calfornia letter, remove advertising
clause.

# If I've done so improperly on a file, please let me know.


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0
# dfcc91e2 10-Nov-2004 Warner Losh <[email protected]>

sranddev() is not magic pixie dust. While it gives a good random
seed, the random number generator rand(3) still sucks and is unlikely
sufficient for crypto use. Correct what appears to be a cut an

sranddev() is not magic pixie dust. While it gives a good random
seed, the random number generator rand(3) still sucks and is unlikely
sufficient for crypto use. Correct what appears to be a cut and paste
error from the srandomdev() man page.

Submitted by: Ben Mesander

show more ...


Revision tags: release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0
# fe08efe6 08-Sep-2003 Ruslan Ermilov <[email protected]>

mdoc(7): Use the new feature of the .In macro.


Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0
# 1fae73b1 18-Dec-2002 Ruslan Ermilov <[email protected]>

mdoc(7) police: "The .Fn function".


Revision tags: release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs, release/4.5.0_cvs, release/4.4.0_cvs
# 8aefde06 07-Sep-2001 Jeroen Ruigrok van der Werven <[email protected]>

Move to using .In instead of .Fd #include <> for include mark-up.

Inspired by comment from: dd


# 6575e6da 08-Aug-2001 Ruslan Ermilov <[email protected]>

mdoc(7) police: expand plain text xrefs.


# 7ebcc426 15-Jul-2001 Dima Dorfman <[email protected]>

Remove whitespace at EOL.


# df49b8e2 07-Jun-2001 Dima Dorfman <[email protected]>

urandom(4) -> random(4)

PR: 27858
Submitted by: Yoshihiro Koya <[email protected]>
Approved by: markm


# 7ab50d97 27-Apr-2001 Ruslan Ermilov <[email protected]>

Grammar nit.


# 7708205c 23-Apr-2001 Andrey A. Chernov <[email protected]>

Add sranddev() since srand() is not vary much with seed, typical time


Revision tags: release/4.3.0_cvs, release/4.3.0
# 588a200c 26-Feb-2001 Ruslan Ermilov <[email protected]>

.St -ansiC -> .St -isoC


Revision tags: release/4.2.0, release/4.1.1_cvs, release/4.1.0, release/3.5.0_cvs
# 25bb73e0 21-Apr-2000 Alexey Zelkin <[email protected]>

Introduce ".Lb" macro to libc manpages.

More libraries manpages updates following.


Revision tags: release/4.0.0_cvs, release/3.4.0_cvs, release/3.3.0_cvs
# 7f3dea24 28-Aug-1999 Peter Wemm <[email protected]>

$Id$ -> $FreeBSD$


# fbc400a6 12-Jul-1999 Nik Clayton <[email protected]>

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde

show more ...


# b7edcd43 24-May-1999 Wes Peters <[email protected]>

Added Posix rand_r function.


12