address comments from Davide
Change-Id: I493fc14920bdec2241b2c77dd0ec73f4466b6129
diff --git a/src/detail/crypto-helpers.cpp b/src/detail/crypto-helpers.cpp
index c62db20..d72d7bf 100644
--- a/src/detail/crypto-helpers.cpp
+++ b/src/detail/crypto-helpers.cpp
@@ -21,6 +21,7 @@
#include "detail/crypto-helpers.hpp"
#include <boost/endian/conversion.hpp>
+#include <cstring>
#include <ndn-cxx/encoding/buffer-stream.hpp>
#include <ndn-cxx/security/transform/base64-decode.hpp>
#include <ndn-cxx/security/transform/base64-encode.hpp>
@@ -342,7 +343,7 @@
std::memcpy(&iv[8], reinterpret_cast<const uint8_t*>(&temp), 4);
uint32_t increment = (payloadSize + 15) / 16;
if (std::numeric_limits<uint32_t>::max() - counter < increment) {
- NDN_THROW(std::runtime_error("Error incrementing the AES block counter:"
+ NDN_THROW(std::runtime_error("Error incrementing the AES block counter: "
"too many blocks have been encrypted for the same request instance"));
}
else {
@@ -369,13 +370,15 @@
// The spec of AES encrypted payload TLV used in NDNCERT:
// https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-0.3#242-aes-gcm-encryption
block.parse();
- Buffer result(block.get(tlv::EncryptedPayload).value_size());
- auto resultLen = aesGcm128Decrypt(block.get(tlv::EncryptedPayload).value(),
- block.get(tlv::EncryptedPayload).value_size(),
+ const auto& encryptedPayloadBlock = block.get(tlv::EncryptedPayload);
+ Buffer result(encryptedPayloadBlock.value_size());
+ auto resultLen = aesGcm128Decrypt(encryptedPayloadBlock.value(), encryptedPayloadBlock.value_size(),
associatedData, associatedDataSize, block.get(tlv::AuthenticationTag).value(),
key, block.get(tlv::InitializationVector).value(), result.data());
- if (resultLen != block.get(tlv::EncryptedPayload).value_size()) {
+ if (resultLen != encryptedPayloadBlock.value_size()) {
return Buffer();
+ NDN_THROW(std::runtime_error("Error when decrypting the AES Encrypted Block: "
+ "Decrypted payload is of an unexpected size"));
}
return result;
}
diff --git a/src/detail/ndncert-common.hpp b/src/detail/ndncert-common.hpp
index d458147..77f6ca2 100644
--- a/src/detail/ndncert-common.hpp
+++ b/src/detail/ndncert-common.hpp
@@ -18,8 +18,8 @@
* See AUTHORS.md for complete list of ndncert authors and contributors.
*/
-#ifndef NDNCERT_NDNCERT_COMMON_HPP
-#define NDNCERT_NDNCERT_COMMON_HPP
+#ifndef NDNCERT_DETAIL_NDNCERT_COMMON_HPP
+#define NDNCERT_DETAIL_NDNCERT_COMMON_HPP
#include "detail/ndncert-config.hpp"
@@ -37,19 +37,18 @@
#include <cstddef>
#include <cstdint>
-#include <tuple>
-#include <ndn-cxx/encoding/tlv.hpp>
#include <ndn-cxx/data.hpp>
-#include <ndn-cxx/encoding/block.hpp>
#include <ndn-cxx/encoding/block-helpers.hpp>
+#include <ndn-cxx/encoding/block.hpp>
+#include <ndn-cxx/encoding/tlv.hpp>
#include <ndn-cxx/face.hpp>
#include <ndn-cxx/interest.hpp>
-#include <ndn-cxx/link.hpp>
#include <ndn-cxx/lp/nack.hpp>
#include <ndn-cxx/name.hpp>
-#include <ndn-cxx/security/key-chain.hpp>
#include <ndn-cxx/security/certificate.hpp>
+#include <ndn-cxx/security/key-chain.hpp>
#include <ndn-cxx/util/logger.hpp>
+#include <tuple>
#include <boost/algorithm/string.hpp>
#include <boost/assert.hpp>
#include <boost/noncopyable.hpp>
@@ -129,4 +128,4 @@
} // namespace ndncert
} // namespace ndn
-#endif // NDNCERT_NDNCERT_COMMON_HPP
+#endif // NDNCERT_DETAIL_NDNCERT_COMMON_HPP
diff --git a/src/identity-challenge/challenge-credential.cpp b/src/identity-challenge/challenge-credential.cpp
index 5ec176b..9cceefe 100644
--- a/src/identity-challenge/challenge-credential.cpp
+++ b/src/identity-challenge/challenge-credential.cpp
@@ -18,7 +18,6 @@
*/
#include "challenge-credential.hpp"
-#include <iostream>
#include <ndn-cxx/security/verification-helpers.hpp>
#include <ndn-cxx/security/signing-helpers.hpp>
#include <ndn-cxx/security/transform/public-key.hpp>
diff --git a/tests/test-common.hpp b/tests/test-common.hpp
index 45bc434..68cccc2 100644
--- a/tests/test-common.hpp
+++ b/tests/test-common.hpp
@@ -26,7 +26,6 @@
#include "database-fixture.hpp"
#include "identity-management-fixture.hpp"
#include "unit-test-time-fixture.hpp"
-#include <iostream>
#include <ndn-cxx/metadata-object.hpp>
#include <ndn-cxx/security/signing-helpers.hpp>
#include <ndn-cxx/security/transform/base64-encode.hpp>
diff --git a/tests/unit-tests/bench.t.cpp b/tests/unit-tests/bench.t.cpp
index b5fc5ab..48f2048 100644
--- a/tests/unit-tests/bench.t.cpp
+++ b/tests/unit-tests/bench.t.cpp
@@ -42,13 +42,13 @@
auto profileData = ca.getCaProfileData();
Interest interest = MetadataObject::makeDiscoveryInterest(Name("/ndn/CA/INFO"));
- std::cout << "CA Config discovery Interest Size: " << interest.wireEncode().size() << std::endl;
+ // std::cout << "CA Config discovery Interest Size: " << interest.wireEncode().size() << std::endl;
shared_ptr<Interest> infoInterest = nullptr;
face.setInterestFilter(
InterestFilter("/ndn/CA/INFO"),
[&](const auto&, const Interest& interest) {
- std::cout << interest.getName() << std::endl;
+ // std::cout << interest.getName() << std::endl;
if (interest.getName() == profileData.getName()) {
face.put(profileData);
}
@@ -60,16 +60,16 @@
face.onSendData.connect([&](const Data& response) {
if (count == 0) {
count++;
- std::cout << "CA Config MetaData Size: " << response.wireEncode().size() << std::endl;
+ // std::cout << "CA Config MetaData Size: " << response.wireEncode().size() << std::endl;
auto block = response.getContent();
block.parse();
infoInterest =std::make_shared<Interest>(Name(block.get(ndn::tlv::Name)).appendSegment(0));
infoInterest->setCanBePrefix(false);
- std::cout << "CA Config fetch Interest Size: " << infoInterest->wireEncode().size() << std::endl;
+ // std::cout << "CA Config fetch Interest Size: " << infoInterest->wireEncode().size() << std::endl;
}
else {
count++;
- std::cout << "CA Config Data Size: " << response.wireEncode().size() << std::endl;
+ // std::cout << "CA Config Data Size: " << response.wireEncode().size() << std::endl;
BOOST_CHECK(security::verifySignature(response, cert));
auto contentBlock = response.getContent();
contentBlock.parse();
@@ -108,7 +108,7 @@
time::system_clock::now(),
time::system_clock::now() + time::days(1));
- std::cout << "New Interest Size: " << newInterest->wireEncode().size() << std::endl;
+ // std::cout << "New Interest Size: " << newInterest->wireEncode().size() << std::endl;
// generate CHALLENGE Interest
shared_ptr<Interest> challengeInterest = nullptr;
@@ -118,7 +118,7 @@
int count = 0;
face.onSendData.connect([&](const Data& response) {
if (Name("/ndn/CA/NEW").isPrefixOf(response.getName())) {
- std::cout << "NEW Data Size: " << response.wireEncode().size() << std::endl;
+ // std::cout << "NEW Data Size: " << response.wireEncode().size() << std::endl;
auto challengeList = Requester::onNewRenewRevokeResponse(state, response);
auto paramList = Requester::selectOrContinueChallenge(state, "pin");
challengeInterest = Requester::genChallengeInterest(state, std::move(paramList));
@@ -146,10 +146,10 @@
auto secret = request->m_challengeState->m_secrets.get(ChallengePin::PARAMETER_KEY_CODE, "");
std::get<1>(paramList[0]) = secret;
challengeInterest3 = Requester::genChallengeInterest(state, std::move(paramList));
- std::cout << "CHALLENGE Interest Size: " << challengeInterest3->wireEncode().size() << std::endl;
+ // std::cout << "CHALLENGE Interest Size: " << challengeInterest3->wireEncode().size() << std::endl;
}
else if (Name("/ndn/CA/CHALLENGE").isPrefixOf(response.getName()) && count == 2) {
- std::cout << "CHALLENGE Data Size: " << response.wireEncode().size() << std::endl;
+ // std::cout << "CHALLENGE Data Size: " << response.wireEncode().size() << std::endl;
count++;
BOOST_CHECK(security::verifySignature(response, cert));
Requester::onChallengeResponse(state, response);
diff --git a/tests/unit-tests/ca-module.t.cpp b/tests/unit-tests/ca-module.t.cpp
index ff2dcd3..a9177ac 100644
--- a/tests/unit-tests/ca-module.t.cpp
+++ b/tests/unit-tests/ca-module.t.cpp
@@ -423,7 +423,6 @@
auto secret = request->m_challengeState->m_secrets.get(ChallengePin::PARAMETER_KEY_CODE, "");
std::get<1>(paramList[0]) = secret;
challengeInterest3 = Requester::genChallengeInterest(state, std::move(paramList));
- std::cout << "CHALLENGE Interest Size: " << challengeInterest3->wireEncode().size() << std::endl;
}
else if (Name("/ndn/CA/CHALLENGE").isPrefixOf(response.getName()) && count == 2) {
count++;
diff --git a/tests/wscript b/tests/wscript
index f5a0875..87151bd 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -6,6 +6,7 @@
return
tmp_path = 'TMP_TESTS_PATH="%s"' % bld.bldnode.make_node('tmp-tests')
+
bld.program(
target='../unit-tests',
name='unit-tests',