<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libc/stdlib/random.3, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2021-02-12T17:03:51+00:00</updated>
<entry>
<title>Some people still argue that rand(3) and random(3) have suitable deterministic</title>
<updated>2021-02-12T17:03:51+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2021-02-12T17:03:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=96694adb26fa7287b876515de64c63e787de5007'/>
<id>urn:sha1:96694adb26fa7287b876515de64c63e787de5007</id>
<content type='text'>
use cases, so explain the situation a bit more.  Since the 80's, I estimate
around 5 algorithm changes, so any chosen seed is unrepeatable UB.

+The deterministic sequence algorithm changed a number of times since
+original development, is underspecified, and should not be relied upon to
+remain consistent between platforms and over time.

ok jmc kettenis
</content>
</entry>
<entry>
<title>Xr and Ox fixes;</title>
<updated>2014-12-09T21:55:39+00:00</updated>
<author>
<name>jmc</name>
<email></email>
</author>
<published>2014-12-09T21:55:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=7b4389f21ce09e7d34ad8e9cedcf015c105d2bb1'/>
<id>urn:sha1:7b4389f21ce09e7d34ad8e9cedcf015c105d2bb1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change rand(), random(), drand48(), lrand48(), mrand48(), and srand48()</title>
<updated>2014-12-08T21:45:20+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2014-12-08T21:45:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9736a7f2a9e739ee9fc431040def5680fbb8794a'/>
<id>urn:sha1:9736a7f2a9e739ee9fc431040def5680fbb8794a</id>
<content type='text'>
to returning strong random by default, source from arc4random(3).
Parameters to the seeding functions are ignored, and the subsystems remain
in strong random mode.  If you wish the standardized deterministic mode,
call srand_deterministic(), srandom_determistic(), srand48_deterministic(),
seed48_deterministic() or lcong48_deterministic() instead.
The re-entrant functions rand_r(), erand48(), nrand48(), jrand48() are
unaffected by this change and remain in deterministic mode (for now).

Verified as a good roadmap forward by auditing 8800 pieces of software.
Roughly 60 pieces of software will need adaptation to request the
deterministic mode.

Violates POSIX and C89, which violate best practice in this century.
ok guenther tedu millert
</content>
</entry>
<entry>
<title>Don't describe random() as "better".</title>
<updated>2014-11-25T17:40:38+00:00</updated>
<author>
<name>millert</name>
<email></email>
</author>
<published>2014-11-25T17:40:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=832147399a6fb1461d52edf96b19c8487ca88e44'/>
<id>urn:sha1:832147399a6fb1461d52edf96b19c8487ca88e44</id>
<content type='text'>
Remove the bug about rand() being faster.
Add a bug about historical implementations seeding very poorly.
</content>
</entry>
<entry>
<title>zap trailing whitespace;</title>
<updated>2014-07-18T06:20:36+00:00</updated>
<author>
<name>jmc</name>
<email></email>
</author>
<published>2014-07-18T06:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4f75fccbdbb9d94e0781f2337037b8261eba7f5e'/>
<id>urn:sha1:4f75fccbdbb9d94e0781f2337037b8261eba7f5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>it is 2014, and we still need to encourage people away from srand()</title>
<updated>2014-07-17T23:12:28+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2014-07-17T23:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=60721d2b6012c2aa79de24c38ab93b24f8a8d6ab'/>
<id>urn:sha1:60721d2b6012c2aa79de24c38ab93b24f8a8d6ab</id>
<content type='text'>
and random().  Sigh.
</content>
</entry>
<entry>
<title>oops, i deleted the wrong word</title>
<updated>2014-07-13T14:25:00+00:00</updated>
<author>
<name>tedu</name>
<email></email>
</author>
<published>2014-07-13T14:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=bd5f6d197f463a2a9be53a9d5f8d34cdb7f522c4'/>
<id>urn:sha1:bd5f6d197f463a2a9be53a9d5f8d34cdb7f522c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove a lie spotted by guenther</title>
<updated>2014-07-13T14:24:23+00:00</updated>
<author>
<name>tedu</name>
<email></email>
</author>
<published>2014-07-13T14:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0850040c6d7e12aeb922c3b0f6499d972fbfd4ac'/>
<id>urn:sha1:0850040c6d7e12aeb922c3b0f6499d972fbfd4ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use the fancy .In macro for includes. From Jan Klemkow. ok jmc schwarze</title>
<updated>2013-06-05T03:39:23+00:00</updated>
<author>
<name>tedu</name>
<email></email>
</author>
<published>2013-06-05T03:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2b7c3ac1a78656e1ad7e45f24ecbff6f63f289e4'/>
<id>urn:sha1:2b7c3ac1a78656e1ad7e45f24ecbff6f63f289e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve standards conformance: ecvt(), fcvt(), gcvt(), mktemp(), ttyslot(),</title>
<updated>2012-06-01T01:01:57+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2012-06-01T01:01:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=bda61de216b7a7f245c8e3e25e5d70f4dd73ae5c'/>
<id>urn:sha1:bda61de216b7a7f245c8e3e25e5d70f4dd73ae5c</id>
<content type='text'>
and valloc() are not in the current version, while posix_memalign() mkstemp(),
and mkdtemp() are, and setstate()'s argument has lost a bogus 'const'.

ok millert@ jmc@ espie@ kettenis@; ports build testing by naddy@
</content>
</entry>
</feed>
