int main(int argc, char *argv[])
{
+ bool unsafe = false;
const char *pidfile = NULL;
bool daemonize = true;
int port = DEFAULT_PORT;
case 'p':
pidfile = optarg;
break;
+ case 'u':
+ unsafe = true;
+ break;
case 'l':
port = atoi(optarg);
break;
return EXIT_FAILURE;
}
- if (common_setup(pidfile, false, RUNAS_USER, RUNAS_GROUP, daemonize)
- != EXIT_SUCCESS) {
+ if (common_setup(pidfile, false, RUNAS_USER, RUNAS_GROUP,
+ daemonize) != EXIT_SUCCESS
+ || start_listener(port) < 0) {
return EXIT_FAILURE;
}
-
- if (start_listener(port) < 0)
- return EXIT_FAILURE;
-
return server_loop(query_starter, (delete_client_t)query_delete,
policy_run, NULL);
}
int port_enc = DEFAULT_ENCODER_PORT;
int port_dec = DEFAULT_DECODER_PORT;
const char *pidfile = NULL;
-
- srs_t *srs;
+ srs_config_t config;
for (int c = 0; (c = getopt(argc, argv, "hfu" "e:d:p:")) >= 0; ) {
switch (c) {
return EXIT_FAILURE;
}
- srs = srs_read_secrets(argv[optind + 1]);
- if (!srs) {
- return EXIT_FAILURE;
- }
-
- if (common_setup(pidfile, unsafe, RUNAS_USER, RUNAS_GROUP, daemonize)
- != EXIT_SUCCESS) {
+ config.domain = argv[optind];
+ config.srs = srs_read_secrets(argv[optind + 1]);
+ if (!config.srs
+ || common_setup(pidfile, unsafe, RUNAS_USER, RUNAS_GROUP,
+ daemonize) != EXIT_SUCCESS
+ || start_listener(port_enc, false) < 0
+ || start_listener(port_dec, true) < 0) {
return EXIT_FAILURE;
}
- {
- srs_config_t config = {
- .srs = srs,
- .domain = argv[optind]
- };
-
- if (start_listener(port_enc, false) < 0)
- return EXIT_FAILURE;
- if (start_listener(port_dec, true) < 0)
- return EXIT_FAILURE;
-
- return server_loop(srsd_stater, NULL, process_srs, &config);
- }
+ return server_loop(srsd_stater, NULL, process_srs, &config);
}