X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postlicyd%2Fmain-postlicyd.c;h=c60d51578db03885f35b42671a5f674dde2c6cb9;hb=76226c6f7b43aaa6480f776f70fb62f4a3e937df;hp=86d1400b968d68a469eaa8f7b0d35d7ce1c826f9;hpb=c00b60854ba8968b9e91da74096d913c084139c5;p=apps%2Fpfixtools.git diff --git a/postlicyd/main-postlicyd.c b/postlicyd/main-postlicyd.c index 86d1400..c60d515 100644 --- a/postlicyd/main-postlicyd.c +++ b/postlicyd/main-postlicyd.c @@ -44,7 +44,7 @@ #include "query.h" #define DAEMON_NAME "postlicyd" -#define DAEMON_VERSION "0.3" +#define DAEMON_VERSION "0.4" #define DEFAULT_PORT 10000 #define RUNAS_USER "nobody" #define RUNAS_GROUP "nogroup" @@ -283,6 +283,7 @@ void usage(void) " -f stay in foreground\n" " -d grow logging level\n" " -u unsafe mode (don't drop privileges)\n" + " -c check-conf\n" , stderr); } @@ -295,8 +296,9 @@ int main(int argc, char *argv[]) bool daemonize = true; int port = DEFAULT_PORT; bool port_from_cli = false; + bool check_conf = false; - for (int c = 0; (c = getopt(argc, argv, "ufd" "l:p:")) >= 0; ) { + for (int c = 0; (c = getopt(argc, argv, "ufdc" "l:p:")) >= 0; ) { switch (c) { case 'p': pidfile = optarg; @@ -314,6 +316,11 @@ int main(int argc, char *argv[]) case 'd': ++log_level; break; + case 'c': + check_conf = true; + daemonize = false; + unsafe = true; + break; default: usage(); return EXIT_FAILURE; @@ -329,7 +336,10 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - info("starting %s v%s...", DAEMON_NAME, DAEMON_VERSION); + if (check_conf) { + return config_check(argv[optind]) ? EXIT_SUCCESS : EXIT_FAILURE; + } + info("%s v%s...", DAEMON_NAME, DAEMON_VERSION); if (pidfile_open(pidfile) < 0) { crit("unable to write pidfile %s", pidfile);