security: Correct code style for ndnsec and add command-line exception handling
Change-Id: I68de24c3fb2af5decd57b790ccbfc908dc0c8332
diff --git a/tools/ndnsec-delete.hpp b/tools/ndnsec-delete.hpp
index 2536344..bdce78f 100644
--- a/tools/ndnsec-delete.hpp
+++ b/tools/ndnsec-delete.hpp
@@ -10,89 +10,86 @@
#include "ndnsec-util.hpp"
-int
-ndnsec_delete(int argc, char** argv)
+int
+ndnsec_delete(int argc, char** argv)
{
using namespace ndn;
namespace po = boost::program_options;
// bool deleteId = true;
- bool deleteKey = false;
- bool deleteCert = false;
+ bool isDeleteKey = false;
+ bool isDeleteCert = false;
std::string name;
- po::options_description desc("General Usage\n ndnsec delete [-h] [-K|C] name\nGeneral options");
- desc.add_options()
+ po::options_description description("General Usage\n ndnsec delete [-h] [-k|c] name\nGeneral options");
+ description.add_options()
("help,h", "produce help message")
- ("delete_key,K", "(Optional) delete a key if specified.")
- ("delete_cert,C", "(Optional) delete a certificate if specified.")
+ ("delete-key,k", "(Optional) delete a key if specified.")
+ ("delete-key2,K", "(Optional) delete a key if specified.")
+ ("delete-cert,c", "(Optional) delete a certificate if specified.")
+ ("delete-cert2,C", "(Optional) delete a certificate if specified.")
("name,n", po::value<std::string>(&name), "By default, it refers to an identity."
- "If -K is specified, it refers to a key."
- "If -C is specified, it refers to a certificate.");
+ "If -k is specified, it refers to a key."
+ "If -c is specified, it refers to a certificate.");
;
po::positional_options_description p;
p.add("name", 1);
-
+
po::variables_map vm;
try
{
- po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
+ po::store(po::command_line_parser(argc, argv).options(description).positional(p).run(),
+ vm);
po::notify(vm);
}
- catch (std::exception &e)
+ catch (const std::exception& e)
{
std::cerr << "ERROR: " << e.what() << std::endl;
+ std::cerr << description << std::endl;
return 1;
}
- if (vm.count("help"))
+ if (vm.count("help") != 0)
{
- std::cerr << desc << std::endl;;
+ std::cerr << description << std::endl;;
return 0;
}
- if(vm.count("delete_cert"))
+ if (vm.count("name") == 0)
{
- deleteCert = true;
- // deleteId = false;
+ std::cerr << "ERROR: name must be specified" << std::endl;
+ std::cerr << description << std::endl;
+ return 1;
}
- else if(vm.count("delete_key"))
- {
- deleteKey = true;
- // deleteId = false;
- }
-
- try
- {
- KeyChain keyChain;
- if(deleteCert)
- {
- keyChain.deleteCertificate(name);
- }
- else if(deleteKey)
- {
- keyChain.deleteKey(name);
- }
- else
- {
- keyChain.deleteIdentity(name);
- }
-
- return 0;
-
- }
- catch(SecPublicInfo::Error& e)
+ if (vm.count("delete-cert") != 0 || vm.count("delete-cert2") != 0)
{
- std::cerr << e.what() << std::endl;
- return 1;
+ isDeleteCert = true;
+ // deleteId = false;
}
- catch(SecTpm::Error& e)
+ else if (vm.count("delete-key") != 0 || vm.count("delete-key2") != 0)
{
- std::cerr << e.what() << std::endl;
- return 1;
+ isDeleteKey = true;
+ // deleteId = false;
}
+
+ KeyChain keyChain;
+
+ if (isDeleteCert)
+ {
+ keyChain.deleteCertificate(name);
+ }
+ else if (isDeleteKey)
+ {
+ keyChain.deleteKey(name);
+ }
+ else
+ {
+ keyChain.deleteIdentity(name);
+ }
+
+ return 0;
}
#endif //NDNSEC_DELETE_HPP