|
|
|
|
@ -464,6 +464,9 @@ static char Usage[] = "Usage: turnserver [options]\n" |
|
|
|
|
" That database value can be changed on-the-fly\n" |
|
|
|
|
" by a separate program, so this is why it is 'dynamic'.\n" |
|
|
|
|
" Multiple shared secrets can be used (both in the database and in the \"static\" fashion).\n" |
|
|
|
|
" --server-name Server name used (when necessary) for\n" |
|
|
|
|
" the authentication purposes (oauth).\n" |
|
|
|
|
" The default value is the FQDN of the host.\n" |
|
|
|
|
" -n Do not use configuration file, take all parameters from the command line only.\n" |
|
|
|
|
" --cert <filename> Certificate file, PEM format. Same file search rules\n" |
|
|
|
|
" applied as for the configuration file.\n" |
|
|
|
|
@ -678,7 +681,8 @@ enum EXTRA_OPTS { |
|
|
|
|
CHECK_ORIGIN_CONSISTENCY_OPT, |
|
|
|
|
ADMIN_MAX_BPS_OPT, |
|
|
|
|
ADMIN_TOTAL_QUOTA_OPT, |
|
|
|
|
ADMIN_USER_QUOTA_OPT |
|
|
|
|
ADMIN_USER_QUOTA_OPT, |
|
|
|
|
SERVER_NAME_OPT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
struct myoption { |
|
|
|
|
@ -732,6 +736,7 @@ static const struct myoption long_options[] = { |
|
|
|
|
{ "static-auth-secret", required_argument, NULL, STATIC_AUTH_SECRET_VAL_OPT }, |
|
|
|
|
/* deprecated: */ { "secret-ts-exp-time", optional_argument, NULL, AUTH_SECRET_TS_EXP }, |
|
|
|
|
{ "realm", required_argument, NULL, 'r' }, |
|
|
|
|
{ "server-name", required_argument, NULL, SERVER_NAME_OPT }, |
|
|
|
|
{ "user-quota", required_argument, NULL, 'q' }, |
|
|
|
|
{ "total-quota", required_argument, NULL, 'Q' }, |
|
|
|
|
{ "max-bps", required_argument, NULL, 's' }, |
|
|
|
|
@ -860,6 +865,9 @@ static void set_option(int c, char *value) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch (c) { |
|
|
|
|
case SERVER_NAME_OPT: |
|
|
|
|
STRCPY(turn_params.oauth_server_name,value); |
|
|
|
|
break; |
|
|
|
|
case NO_SSLV2_OPT: |
|
|
|
|
turn_params.no_sslv2 = get_bool_value(value); |
|
|
|
|
break; |
|
|
|
|
@ -1557,7 +1565,6 @@ static int adminmain(int argc, char **argv) |
|
|
|
|
static void print_features(unsigned long mfn) |
|
|
|
|
{ |
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "\nRFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server\nVersion %s\n",TURN_SOFTWARE); |
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Server name: %s\n",turn_params.oauth_server_name); |
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "\nMax number of open files/sockets allowed for this process: %lu\n",mfn); |
|
|
|
|
if(turn_params.net_engine_version == 1) |
|
|
|
|
mfn = mfn/3; |
|
|
|
|
@ -1693,6 +1700,17 @@ static void init_oauth_server_name(void) { |
|
|
|
|
if(!turn_params.oauth_server_name[0]) { |
|
|
|
|
STRCPY(turn_params.oauth_server_name,TURN_SOFTWARE); |
|
|
|
|
} |
|
|
|
|
{ |
|
|
|
|
char domain[513]; |
|
|
|
|
if(getdomainname(domain,sizeof(domain)-1)>=0) { |
|
|
|
|
size_t dlen = strlen(domain); |
|
|
|
|
if(dlen>0) { |
|
|
|
|
size_t slen = strlen(turn_params.oauth_server_name); |
|
|
|
|
turn_params.oauth_server_name[slen]='.'; |
|
|
|
|
ns_bcopy(domain,turn_params.oauth_server_name+slen+1,strlen(domain)+1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main(int argc, char **argv) |
|
|
|
|
@ -1797,6 +1815,8 @@ int main(int argc, char **argv) |
|
|
|
|
|
|
|
|
|
read_config_file(argc,argv,1); |
|
|
|
|
|
|
|
|
|
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Server name: %s\n",turn_params.oauth_server_name); |
|
|
|
|
|
|
|
|
|
optind = 0; |
|
|
|
|
|
|
|
|
|
while (((c = getopt_long(argc, argv, OPTIONS, uo.u.o, NULL)) != -1)) { |
|
|
|
|
|