Adding nsync for NLSR
diff --git a/src/nlsr.cpp b/src/nlsr.cpp
index fe4ba01..3ca2279 100644
--- a/src/nlsr.cpp
+++ b/src/nlsr.cpp
@@ -1,7 +1,6 @@
#include <ndn-cpp-dev/face.hpp>
#include <ndn-cpp-dev/security/key-chain.hpp>
#include <ndn-cpp-dev/util/scheduler.hpp>
-
#include <cstdlib>
#include <string>
#include <sstream>
@@ -108,8 +107,9 @@
//}
nlsr_.getLsdb().setLsaRefreshTime(nlsr_.getConfParameter().getLsaRefreshTime());
nlsr_.getFib().setFibEntryRefreshTime(
- 2*nlsr_.getConfParameter().getLsaRefreshTime());
+ 2*nlsr_.getConfParameter().getLsaRefreshTime());
nlsr_.getLsdb().setThisRouterPrefix(nlsr_.getConfParameter().getRouterPrefix());
+ nlsr_.getKeyManager().initKeyManager(nlsr_.getConfParameter());
/* debugging purpose start */
cout << nlsr_.getConfParameter();
nlsr_.getAdl().printAdl();
diff --git a/src/nlsr.hpp b/src/nlsr.hpp
index 2f2ee61..cbf2af9 100644
--- a/src/nlsr.hpp
+++ b/src/nlsr.hpp
@@ -16,6 +16,7 @@
#include "nlsr_npt.hpp"
#include "nlsr_fib.hpp"
#include "nlsr_logger.hpp"
+#include "nlsr_km.hpp"
//testing
#include "nlsr_test.hpp"
@@ -39,6 +40,7 @@
, im()
, dm()
, sm()
+ , km()
, nlsrLsdb()
, adjBuildCount(0)
, isBuildAdjLsaSheduled(0)
@@ -111,11 +113,16 @@
return nlsrFace;
}
- ndn::KeyChain& getKeyChain()
+ KeyManager& getKeyManager()
{
- return kChain;
+ return km;
}
+// ndn::KeyChain& getKeyChain()
+// {
+// return kChain;
+// }
+
interestManager& getIm()
{
return im;
@@ -223,10 +230,11 @@
ndn::shared_ptr<boost::asio::io_service> io;
ndn::Scheduler scheduler;
ndn::Face nlsrFace;
- ndn::KeyChain kChain;
+// ndn::KeyChain kChain;
interestManager im;
DataManager dm;
SequencingManager sm;
+ KeyManager km;
bool isDaemonProcess;
string configFileName;
int apiPort;
diff --git a/src/nlsr_im.cpp b/src/nlsr_im.cpp
index 23a56cc..2e6d6d1 100644
--- a/src/nlsr_im.cpp
+++ b/src/nlsr_im.cpp
@@ -48,7 +48,7 @@
Data data(ndn::Name(interest.getName()).appendVersion());
data.setFreshnessPeriod(1000); // 10 sec
data.setContent((const uint8_t*)"info", sizeof("info"));
- pnlsr.getKeyChain().sign(data);
+ pnlsr.getKeyManager().getKeyChain().sign(data);
cout << ">> D: " << data << endl;
pnlsr.getNlsrFace().put(data);
int status=pnlsr.getAdl().getStatusOfNeighbor(neighbor);
diff --git a/src/nlsr_km.cpp b/src/nlsr_km.cpp
new file mode 100644
index 0000000..fb4efaa
--- /dev/null
+++ b/src/nlsr_km.cpp
@@ -0,0 +1,22 @@
+#include <ndn-cpp-dev/security/identity-certificate.hpp>
+#include <ndn-cpp-dev/encoding/block.hpp>
+#include "nlsr_km.hpp"
+
+namespace nlsr
+{
+ void
+ KeyManager::initKeyManager(ConfParameter &cp)
+ {
+ ndn::Name identityName(cp.getRouterPrefix()+"/nlsr");
+ kChain.deleteIdentity(identityName);
+ ndn::Name certName = kChain.createIdentity(identityName);
+ cout<<"Certificate Name: "<<certName.toUri()<<endl;
+ ndn::Name keyName=
+ ndn::IdentityCertificate::certificateNameToPublicKeyName(certName);
+ cout<<"Key Name: "<<keyName.toUri()<<endl;
+ }
+
+}
+
+
+
diff --git a/src/nlsr_km.hpp b/src/nlsr_km.hpp
new file mode 100644
index 0000000..e93e996
--- /dev/null
+++ b/src/nlsr_km.hpp
@@ -0,0 +1,32 @@
+#ifndef NLSR_KM_HPP
+#define NLSR_KM_HPP
+
+#include <ndn-cpp-dev/face.hpp>
+#include <ndn-cpp-dev/security/key-chain.hpp>
+#include <ndn-cpp-dev/util/scheduler.hpp>
+
+#include "nlsr_conf_param.hpp"
+
+namespace nlsr
+{
+ class KeyManager
+ {
+ public:
+ KeyManager()
+ :kChain()
+ {
+ }
+
+ ndn::KeyChain& getKeyChain()
+ {
+ return kChain;
+ }
+
+ void initKeyManager(ConfParameter &cp);
+
+ private:
+ ndn::KeyChain kChain;
+ };
+}
+
+#endif