mgmt: respond Nack when query is invalid

refs #1993

Change-Id: I21e398cd7b2e562b7dc759a89f6e668960e72c41
diff --git a/daemon/mgmt/face-manager.cpp b/daemon/mgmt/face-manager.cpp
index daba08e..712d096 100644
--- a/daemon/mgmt/face-manager.cpp
+++ b/daemon/mgmt/face-manager.cpp
@@ -1158,7 +1158,7 @@
       !FACES_QUERY_DATASET_PREFIX.isPrefixOf(query))
     {
       NFD_LOG_DEBUG("query result: malformed");
-      //sendNack(query);
+      sendNack(query);
       return;
     }
 
@@ -1170,7 +1170,7 @@
   catch (tlv::Error&)
     {
       NFD_LOG_DEBUG("query result: malformed filter");
-      //sendNack(query);
+      sendNack(query);
       return;
     }
 
diff --git a/daemon/mgmt/manager-base.cpp b/daemon/mgmt/manager-base.cpp
index da553a5..cf75d04 100644
--- a/daemon/mgmt/manager-base.cpp
+++ b/daemon/mgmt/manager-base.cpp
@@ -99,21 +99,20 @@
   m_face->put(*responseData);
 }
 
-// for future commit
-//void
-//ManagerBase::sendNack(const Name& name)
-//{
-//  NFD_LOG_DEBUG("responding NACK to " << name);
-//
-//  ndn::MetaInfo meta;
-//  meta.setType(ndn::tlv::ContentType_Nack);
-//
-//  shared_ptr<Data> responseData(make_shared<Data>(name));
-//  responseData->setMetaInfo(meta);
-//
-//  m_keyChain.sign(*responseData);
-//  m_face->put(*responseData);
-//}
+void
+ManagerBase::sendNack(const Name& name)
+{
+  NFD_LOG_DEBUG("responding NACK to " << name);
+
+  ndn::MetaInfo meta;
+  meta.setType(tlv::ContentType_Nack);
+
+  shared_ptr<Data> responseData(make_shared<Data>(name));
+  responseData->setMetaInfo(meta);
+
+  m_keyChain.sign(*responseData);
+  m_face->put(*responseData);
+}
 
 bool
 ManagerBase::validateParameters(const ControlCommand& command,
diff --git a/daemon/mgmt/manager-base.hpp b/daemon/mgmt/manager-base.hpp
index feaa54a..1611615 100644
--- a/daemon/mgmt/manager-base.hpp
+++ b/daemon/mgmt/manager-base.hpp
@@ -94,8 +94,8 @@
                const std::string& text,
                const Block& body);
 
-  //void
-  //sendNack(const Name& name);
+  void
+  sendNack(const Name& name);
 
   virtual bool
   validateParameters(const ControlCommand& command,