From: Mukund Sivaraman Date: Mon, 9 Sep 2013 17:05:40 +0000 (+0530) Subject: [2762] Allow short names for HMAC-MD5 X-Git-Tag: bind10-1.2.0beta1-release~217^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a7aa9cb237b629b548bbf2d8c4041c8ec2b9a02;p=thirdparty%2Fkea.git [2762] Allow short names for HMAC-MD5 --- diff --git a/src/lib/dns/tests/rdata_tsig_unittest.cc b/src/lib/dns/tests/rdata_tsig_unittest.cc index d351b40e5f..1c7cdc7f2f 100644 --- a/src/lib/dns/tests/rdata_tsig_unittest.cc +++ b/src/lib/dns/tests/rdata_tsig_unittest.cc @@ -143,6 +143,10 @@ TEST_F(Rdata_TSIG_Test, fromText) { // multi-line rdata checkFromText_None("hmac-md5.sig-alg.reg.int. ( 1286779327 300 \n" "0 16020 BADKEY 0 )"); + + // short-form HMAC-MD5 name + const any::TSIG tsig6("hmac-md5 1286779327 300 0 16020 BADKEY 0"); + EXPECT_EQ(0, tsig1.compare(rdata_tsig)); }; TEST_F(Rdata_TSIG_Test, badText) { diff --git a/src/lib/dns/tsigkey.cc b/src/lib/dns/tsigkey.cc index 707520327f..65d1ebfb9c 100644 --- a/src/lib/dns/tsigkey.cc +++ b/src/lib/dns/tsigkey.cc @@ -31,9 +31,16 @@ using namespace isc::cryptolink; namespace isc { namespace dns { namespace { + bool + isHMACMD5(const isc::dns::Name& name) { + static const Name md5_short_name("hmac-md5"); + return ((name == TSIGKey::HMACMD5_NAME()) || + (name == md5_short_name)); + } + HashAlgorithm convertAlgorithmName(const isc::dns::Name& name) { - if (name == TSIGKey::HMACMD5_NAME()) { + if (isHMACMD5(name)) { return (isc::cryptolink::MD5); } if (name == TSIGKey::HMACSHA1_NAME()) {