set config file statically; parse it
[dyn-nsupdate.git] / dyn-nsupdate.cpp
index e378082c30ea4c9f0471e830f983c72535944621..745595df3d1abf6e4b02872a6c4c1b2e9f358320 100644 (file)
@@ -1,37 +1,16 @@
 #include <iostream>
+#include <fstream>
+
 #include <boost/property_tree/ptree.hpp>
 #include <boost/property_tree/ini_parser.hpp>
 
-#include <sys/stat.h>
+using namespace boost::property_tree;
 
-int main(int argc, const char **argv)
+int main(int, const char **)
 {
-       if (argc < 2) {
-               std::cerr << "Usage: " << argv[0] << " <configuration file>" << std::endl;
-               return 1;
-       }
-       const char *filename = argv[1];
-       
-       struct stat file_stat;
-       int ret = lstat(filename, &file_stat);
-       if (ret != 0) {
-               std::cerr << "Unable to stat " << filename << "." << std::endl;
-               return 1;
-       }
-       /* Check if the file is suited */
-       if (!S_ISREG(file_stat.st_mode)) {
-               std::cerr << filename << " is not a file." << std::endl;
-               return 1;
-       }
-       if (file_stat.st_uid != geteuid()) {
-               std::cerr << filename << " must be owned by user executing " << argv[0] << "." << std::endl;
-               return 1;
-       }
-       if (file_stat.st_mode & (S_IWGRP | S_IWOTH)) { /* can be written by group/others */
-               std::cerr << filename << " must not be writeable by group or others." << std::endl;
-               return 1;
-       }
+       ptree config;
+       ini_parser::read_ini(CONFIG_FILE, config);
        
-       std::cout << "Hi world!" << std::endl;
+       std::cout << "Hi world! " << CONFIG_FILE << std::endl;
        return 0;
 }