Browse Source

Fix logging before parsing logging cmd line args (#1723)

When using --log-file stdout to redirect turnserver logs to stdout
instead of creating a log file, a default log file was still being
created. This happened because the --log-file argument was processed
after logging had already occurred during startup.

Fix #1670
Gustavo Garcia 3 months ago
parent
commit
6877e91c20
1 changed files with 14 additions and 14 deletions
  1. 14 14
      src/apps/relay/mainrelay.c

+ 14 - 14
src/apps/relay/mainrelay.c

@@ -2988,21 +2988,8 @@ int main(int argc, char **argv) {
 
   init_super_memory();
 
-  init_domain();
-  create_default_realm();
-
-  init_turn_server_addrs_list(&turn_params.alternate_servers_list);
-  init_turn_server_addrs_list(&turn_params.tls_alternate_servers_list);
-  init_turn_server_addrs_list(&turn_params.aux_servers_list);
-
-  set_network_engine();
-
-  init_listener();
-  init_secrets_list(&turn_params.default_users_db.ram_db.static_auth_secrets);
-  init_dynamic_ip_lists();
-
+  // Read the log options first because some initialization can generate logs
   if (!strstr(argv[0], "turnadmin")) {
-
     struct uoptions uo;
     uo.u.m = long_options;
 
@@ -3036,6 +3023,19 @@ int main(int argc, char **argv) {
 
   optind = 0;
 
+  init_domain();
+  create_default_realm();
+
+  init_turn_server_addrs_list(&turn_params.alternate_servers_list);
+  init_turn_server_addrs_list(&turn_params.tls_alternate_servers_list);
+  init_turn_server_addrs_list(&turn_params.aux_servers_list);
+
+  set_network_engine();
+
+  init_listener();
+  init_secrets_list(&turn_params.default_users_db.ram_db.static_auth_secrets);
+  init_dynamic_ip_lists();
+
 #if !TLS_SUPPORTED
   turn_params.no_tls = 1;
 #endif