security: Correct code style for ndnsec and add command-line exception handling
Change-Id: I68de24c3fb2af5decd57b790ccbfc908dc0c8332
diff --git a/tools/ndnsec-set-default.hpp b/tools/ndnsec-set-default.hpp
index 86c831a..7003afc 100644
--- a/tools/ndnsec-set-default.hpp
+++ b/tools/ndnsec-set-default.hpp
@@ -8,86 +8,87 @@
#ifndef NDNSEC_SET_DEFAULT_HPP
#define NDNSEC_SET_DEFAULT_HPP
-int
-ndnsec_set_default(int argc, char** argv)
+int
+ndnsec_set_default(int argc, char** argv)
{
using namespace ndn;
namespace po = boost::program_options;
std::string certFileName;
- bool setDefaultId = true;
- bool setDefaultKey = false;
- bool setDefaultCert = false;
+ bool isSetDefaultId = true;
+ bool isSetDefaultKey = false;
+ bool isSetDefaultCert = false;
std::string name;
- po::options_description desc("General Usage\n ndnsec set-default [-h] [-K|C] name\nGeneral options");
- desc.add_options()
+ po::options_description description("General Usage\n ndnsec set-default [-h] [-k|c] name\nGeneral options");
+ description.add_options()
("help,h", "produce help message")
- ("default_key,K", "set default key of the identity")
- ("default_cert,C", "set default certificate of the key")
+ ("default_key,k", "set default key of the identity")
+ ("default_cert,c", "set default certificate of the key")
("name,n", po::value<std::string>(&name), "the name to set")
;
po::positional_options_description p;
p.add("name", 1);
po::variables_map vm;
- po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
-
- po::notify(vm);
-
- if (vm.count("help"))
+ try
{
- std::cerr << desc << std::endl;
+ po::store(po::command_line_parser(argc, argv).options(description).positional(p).run(),
+ vm);
+ po::notify(vm);
+ }
+ catch (const std::exception& e)
+ {
+ std::cerr << "ERROR: " << e.what() << std::endl;
+ std::cerr << description << std::endl;
+ return 1;
+ }
+
+ if (vm.count("help") != 0)
+ {
+ std::cerr << description << std::endl;
return 0;
}
- try
+ if (vm.count("name") == 0)
{
- KeyChain keyChain;
-
- if (vm.count("default_key"))
- {
- setDefaultKey = true;
- setDefaultId = false;
- }
- else if(vm.count("default_cert"))
- {
- setDefaultCert = true;
- setDefaultId = false;
- }
-
- if (setDefaultId)
- {
- Name idName(name);
- keyChain.setDefaultIdentity(idName);
- return 0;
- }
- if (setDefaultKey)
- {
- Name keyName(name);
- keyChain.setDefaultKeyNameForIdentity(keyName);
- return 0;
- }
-
- if (setDefaultCert)
- {
- keyChain.setDefaultCertificateNameForKey(name);
- return 0;
- }
-
- return 1;
-
- }
- catch(SecPublicInfo::Error& e)
- {
- std::cerr << e.what() << std::endl;
- return 1;
- }
- catch(SecTpm::Error& e)
- {
- std::cerr << e.what() << std::endl;
+ std::cerr << "ERROR: name is required!" << std::endl;
+ std::cerr << description << std::endl;
return 1;
}
+ KeyChain keyChain;
+
+ if (vm.count("default_key") != 0)
+ {
+ isSetDefaultKey = true;
+ isSetDefaultId = false;
+ }
+ else if (vm.count("default_cert") != 0)
+ {
+ isSetDefaultCert = true;
+ isSetDefaultId = false;
+ }
+
+ if (isSetDefaultId)
+ {
+ Name idName(name);
+ keyChain.setDefaultIdentity(idName);
+ return 0;
+ }
+ if (isSetDefaultKey)
+ {
+ Name keyName(name);
+ keyChain.setDefaultKeyNameForIdentity(keyName);
+ return 0;
+ }
+
+ if (isSetDefaultCert)
+ {
+ keyChain.setDefaultCertificateNameForKey(name);
+ return 0;
+ }
+
+ return 1;
}
#endif //NDNSEC_SET_DEFAULT_HPP