From: Mukund Sivaraman Date: Mon, 26 Mar 2012 12:03:25 +0000 (+0530) Subject: bug #1627: Generate better error messages when origin is not specified X-Git-Tag: trac2351_base~226^2~116^2~85 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=06280cc6b480f6976f25ccf8b9cedbdf7aa00e34;p=thirdparty%2Fkea.git bug #1627: Generate better error messages when origin is not specified --- diff --git a/src/bin/auth/auth_config.cc b/src/bin/auth/auth_config.cc index 2ae520c666..f94196a515 100644 --- a/src/bin/auth/auth_config.cc +++ b/src/bin/auth/auth_config.cc @@ -163,9 +163,16 @@ MemoryDatasourceConfig::build(ConstElementPtr config_value) { isc_throw(AuthConfigError, "Missing zone file for zone: " << origin->str()); } - boost::shared_ptr zone_finder(new - InMemoryZoneFinder(rrclass_, - Name(origin->stringValue()))); + + InMemoryZoneFinder *imzf = NULL; + try { + imzf = new InMemoryZoneFinder(rrclass_, Name(origin->stringValue())); + } catch (const isc::dns::NameParserException& ex) { + isc_throw(AuthConfigError, "Error parsing zone's origin: " << + ex.what()); + } + + boost::shared_ptr zone_finder(imzf); const result::Result result = memory_client_->addZone(zone_finder); if (result == result::EXIST) { isc_throw(AuthConfigError, "zone "<< origin->str()