diff --git a/src/apps/relay/turncli.c b/src/apps/relay/turncli.c index 7fb60d8..2c67aa6 100644 --- a/src/apps/relay/turncli.c +++ b/src/apps/relay/turncli.c @@ -324,10 +324,10 @@ static void cli_print_ip_range_list(struct cli_session* cs, ip_range_list_t *val if(cs->realm[0] && strcmp(cs->realm,value->rs[i].realm)) { continue; } else { - myprintf(cs," common %s: %s (%s)%s\n",name,value->rs[i].str,value->rs[i].realm,sc); + myprintf(cs," %s: %s (%s)%s\n",name,value->rs[i].str,value->rs[i].realm,sc); } } else { - myprintf(cs," common %s: %s%s\n",name,value->rs[i].str,sc); + myprintf(cs," %s: %s%s\n",name,value->rs[i].str,sc); } } } @@ -760,8 +760,19 @@ static void cli_print_configuration(struct cli_session* cs) cli_print_uint(cs,(unsigned long)turn_params.min_port,"min-port",0); cli_print_uint(cs,(unsigned long)turn_params.max_port,"max-port",0); - cli_print_ip_range_list(cs,&turn_params.ip_whitelist,"Whitelist IP",0); - cli_print_ip_range_list(cs,&turn_params.ip_blacklist,"Blacklist IP",0); + cli_print_ip_range_list(cs,&turn_params.ip_whitelist,"Whitelist IP (static)",0); + { + ip_range_list_t* l = get_ip_list("allowed"); + cli_print_ip_range_list(cs,l,"Whitelist IP (dynamic)",0); + ip_list_free(l); + } + + cli_print_ip_range_list(cs,&turn_params.ip_blacklist,"Blacklist IP (static)",0); + { + ip_range_list_t* l = get_ip_list("denied"); + cli_print_ip_range_list(cs,l,"Blacklist IP (dynamic)",0); + ip_list_free(l); + } cli_print_flag(cs,turn_params.no_multicast_peers,"no-multicast-peers",1); cli_print_flag(cs,turn_params.no_loopback_peers,"no-loopback-peers",1); diff --git a/src/apps/relay/userdb.c b/src/apps/relay/userdb.c index c2513f1..bb7e780 100644 --- a/src/apps/relay/userdb.c +++ b/src/apps/relay/userdb.c @@ -1377,20 +1377,20 @@ const ip_range_list_t* ioa_get_blacklist(ioa_engine_handle e) return ipblacklist; } -static ip_range_list_t* get_ip_list(const char *kind) +ip_range_list_t* get_ip_list(const char *kind) { - ip_range_list_t *ret = (ip_range_list_t*)turn_malloc(sizeof(ip_range_list_t)); + ip_range_list_t *ret = (ip_range_list_t*) turn_malloc(sizeof(ip_range_list_t)); ns_bzero(ret,sizeof(ip_range_list_t)); - turn_dbdriver_t * dbd = get_dbdriver(); - if (dbd && dbd->get_ip_list) { - (*dbd->get_ip_list)(kind, ret); + turn_dbdriver_t * dbd = get_dbdriver(); + if (dbd && dbd->get_ip_list) { + (*dbd->get_ip_list)(kind, ret); } return ret; } -static void ip_list_free(ip_range_list_t *l) +void ip_list_free(ip_range_list_t *l) { if(l) { if(l->rs) diff --git a/src/apps/relay/userdb.h b/src/apps/relay/userdb.h index 2e05dda..988103a 100644 --- a/src/apps/relay/userdb.h +++ b/src/apps/relay/userdb.h @@ -209,6 +209,8 @@ int add_user_account(char *user, int dynamic); int adminuser(u08bits *user, u08bits *realm, u08bits *pwd, u08bits *secret, u08bits *origin, TURNADMIN_COMMAND_TYPE ct, int is_st, perf_options_t* po); int add_ip_list_range(const char* range, const char* realm, ip_range_list_t * list); +ip_range_list_t* get_ip_list(const char *kind); +void ip_list_free(ip_range_list_t *l); ///////////// Redis //////////////////////