]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2762] Allow short names for HMAC-MD5
authorMukund Sivaraman <muks@isc.org>
Mon, 9 Sep 2013 17:05:40 +0000 (22:35 +0530)
committerMukund Sivaraman <muks@isc.org>
Mon, 9 Sep 2013 17:05:40 +0000 (22:35 +0530)
src/lib/dns/tests/rdata_tsig_unittest.cc
src/lib/dns/tsigkey.cc

index d351b40e5f363b632f15bc0e3151c450ba2237e5..1c7cdc7f2fc9c3d0cb03bbaff7206d7691f35fc5 100644 (file)
@@ -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) {
index 707520327fc537c9b0f614a21ba022b70428006a..65d1ebfb9cea51ec8e9670e7a229c9bba1a5e0ab 100644 (file)
@@ -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()) {