mgmt, main: add support for authorized commands
refs: #1227
Change-Id: I907d1fa6e78775470c5376fcdfe898be4c311001
diff --git a/daemon/mgmt/face-manager.cpp b/daemon/mgmt/face-manager.cpp
index 30e3abd..9874176 100644
--- a/daemon/mgmt/face-manager.cpp
+++ b/daemon/mgmt/face-manager.cpp
@@ -34,7 +34,7 @@
const size_t FaceManager::COMMAND_SIGNED_NCOMPS =
FaceManager::COMMAND_UNSIGNED_NCOMPS +
- 0; // No signed Interest support in mock, otherwise 4 (timestamp, nonce, signed info tlv, signature tlv)
+ 4; // (timestamp, nonce, signed info tlv, signature tlv)
const FaceManager::VerbAndProcessor FaceManager::COMMAND_VERBS[] =
{
@@ -52,8 +52,8 @@
FaceManager::FaceManager(FaceTable& faceTable,
- shared_ptr<AppFace> face)
- : ManagerBase(face)
+ shared_ptr<InternalFace> face)
+ : ManagerBase(face, FACE_MANAGER_PRIVILEGE)
, m_faceTable(faceTable)
, m_verbDispatch(COMMAND_VERBS,
COMMAND_VERBS +
@@ -411,7 +411,9 @@
return;
}
- onValidatedFaceRequest(request.shared_from_this());
+ validate(request,
+ bind(&FaceManager::onValidatedFaceRequest, this, _1),
+ bind(&ManagerBase::onCommandValidationFailed, this, _1, _2));
}
void
@@ -430,14 +432,6 @@
return;
}
- /// \todo authorize command
- if (false)
- {
- NFD_LOG_INFO("command result: unauthorized verb: " << command);
- sendResponse(command, 403, "Unauthorized command");
- return;
- }
-
NFD_LOG_INFO("command result: processing verb: " << verb);
(verbProcessor->second)(this, command, options);
}