Browse Source

[2565] Fix exception message returned when classes don't match

Mukund Sivaraman 12 years ago
parent
commit
857d7fbf03
2 changed files with 4 additions and 3 deletions
  1. 2 2
      src/lib/dns/master_loader.cc
  2. 2 1
      src/lib/dns/tests/master_loader_unittest.cc

+ 2 - 2
src/lib/dns/master_loader.cc

@@ -214,8 +214,8 @@ private:
             RRClass::createFromText(rrparam_token.getString());
         if (rrclass) {
             if (*rrclass != zone_class_) {
-                isc_throw(InternalException, "Class mismatch: " << rrclass <<
-                          "vs. " << zone_class_);
+                isc_throw(InternalException, "Class mismatch: " << *rrclass <<
+                          " vs. " << zone_class_);
             }
             rrparam_token = lexer_.getNextToken(MasterToken::STRING);
         }

+ 2 - 1
src/lib/dns/tests/master_loader_unittest.cc

@@ -391,7 +391,8 @@ struct ErrorCase {
       "Missing Rdata" },
 
     { "www      3600    IN", NULL, "Unexpected EOLN" },
-    { "www      3600    CH  TXT nothing", NULL, "Class mismatch" },
+    { "www      3600    CH  TXT nothing", "Class mismatch: CH vs. IN",
+      "Class mismatch" },
     { "www      \"3600\"  IN  A   192.0.2.1", NULL, "Quoted TTL" },
     { "www      3600    \"IN\"  A   192.0.2.1", NULL, "Quoted class" },
     { "www      3600    IN  \"A\"   192.0.2.1", NULL, "Quoted type" },