OpenBSD CVS

CVS log for src/sys/crypto/idgen.c


[BACK] Up to [local] / src / sys / crypto

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 22 13:54:30 2020 UTC (3 years, 10 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, HEAD
Changes since 1.7: +1 -0 lines
Diff to previous 1.7 (colored)

Add missing CVS tags.

ok patrick@

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jun 24 22:03:40 2020 UTC (3 years, 11 months ago) by cheloha
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

kernel: use gettime(9)/getuptime(9) in lieu of time_second(9)/time_uptime(9)

time_second(9) and time_uptime(9) are widely used in the kernel to
quickly get the system UTC or system uptime as a time_t.  However,
time_t is 64-bit everywhere, so it is not generally safe to use them
on 32-bit platforms: you have a split-read problem if your hardware
cannot perform atomic 64-bit reads.

This patch replaces time_second(9) with gettime(9), a safer successor
interface, throughout the kernel.  Similarly, time_uptime(9) is replaced
with getuptime(9).

There is a performance cost on 32-bit platforms in exchange for
eliminating the split-read problem: instead of two register reads you
now have a lockless read loop to pull the values from the timehands.
This is really not *too* bad in the grand scheme of things, but
compared to what we were doing before it is several times slower.

There is no performance cost on 64-bit (__LP64__) platforms.

With input from visa@, dlg@, and tedu@.

Several bugs squashed by visa@.

ok kettenis@

Revision 1.6 / (download) - annotate - [select for diffs], Wed Apr 15 03:56:14 2020 UTC (4 years, 1 month ago) by cheloha
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

idgen32(9): use time_uptime(9) for rekey timestamps, not time_second(9)

Timestamp contexts with a monotonic clock.  time_second(9) can jump,
stretching or truncating our rekey interval.  time_uptime(9) will not
jump around.

ok djm@

Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 14 03:38:46 2015 UTC (9 years, 3 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.4: +0 -2 lines
Diff to previous 1.4 (colored)

Remove some includes include-what-you-use claims don't
have any direct symbols used.  Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jun 5 05:45:54 2013 UTC (11 years ago) by djm
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.3: +26 -26 lines
Diff to previous 1.3 (colored)

fix a bug that caused time-based rekeys to happen too frequently.

rename the structure internals to id32_* in anticipation of an
idgen16() that might come in the future.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Aug 17 18:10:39 2009 UTC (14 years, 9 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

sizeof(ptr) -> sizeof(*ptr) as intended; ok djm@ millert@

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 25 00:55:52 2008 UTC (15 years, 11 months ago) by djm
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
Changes since 1.1: +16 -14 lines
Diff to previous 1.1 (colored)

implement automatic time-based rekeying (every 10 minutes); ok deraadt@

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jun 9 22:47:41 2008 UTC (16 years ago) by djm
Branch: MAIN

Introduce a facility to generate unpredictable 32 bit numbers with
near maximal (2^32) cycle times. These are useful for network
IDs in cases where there are negative consequences to ID prediction
and/or reuse.

Use the idgen32() functions to generate IPv6 IDs and NFS client/server
XIDs.

Pseudorandom permutation code in crypto/idgen.c based on public
domain skip32.c from Greg Rose.

feedback & ok thib@ deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.