summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortedu <tedu@openbsd.org>2014-12-29 17:07:17 +0000
committertedu <tedu@openbsd.org>2014-12-29 17:07:17 +0000
commit5c20656ff4fdac52c1b1f93d6a09a7000474b2fe (patch)
treee4de3458dbc9ec267d3653c3933d16957532e746
parentencrypt is now built into instbin, do not need to use the /mnt version (diff)
downloadwireguard-openbsd-5c20656ff4fdac52c1b1f93d6a09a7000474b2fe.tar.xz
wireguard-openbsd-5c20656ff4fdac52c1b1f93d6a09a7000474b2fe.zip
impose some limits on the ideal rounds so nothing too crazy happens when
the clock results are weird
-rw-r--r--usr.bin/encrypt/encrypt.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/encrypt/encrypt.c b/usr.bin/encrypt/encrypt.c
index 0f302b5706b..074fcec94cb 100644
--- a/usr.bin/encrypt/encrypt.c
+++ b/usr.bin/encrypt/encrypt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: encrypt.c,v 1.34 2014/12/24 22:04:26 tedu Exp $ */
+/* $OpenBSD: encrypt.c,v 1.35 2014/12/29 17:07:17 tedu Exp $ */
/*
* Copyright (c) 1996, Jason Downs. All rights reserved.
@@ -80,12 +80,12 @@ ideal_rounds(void)
duration = after - before;
/* too quick? slow it down. */
- while (duration <= CLOCKS_PER_SEC / 4) {
+ while (r < 16 && duration <= CLOCKS_PER_SEC / 4) {
r += 1;
duration *= 2;
}
/* too slow? speed it up. */
- while (duration > CLOCKS_PER_SEC / 2) {
+ while (r > 4 && duration > CLOCKS_PER_SEC / 2) {
r -= 1;
duration /= 2;
}