diff options
author | Shawn Routhier <sar@isc.org> | 2010-05-15 00:01:10 +0000 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2010-05-15 00:01:10 +0000 |
commit | a8af8aab832bb327261f8f5f40ca122df09198ae (patch) | |
tree | d79a1ac2920783b4e32703c8428fefcc2de8b3ed | |
parent | 797c19605c778c58264f9bc42427cdd825312488 (diff) | |
download | isc-dhcp-a8af8aab832bb327261f8f5f40ca122df09198ae.tar.gz |
Allow zero-length client ids when hashing. Ticket 21253
-rw-r--r-- | RELNOTES | 4 | ||||
-rw-r--r-- | omapip/hash.c | 12 |
2 files changed, 13 insertions, 3 deletions
@@ -54,6 +54,10 @@ work on other platforms. Please report any problems and suggested fixes to - Prohibit including lease time information in a response to a DHCP INFORM Bug ticket 21092. +! Accept a client id of length 0 while hashing. Previously the server would + exit if it attempted to hash a zero length client id, providing attackers + with a simple denial of service attack. Bug ticket 21253. + Changes since 4.1.1rc1 - When using 'ignore client-updates;', the FQDN returned to the client diff --git a/omapip/hash.c b/omapip/hash.c index e33f803e..c3aa737c 100644 --- a/omapip/hash.c +++ b/omapip/hash.c @@ -3,7 +3,8 @@ Routines for manipulating hash tables... */ /* - * Copyright (c) 2004-2007,2009 by Internet Systems Consortium, Inc. ("ISC") + * Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC") + * Copyright (c) 2004-2007 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 1995-2003 by Internet Software Consortium * * Permission to use, copy, modify, and distribute this software for any @@ -49,8 +50,13 @@ find_length(const void *key, if (do_hash == do_ip4_hash) return 4; - log_fatal("Impossible condition at %s:%d.", MDL); - return 0; /* Silence compiler warnings. */ + log_debug("Unexpected hash function at %s:%d.", MDL); + /* + * If we get a hash function we don't specifically expect + * return a length of 0, this covers the case where a client + * id has a length of 0. + */ + return 0; } int new_hash_table (tp, count, file, line) |