]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2377] Warn on unexpected EOF after error
authorMichal 'vorner' Vaner <michal.vaner@nic.cz>
Mon, 10 Dec 2012 13:44:48 +0000 (14:44 +0100)
committerMichal 'vorner' Vaner <michal.vaner@nic.cz>
Mon, 10 Dec 2012 13:44:48 +0000 (14:44 +0100)
When there's an error, we expect there'll be EOLN somewhere, so we can
recover. Warn in case there's EOF.

src/lib/dns/master_loader.cc
src/lib/dns/tests/master_loader_unittest.cc

index 6fd40d830f5bcde7237311a729498ff0f0b61d92..f556dde6eaac8c06e52997d7d69c5c3153ad527f 100644 (file)
@@ -204,6 +204,9 @@ MasterLoader::MasterLoaderImpl::loadIncremental(size_t count_limit) {
                 const MasterToken& token(lexer_.getNextToken());
                 switch (token.getType()) {
                     case MasterToken::END_OF_FILE:
+                        callbacks_.warning(lexer_.getSourceName(),
+                                           lexer_.getSourceLine(),
+                                           "Unexpected end ond of file");
                         // TODO: Try pop in case this is not the only
                         // source
                         return (true);
index 184ab6758c31da01bfa931f90c4e7949ba00c23c..74baa3b174fd3fd142e90660694d21c656d688e9 100644 (file)
@@ -282,9 +282,8 @@ TEST_F(MasterLoaderTest, brokenZone) {
             EXPECT_NO_THROW(loader_->load());
             EXPECT_FALSE(loader_->loadedSucessfully());
             EXPECT_EQ(1, errors_.size());
-            // FIXME: The invalid rdata generates a warning.
-            // And we may want to generate warning ourself here too.
-            // EXPECT_TRUE(warnings_.empty());
+            // The unexpected EOF warning
+            EXPECT_EQ(1, warnings_.size());
             checkRR("example.org", RRType::SOA(), "ns1.example.org. "
                     "admin.example.org. 1234 3600 1800 2419200 7200");
             EXPECT_TRUE(rrsets_.empty());