security: Bug fixing

Change-Id: I809fb456c7759f925f28259d3967f49490dc2262
diff --git a/src/security/key-chain.hpp b/src/security/key-chain.hpp
index 6ac1668..d0ae51a 100644
--- a/src/security/key-chain.hpp
+++ b/src/security/key-chain.hpp
@@ -38,8 +38,8 @@
 template<class Info, class Tpm>
 class KeyChainImpl : public Info, public Tpm
 {
-  typedef typename Info::Error InfoError;
-  typedef typename Tpm::Error TpmError;
+  typedef SecPublicInfo::Error InfoError;
+  typedef SecTpm::Error TpmError;
 public:
   /**
    * @brief Create an identity by creating a pair of Key-Signing-Key (KSK) for this identity and a self-signed certificate of the KSK.
diff --git a/src/security/sec-public-info.hpp b/src/security/sec-public-info.hpp
index 1d992d0..e1e0fbe 100644
--- a/src/security/sec-public-info.hpp
+++ b/src/security/sec-public-info.hpp
@@ -365,34 +365,34 @@
   shared_ptr<IdentityCertificate> m_defaultCertificate;
 };
 
-void
+inline void
 SecPublicInfo::setDefaultIdentity(const Name& identityName)
 {
   setDefaultIdentityInternal(identityName);
   refreshDefaultCertificate();
 }
 
-void
+inline void
 SecPublicInfo::setDefaultKeyNameForIdentity(const Name& keyName)
 {
   setDefaultKeyNameForIdentityInternal(keyName);
   refreshDefaultCertificate();
 }
 
-void 
+inline void 
 SecPublicInfo::setDefaultCertificateNameForKey(const Name& certificateName)
 {
   setDefaultCertificateNameForKeyInternal(certificateName);
   refreshDefaultCertificate();
 }
 
-Name 
+inline Name 
 SecPublicInfo::getDefaultCertificateNameForIdentity(const Name& identityName)
 {
   return getDefaultCertificateNameForKey(getDefaultKeyNameForIdentity(identityName));
 }
 
-Name
+inline Name
 SecPublicInfo::getNewKeyName (const Name& identityName, bool useKsk)
 {
   std::ostringstream oss;
@@ -412,7 +412,7 @@
   return keyName;
 }
 
-Name
+inline Name
 SecPublicInfo::getDefaultCertificateName()
 {
   if(!static_cast<bool>(m_defaultCertificate))
@@ -424,7 +424,7 @@
   return m_defaultCertificate->getName();
 }
 
-void
+inline void
 SecPublicInfo::addCertificateAsKeyDefault(const IdentityCertificate& certificate)
 {
   addCertificate(certificate);
@@ -432,7 +432,7 @@
   refreshDefaultCertificate();
 }
 
-void
+inline void
 SecPublicInfo::addCertificateAsIdentityDefault(const IdentityCertificate& certificate)
 {
   addCertificate(certificate);
@@ -442,7 +442,7 @@
   refreshDefaultCertificate();
 }
 
-void
+inline void
 SecPublicInfo::addCertificateAsSystemDefault(const IdentityCertificate& certificate)
 {
   addCertificate(certificate);
@@ -454,13 +454,13 @@
   refreshDefaultCertificate();
 }
 
-shared_ptr<IdentityCertificate>
+inline shared_ptr<IdentityCertificate>
 SecPublicInfo::defaultCertificate()
 {
   return m_defaultCertificate;
 }
 
-void
+inline void
 SecPublicInfo::refreshDefaultCertificate()
 {
   try
diff --git a/src/security/sec-tpm.hpp b/src/security/sec-tpm.hpp
index 2be17d8..97547a4 100644
--- a/src/security/sec-tpm.hpp
+++ b/src/security/sec-tpm.hpp
@@ -261,7 +261,7 @@
   getImpExpPassWord(std::string& password, const std::string& prompt);
 };
 
-bool
+inline bool
 SecTpm::getImpExpPassWord(std::string& password, const std::string& prompt)
 {
   int result = false;
diff --git a/src/security/validator-regex.hpp b/src/security/validator-regex.hpp
index f80eb76..9caa380 100644
--- a/src/security/validator-regex.hpp
+++ b/src/security/validator-regex.hpp
@@ -85,11 +85,11 @@
   std::map<Name, shared_ptr<IdentityCertificate> > m_trustAnchors;
 };
 
-void 
+inline void 
 ValidatorRegex::addDataVerificationRule (shared_ptr<SecRuleRelative> rule)
 { rule->isPositive() ? m_verifyPolicies.push_back(rule) : m_mustFailVerify.push_back(rule); }
       
-void  
+inline void  
 ValidatorRegex::addTrustAnchor(shared_ptr<IdentityCertificate> certificate)
 { m_trustAnchors[certificate->getName().getPrefix(-1)] = certificate; }
 
diff --git a/tests/security/test-sec-public-info-sqlite3.cpp b/tests/security/test-sec-public-info-sqlite3.cpp
index bbbe01c..8928ebf 100644
--- a/tests/security/test-sec-public-info-sqlite3.cpp
+++ b/tests/security/test-sec-public-info-sqlite3.cpp
@@ -61,13 +61,13 @@
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName4), true);
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName5), true);
 
-  keyChain.deleteCertificate(certName5);
+  BOOST_REQUIRE_NO_THROW(keyChain.deleteCertificate(certName5));
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName5), false);
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName3), true);
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName4), true);
   BOOST_CHECK_EQUAL(keyChain.doesPublicKeyExist(keyName3), true);
 
-  keyChain.deleteKey(keyName3);
+  BOOST_REQUIRE_NO_THROW(keyChain.deleteKey(keyName3));
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName4), false);
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName3), false);
   BOOST_CHECK_EQUAL(keyChain.doesPublicKeyExist(keyName3), false);
@@ -75,7 +75,7 @@
   BOOST_CHECK_EQUAL(keyChain.doesPublicKeyExist(keyName1), true);
   BOOST_CHECK_EQUAL(keyChain.doesIdentityExist(identity), true);
 
-  keyChain.deleteIdentity(identity);
+  BOOST_REQUIRE_NO_THROW(keyChain.deleteIdentity(identity));
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName2), false);
   BOOST_CHECK_EQUAL(keyChain.doesPublicKeyExist(keyName2), false);
   BOOST_CHECK_EQUAL(keyChain.doesCertificateExist(certName1), false);
diff --git a/tools/ndnsec.cpp b/tools/ndnsec.cpp
index eb0877a..ba83dac 100644
--- a/tools/ndnsec.cpp
+++ b/tools/ndnsec.cpp
@@ -46,6 +46,12 @@
 
 int main(int argc, char** argv)
 {
+  if(argc < 1)
+    {
+      std::cerr << ndnsec_helper << std::endl;
+      return 1;
+    }
+
   std::string command(argv[1]);
   
   if(command == "help") { std::cerr << ndnsec_helper << std::endl; }