server name cleaning
This commit is contained in:
parent
6d9303218c
commit
f2cc2e9457
@ -85,7 +85,7 @@ LOW_DEFAULT_PORTS_BOUNDARY,HIGH_DEFAULT_PORTS_BOUNDARY,0,0,0,"",
|
||||
0,NULL,0,NULL,DEFAULT_GENERAL_RELAY_SERVERS_NUMBER,0,
|
||||
////////////// Auth server /////////////////////////////////////
|
||||
{NULL,NULL,NULL,0,NULL},
|
||||
"",
|
||||
"","",
|
||||
/////////////// AUX SERVERS ////////////////
|
||||
{NULL,0,{0,NULL}},0,
|
||||
/////////////// ALTERNATE SERVERS ////////////////
|
||||
@ -1693,26 +1693,38 @@ static void drop_privileges(void)
|
||||
}
|
||||
|
||||
static void init_oauth_server_name(void) {
|
||||
struct utsname name;
|
||||
if(!uname(&name)) {
|
||||
STRCPY(turn_params.oauth_server_name,name.nodename);
|
||||
}
|
||||
|
||||
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 && domain[0] != '(') {
|
||||
size_t slen = strlen(turn_params.oauth_server_name);
|
||||
|
||||
struct utsname name;
|
||||
|
||||
if(!uname(&name)) {
|
||||
STRCPY(turn_params.oauth_server_name,name.nodename);
|
||||
}
|
||||
if(!turn_params.oauth_server_name[0]) {
|
||||
STRCPY(turn_params.oauth_server_name,TURN_SOFTWARE);
|
||||
}
|
||||
|
||||
size_t slen = strlen(turn_params.oauth_server_name);
|
||||
|
||||
if(get_realm(NULL)->options.name[0]) {
|
||||
turn_params.oauth_server_name[slen]='.';
|
||||
ns_bcopy(get_realm(NULL)->options.name,turn_params.oauth_server_name+slen+1,strlen(get_realm(NULL)->options.name)+1);
|
||||
} else {
|
||||
size_t dlen = strlen(turn_params.domain);
|
||||
if(dlen>0 && turn_params.domain[0] != '(') {
|
||||
turn_params.oauth_server_name[slen]='.';
|
||||
ns_bcopy(domain,turn_params.oauth_server_name+slen+1,strlen(domain)+1);
|
||||
ns_bcopy(turn_params.domain,turn_params.oauth_server_name+slen+1,strlen(turn_params.domain)+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void init_domain(void)
|
||||
{
|
||||
getdomainname(turn_params.domain,sizeof(turn_params.domain)-1);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int c = 0;
|
||||
@ -1727,7 +1739,8 @@ int main(int argc, char **argv)
|
||||
redis_async_init();
|
||||
#endif
|
||||
|
||||
create_new_realm(NULL);
|
||||
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);
|
||||
@ -1738,7 +1751,6 @@ int main(int argc, char **argv)
|
||||
init_listener();
|
||||
init_secrets_list(&turn_params.default_users_db.ram_db.static_auth_secrets);
|
||||
init_dynamic_ip_lists();
|
||||
init_oauth_server_name();
|
||||
|
||||
if (!strstr(argv[0], "turnadmin")) {
|
||||
|
||||
@ -1815,6 +1827,13 @@ int main(int argc, char **argv)
|
||||
|
||||
read_config_file(argc,argv,1);
|
||||
|
||||
if(!get_realm(NULL)->options.name[0]) {
|
||||
STRCPY(get_realm(NULL)->options.name,turn_params.domain);
|
||||
}
|
||||
|
||||
init_oauth_server_name();
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Domain name: %s\n",turn_params.domain);
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Default realm: %s\n",get_realm(NULL)->options.name);
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Server name: %s\n",turn_params.oauth_server_name);
|
||||
|
||||
optind = 0;
|
||||
|
||||
@ -272,6 +272,7 @@ typedef struct _turn_params_ {
|
||||
|
||||
struct auth_server authserver;
|
||||
char oauth_server_name[1025];
|
||||
char domain[1025];
|
||||
|
||||
/////////////// AUX SERVERS ////////////////
|
||||
|
||||
|
||||
@ -236,7 +236,7 @@ typedef struct _timer_event
|
||||
|
||||
/* realm */
|
||||
|
||||
void create_new_realm(char* name);
|
||||
void create_default_realm();
|
||||
int get_realm_data(char* name, realm_params_t* rp);
|
||||
|
||||
/* engine handling */
|
||||
|
||||
@ -65,15 +65,6 @@
|
||||
//////////// REALM //////////////
|
||||
|
||||
static realm_params_t *default_realm_params_ptr = NULL;
|
||||
static const realm_params_t _default_realm_params =
|
||||
{
|
||||
1,
|
||||
{
|
||||
"\0", /* name */
|
||||
{0,0,0}
|
||||
},
|
||||
{0,NULL}
|
||||
};
|
||||
|
||||
static ur_string_map *realms = NULL;
|
||||
static turn_mutex o_to_realm_mutex;
|
||||
@ -95,40 +86,30 @@ void update_o_to_realm(ur_string_map * o_to_realm_new) {
|
||||
TURN_MUTEX_UNLOCK(&o_to_realm_mutex);
|
||||
}
|
||||
|
||||
void create_new_realm(char* name)
|
||||
void create_default_realm()
|
||||
{
|
||||
realm_params_t *ret = NULL;
|
||||
|
||||
if((name == NULL)||(name[0]==0)) {
|
||||
if(default_realm_params_ptr) {
|
||||
return;
|
||||
}
|
||||
/* init everything: */
|
||||
TURN_MUTEX_INIT_RECURSIVE(&o_to_realm_mutex);
|
||||
init_secrets_list(&realms_list);
|
||||
o_to_realm = ur_string_map_create(free);
|
||||
default_realm_params_ptr = (realm_params_t*)malloc(sizeof(realm_params_t));
|
||||
ns_bcopy(&_default_realm_params,default_realm_params_ptr,sizeof(realm_params_t));
|
||||
realms = ur_string_map_create(NULL);
|
||||
ur_string_map_lock(realms);
|
||||
ret = default_realm_params_ptr;
|
||||
} else {
|
||||
ur_string_map_value_type value = 0;
|
||||
ur_string_map_lock(realms);
|
||||
if (!ur_string_map_get(realms, (const ur_string_map_key_type) name, &value)) {
|
||||
ret = (realm_params_t*)turn_malloc(sizeof(realm_params_t));
|
||||
ns_bcopy(default_realm_params_ptr,ret,sizeof(realm_params_t));
|
||||
STRCPY(ret->options.name,name);
|
||||
value = (ur_string_map_value_type)ret;
|
||||
ur_string_map_put(realms, (const ur_string_map_key_type) name, value);
|
||||
add_to_secrets_list(&realms_list, name);
|
||||
} else {
|
||||
ur_string_map_unlock(realms);
|
||||
return;
|
||||
}
|
||||
if(default_realm_params_ptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
ret->status.alloc_counters = ur_string_map_create(NULL);
|
||||
static realm_params_t _default_realm_params =
|
||||
{
|
||||
1,
|
||||
{
|
||||
"\0", /* name */
|
||||
{0,0,0}
|
||||
},
|
||||
{0,NULL}
|
||||
};
|
||||
|
||||
/* init everything: */
|
||||
TURN_MUTEX_INIT_RECURSIVE(&o_to_realm_mutex);
|
||||
init_secrets_list(&realms_list);
|
||||
o_to_realm = ur_string_map_create(free);
|
||||
default_realm_params_ptr = &_default_realm_params;
|
||||
realms = ur_string_map_create(NULL);
|
||||
ur_string_map_lock(realms);
|
||||
default_realm_params_ptr->status.alloc_counters = ur_string_map_create(NULL);
|
||||
ur_string_map_unlock(realms);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user