=================================================================== RCS file: /cvs/cvs/blind/blind.c,v retrieving revision 1.2 retrieving revision 1.18 diff -u -p -r1.2 -r1.18 --- blind/blind.c 2022/03/15 22:05:18 1.2 +++ blind/blind.c 2022/03/25 20:54:51 1.18 @@ -17,13 +17,16 @@ #include #include #include +#include +#include #include "blind.h" +#include "config.h" +#include "log.h" -static void usage(void); +static void usage(void); -int daemonize = 1; -int verbose = 0; +struct blind *bl; static void usage(void) @@ -38,8 +41,10 @@ int main(int argc, char *argv[]) { int ch; - int action = 1; - const char *config = CONFIG; + int verbose = 0; + int no_action = 0; + int daemonize = 1; + const char *config = BL_CONF; while ((ch = getopt(argc, argv, "dhnvf:")) != -1) { switch (ch) { @@ -47,18 +52,17 @@ main(int argc, char *argv[]) daemonize = 0; break; case 'h': - /* have to change it in next commit */ - fprintf(stderr, "version: " BLIND_TXT " " BLIND_VER "\n"); + fprintf(stderr, BL_TEXT " " BL_VERS "\n"); usage(); break; case 'n': - action = 0; + no_action = 1; break; case 'f': config = optarg; break; case 'v': - verbose = 1; + verbose = BL_OPT_VERBOSE; break; default: usage(); @@ -69,6 +73,34 @@ main(int argc, char *argv[]) if (argc || *argv) usage(); + + log_init(daemonize, LOG_DAEMON); + log_info("%s %s", BL_TEXT, BL_VERS); + + if ((bl = config_init()) == NULL) + log_fatal("initialization failed"); + + if (verbose) { + bl->bl_opt |= verbose; + log_setv(verbose); + log_debug("verbose mode on"); + } + + if (strlcpy(bl->bl_conf, config, PATH_MAX) >= PATH_MAX) + log_fatal("file name exceeds PATH_MAX"); + + if (config_load(bl)) + log_fatal("config %s", bl->bl_conf); + + log_debug("conf=%s", bl->bl_conf); + log_debug("sock=%s", bl->bl_sock); + log_debug(" ttl=%d", bl->bl_ttl); + log_debug(" opt=%d", bl->bl_opt); + log_debug(" flg=%d", bl->bl_flg); + + // TAILQ_INIT(&offline_queue) + + // fork + process setup + communication setup exit(0); }