diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main.c | 29 | 
1 files changed, 5 insertions, 24 deletions
| @@ -48,6 +48,7 @@   * Global Structures   */  struct config_s config; +struct config_s config_defaults;  unsigned int received_sighup = FALSE;   /* boolean */  unsigned int processed_config_file = FALSE;     /* boolean */ @@ -333,37 +334,17 @@ main (int argc, char **argv)           */          umask (0177); -        initialize_config_defaults (&config); -        process_cmdline (argc, argv, &config); +        initialize_config_defaults (&config_defaults); +        process_cmdline (argc, argv, &config_defaults);          log_message (LOG_INFO, "Initializing " PACKAGE " ..."); -        ret = load_config_file(config.config_file, &config); +        ret = reload_config(config_defaults.config_file, &config, +                            &config_defaults);          if (ret != 0) {                  exit (EX_SOFTWARE);          } -        /* Set the default values if they were not set in the config -         * file. */ -        if (config.port == 0) { -                fprintf (stderr, "%s: You MUST set a Port in the " -                         "config file.\n", argv[0]); -                exit (EX_SOFTWARE); -        } - -        if (!config.user) { -                log_message (LOG_WARNING, "You SHOULD set a UserName in the " -                             "config file. Using current user instead."); -        } - -        if (config.idletimeout == 0) { -                log_message (LOG_WARNING, "Invalid idle time setting. " -                             "Only values greater than zero are allowed. " -                             "Therefore setting idle timeout to %u seconds.", -                             MAX_IDLE_TIME); -                config.idletimeout = MAX_IDLE_TIME; -        } -          ret = setup_logging ();          if (ret != 0) {                  exit (EX_SOFTWARE); | 
