Upgrade to NFD 22.02 and ndn-cxx 0.8.0 and fixes for NS-3.35

Change-Id: Ia26204f1ecddc93729e5565d5dbbb2a3d1d9637e
diff --git a/utils/dummy-keychain.cpp b/utils/dummy-keychain.cpp
index 3f62a4e..7294c1e 100644
--- a/utils/dummy-keychain.cpp
+++ b/utils/dummy-keychain.cpp
@@ -66,8 +66,8 @@
 const std::string DummyPib::SCHEME = "pib-dummy";
 const std::string DummyTpm::SCHEME = "tpm-dummy";
 
-NDN_CXX_V2_KEYCHAIN_REGISTER_PIB_BACKEND(DummyPib);
-NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND(DummyTpm);
+NDN_CXX_KEYCHAIN_REGISTER_PIB_BACKEND(DummyPib);
+NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND(DummyTpm);
 
 DummyPib::DummyPib(const std::string& locator)
 {
@@ -132,8 +132,7 @@
 }
 
 void
-DummyPib::addKey(const Name& identity, const Name& keyName,
-                 const uint8_t* key, size_t keyLen)
+DummyPib::addKey(const Name& identity, const Name& keyName, span<const uint8_t> key)
 {
 }
 
@@ -148,7 +147,7 @@
     typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
     arrayStream
     is(reinterpret_cast<const char*>(DUMMY_CERT), sizeof(DUMMY_CERT));
-    auto cert = io::load<v2::Certificate>(is, io::BASE64);
+    auto cert = io::load<Certificate>(is, io::BASE64);
     return cert->getPublicKey();
 }
 
@@ -178,7 +177,7 @@
 }
 
 void
-DummyPib::addCertificate(const v2::Certificate& certificate)
+DummyPib::addCertificate(const Certificate& certificate)
 {
 }
 
@@ -187,15 +186,15 @@
 {
 }
 
-v2::Certificate
+Certificate
 DummyPib::getCertificate(const Name& certificateName) const
 {
-  static shared_ptr<v2::Certificate> cert = nullptr;
+  static shared_ptr<Certificate> cert = nullptr;
   if (cert == nullptr) {
     typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
     arrayStream
     is(reinterpret_cast<const char*>(DUMMY_CERT), sizeof(DUMMY_CERT));
-    cert = io::load<v2::Certificate>(is, io::BASE64);
+    cert = io::load<Certificate>(is, io::BASE64);
   }
 
   return *cert;
@@ -214,15 +213,15 @@
 {
 }
 
-v2::Certificate
+Certificate
 DummyPib::getDefaultCertificateOfKey(const Name& keyName) const
 {
-  static shared_ptr<v2::Certificate> cert = nullptr;
+  static shared_ptr<Certificate> cert = nullptr;
   if (cert == nullptr) {
     typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
     arrayStream
     is(reinterpret_cast<const char*>(DUMMY_CERT), sizeof(DUMMY_CERT));
-    cert = io::load<v2::Certificate>(is, io::BASE64);
+    cert = io::load<Certificate>(is, io::BASE64);
   }
 
   return *cert;
@@ -246,20 +245,19 @@
 }
 
 ConstBufferPtr
-DummyKeyHandle::doSign(DigestAlgorithm digestAlgorithm, const uint8_t* buf, size_t size) const
+DummyKeyHandle::doSign(DigestAlgorithm digestAlgorithm, const InputBuffers& bufs) const
 {
   return make_shared<Buffer>(DUMMY_SIGNATURE, sizeof(DUMMY_SIGNATURE));
 }
 
 bool
-DummyKeyHandle::doVerify(DigestAlgorithm digestAlgorithm, const uint8_t* buf, size_t bufLen,
-                         const uint8_t* sig, size_t sigLen) const
+DummyKeyHandle::doVerify(DigestAlgorithm digestAlgorithm, const InputBuffers& bufs, span<const uint8_t> sig) const
 {
   throw Error("Not supported");
 }
 
 ConstBufferPtr
-DummyKeyHandle::doDecrypt(const uint8_t* cipherText, size_t cipherTextLen) const
+DummyKeyHandle::doDecrypt(span<const uint8_t> cipherText) const
 {
   throw Error("Not supported");
 }
@@ -331,7 +329,7 @@
 }
 
 void
-DummyTpm::doImportKey(const Name& keyName, const uint8_t* pkcs8, size_t pkcs8Len, const char* pw, size_t pwLen)
+DummyTpm::doImportKey(const Name& keyName, span<const uint8_t> pkcs8, const char* pw, size_t pwLen)
 {
   throw Error("Not supported");
 }
diff --git a/utils/dummy-keychain.hpp b/utils/dummy-keychain.hpp
index 7f8b0a3..95ee50e 100644
--- a/utils/dummy-keychain.hpp
+++ b/utils/dummy-keychain.hpp
@@ -83,8 +83,7 @@
   hasKey(const Name& keyName) const override;
 
   void
-  addKey(const Name& identity, const Name& keyName, const uint8_t* key,
-         size_t keyLen) override;
+  addKey(const Name& identity, const Name& keyName, span<const uint8_t> key) override;
 
   void
   removeKey(const Name& keyName) override;
@@ -106,12 +105,12 @@
   hasCertificate(const Name& certName) const override;
 
   void
-  addCertificate(const v2::Certificate& certificate) override;
+  addCertificate(const Certificate& certificate) override;
 
   void
   removeCertificate(const Name& certName) override;
 
-  v2::Certificate
+  Certificate
   getCertificate(const Name& certificateName) const override;
 
   std::set<Name>
@@ -120,7 +119,7 @@
   void
   setDefaultCertificateOfKey(const Name& keyName, const Name& certName) override;
 
-  v2::Certificate
+  Certificate
   getDefaultCertificateOfKey(const Name& keyName) const override;
 
   static std::string
@@ -145,14 +144,13 @@
 
 private:
   ConstBufferPtr
-  doSign(DigestAlgorithm digestAlgorithm, const uint8_t* buf, size_t size) const final;
+  doSign(DigestAlgorithm digestAlgorithm, const InputBuffers& bufs) const final;
 
   bool
-  doVerify(DigestAlgorithm digestAlgorithm, const uint8_t* buf, size_t bufLen,
-           const uint8_t* sig, size_t sigLen) const final;
+  doVerify(DigestAlgorithm digestAlgorithm, const InputBuffers& bufs, span<const uint8_t> sig) const final;
 
   ConstBufferPtr
-  doDecrypt(const uint8_t* cipherText, size_t cipherTextLen) const final;
+  doDecrypt(span<const uint8_t> cipherText) const final;
 
   ConstBufferPtr
   doDerivePublicKey() const final;
@@ -211,7 +209,7 @@
   doExportKey(const Name& keyName, const char* pw, size_t pwLen) final;
 
   void
-  doImportKey(const Name& keyName, const uint8_t* pkcs8, size_t pkcs8Len, const char* pw, size_t pwLen) final;
+  doImportKey(const Name& keyName, span<const uint8_t> pkcs8, const char* pw, size_t pwLen) final;
 
   void
   doImportKey(const Name& keyName, shared_ptr<transform::PrivateKey> key) final;
diff --git a/utils/tracers/ndn-app-delay-tracer.cpp b/utils/tracers/ndn-app-delay-tracer.cpp
index d893a72..63fdf73 100644
--- a/utils/tracers/ndn-app-delay-tracer.cpp
+++ b/utils/tracers/ndn-app-delay-tracer.cpp
@@ -197,13 +197,12 @@
 void
 AppDelayTracer::Connect()
 {
-  Config::ConnectWithoutContext("/NodeList/" + m_node
-                                  + "/ApplicationList/*/LastRetransmittedInterestDataDelay",
-                                MakeCallback(&AppDelayTracer::LastRetransmittedInterestDataDelay,
-                                             this));
+  Config::ConnectWithoutContextFailSafe("/NodeList/" + m_node + "/ApplicationList/*/LastRetransmittedInterestDataDelay",
+                                        MakeCallback(&AppDelayTracer::LastRetransmittedInterestDataDelay,
+                                                     this));
 
-  Config::ConnectWithoutContext("/NodeList/" + m_node + "/ApplicationList/*/FirstInterestDataDelay",
-                                MakeCallback(&AppDelayTracer::FirstInterestDataDelay, this));
+  Config::ConnectWithoutContextFailSafe("/NodeList/" + m_node + "/ApplicationList/*/FirstInterestDataDelay",
+                                        MakeCallback(&AppDelayTracer::FirstInterestDataDelay, this));
 }
 
 void