aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSUZUKI, Shinsuke <suz@kame.net>2007-07-22 06:59:23 +0000
committerBjørn Mork <bjorn@mork.no>2010-08-06 15:37:37 +0200
commit3449a53562d27c747e22390a94c0231d3bf8c222 (patch)
treeee0b90f6e5c6adcf42c7dcead6b80171cb51f800
parent23da78eb6973bd9e97ad5458ab66ed27854b4ac3 (diff)
fixed a singular-point detection failure in replay check. (Bug-ID 1714644)
-rw-r--r--CHANGES4
-rw-r--r--common.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 8f54de9..f584951 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+2007-07-10 SUZUKI, Shinsuke <suz@kame.net>
+ * common.c: fixed a singular-point detection failure in replay check.
+ (Bug-ID 1714644)
+
2007-06-28 SUZUKI, Shinsuke <suz@kame.net>
* dhcp6s.8: fixed a typo in a manual (program name "dhcp6sctl" should
be "dhcp6ctl")
diff --git a/common.c b/common.c
index 0a41dad..dd1a098 100644
--- a/common.c
+++ b/common.c
@@ -663,8 +663,11 @@ dhcp6_auth_replaycheck(method, prev, current)
prev = ntohq(prev);
current = ntohq(current);
- /* we call the singular point guilty */
- if (prev == (current ^ 8000000000000000ULL)) {
+ /*
+ * we call the singular point guilty, since we cannot guess
+ * whether the serial number is increasing or not.
+ */
+ if (prev == (current ^ 0x8000000000000000ULL)) {
dprintf(LOG_INFO, FNAME, "detected a singular point");
return (1);
}