Up to [local] / src / usr.sbin / bind
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: OPENBSD_4_3_BASE
Revision 1.9 / (download) - annotate - [select for diffs], Fri Feb 29 12:21:10 2008 UTC (16 years, 3 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6,
OPENBSD_4_5_BASE,
OPENBSD_4_5,
OPENBSD_4_4_BASE,
OPENBSD_4_4,
OPENBSD_4_3_BASE,
OPENBSD_4_3
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)
replacement algorithm. initialize a 64K-short buffer using Durstenfeld shuffle. Upon allocation, swap-permute the new value to a random slot in the 0..32K-1 th entry of the buffer as we move forward, ensuring randomness but also satisfying the non-repeating property we need. Inspired by Dillon's implementation for ip id. We believe this is easier to read though, initializes with less bias and wins speed tests. Thanks a lot to mcbride and djm for doing a bunch of statistical and speed analysis, and comments from nordin ok jakob djm mcbride