diff options
author | markm <markm@FreeBSD.org> | 2013-10-04 06:55:06 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2013-10-04 06:55:06 +0000 |
commit | b28953010e0b4d9208d7f9dcc8933e6d56f16ce3 (patch) | |
tree | c4e072a0e767bef2275921e88362a12f29adf3c2 /sys/dev/syscons | |
parent | 4655fd3ead80b03639e139ad19759e0307eb10df (diff) | |
download | FreeBSD-src-b28953010e0b4d9208d7f9dcc8933e6d56f16ce3.zip FreeBSD-src-b28953010e0b4d9208d7f9dcc8933e6d56f16ce3.tar.gz |
Snapshot. This passes the build test, but has not yet been finished or debugged.
Contains:
* Refactor the hardware RNG CPU instruction sources to feed into
the software mixer. This is unfinished. The actual harvesting needs
to be sorted out. Modified by me (see below).
* Remove 'frac' parameter from random_harvest(). This was never
used and adds extra code for no good reason.
* Remove device write entropy harvesting. This provided a weak
attack vector, was not very good at bootstrapping the device. To
follow will be a replacement explicit reseed knob.
* Separate out all the RANDOM_PURE sources into separate harvest
entities. This adds some secuity in the case where more than one
is present.
* Review all the code and fix anything obviously messy or inconsistent.
Address som review concerns while I'm here, like rename the pseudo-rng
to 'dummy'.
Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r-- | sys/dev/syscons/scmouse.c | 2 | ||||
-rw-r--r-- | sys/dev/syscons/syscons.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/syscons/scmouse.c b/sys/dev/syscons/scmouse.c index 21e6d08..4dbd1a7 100644 --- a/sys/dev/syscons/scmouse.c +++ b/sys/dev/syscons/scmouse.c @@ -666,7 +666,7 @@ sc_mouse_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) mouse = (mouse_info_t*)data; - random_harvest(mouse, sizeof(mouse_info_t), 2, 0, RANDOM_MOUSE); + random_harvest(mouse, sizeof(mouse_info_t), 2, RANDOM_MOUSE); if (cmd == OLD_CONS_MOUSECTL) { static u_char swapb[] = { 0, 4, 2, 6, 1, 5, 3, 7 }; diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index f09973c..b44dd53 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -3400,7 +3400,7 @@ next_code: sc_touch_scrn_saver(); if (!(flags & SCGETC_CN)) - random_harvest(&c, sizeof(c), 1, 0, RANDOM_KEYBOARD); + random_harvest(&c, sizeof(c), 1, RANDOM_KEYBOARD); if (scp->kbd_mode != K_XLATE) return KEYCHAR(c); |