server name cleaning

This commit is contained in:
mom040267 2014-09-18 06:26:50 +00:00
parent 6d9303218c
commit f2cc2e9457
4 changed files with 58 additions and 57 deletions

View File

@ -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;

View File

@ -272,6 +272,7 @@ typedef struct _turn_params_ {
struct auth_server authserver;
char oauth_server_name[1025];
char domain[1025];
/////////////// AUX SERVERS ////////////////

View File

@ -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 */

View File

@ -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);
}