@@ -67,7 +67,6 @@ static switch_event_node_t *NODE = NULL;
6767
6868static struct {
6969 char * root ;
70- char * server ;
7170 char * isn_root ;
7271 enum_route_t * route_order ;
7372 switch_memory_pool_t * pool ;
@@ -79,7 +78,6 @@ static struct {
7978} globals ;
8079
8180SWITCH_DECLARE_GLOBAL_STRING_FUNC (set_global_root , globals .root );
82- SWITCH_DECLARE_GLOBAL_STRING_FUNC (set_global_server , globals .server );
8381SWITCH_DECLARE_GLOBAL_STRING_FUNC (set_global_isn_root , globals .isn_root );
8482
8583static void add_route (char * service , char * regex , char * replace )
@@ -126,8 +124,6 @@ static switch_status_t load_config(void)
126124 const char * val = switch_xml_attr_soft (param , "value" );
127125 if (!strcasecmp (var , "default-root" )) {
128126 set_global_root (val );
129- } else if (!strcasecmp (var , "use-server" )) {
130- set_global_server (val );
131127 } else if (!strcasecmp (var , "auto-reload" )) {
132128 globals .auto_reload = switch_true (val );
133129 } else if (!strcasecmp (var , "query-timeout" )) {
@@ -140,7 +136,7 @@ static switch_status_t load_config(void)
140136 globals .random = switch_true (val );
141137 } else if (!strcasecmp (var , "default-isn-root" )) {
142138 set_global_isn_root (val );
143- } else if (!strcasecmp (var , "nameserver" )) {
139+ } else if (!strcasecmp (var , "nameserver" ) || ! strcasecmp ( var , "use-server" ) ) {
144140 if ( inameserver < ENUM_MAXNAMESERVERS ) {
145141 globals .nameserver [inameserver ] = (char * ) val ;
146142 inameserver ++ ;
@@ -560,6 +556,7 @@ static switch_status_t enum_lookup(char *root, char *in, enum_record_t **results
560556 int argc ;
561557 int x = 0 ;
562558 char * enum_nameserver_dup ;
559+ const char * enum_nameserver = NULL ;
563560
564561 * results = NULL ;
565562
@@ -577,41 +574,45 @@ static switch_status_t enum_lookup(char *root, char *in, enum_record_t **results
577574
578575 /* Empty the server array */
579576 for (inameserver = 0 ; inameserver < ENUM_MAXNAMESERVERS ; inameserver ++ ) {
580- server [inameserver ] = NULL ;
577+ server [inameserver ] = NULL ;
581578 }
582579
583- if (!(server [0 ] = switch_core_get_variable ("enum-server" ))) {
584- server [0 ] = globals .server ;
580+ inameserver = 0 ;
581+
582+ /* check for enum_nameserver channel var */
583+
584+ if (channel ) {
585+ enum_nameserver = switch_channel_get_variable (channel , "enum_nameserver" );
585586 }
586587
587- /* use config param "nameserver" ( can be up to ENUM_MAXNAMESERVERS ) */
588- for (inameserver = 0 ; inameserver < ENUM_MAXNAMESERVERS ; inameserver ++ ) {
589- server [inameserver ] = NULL ;
590- if ( globals .nameserver [inameserver ] != NULL )
591- {
592- server [inameserver ] = globals .nameserver [inameserver ];
593- };
588+ if (zstr (enum_nameserver )) {
589+ enum_nameserver = switch_core_get_variable ("enum-server" );
594590 }
595591
596- /* check for enum_nameserver channel var */
597- if ( channel != NULL ) {
598- const char * enum_nameserver = switch_channel_get_variable (channel , "enum_nameserver" );
599- if (!zstr (enum_nameserver ))
600- {
601- /* Blank the server array */
602- for (inameserver = 0 ; inameserver < ENUM_MAXNAMESERVERS ; inameserver ++ ) {
603- server [inameserver ] = NULL ;
604- }
592+ if (!zstr (enum_nameserver )) {
593+ /* Blank the server array */
594+ for (inameserver = 0 ; inameserver < ENUM_MAXNAMESERVERS ; inameserver ++ ) {
595+ server [inameserver ] = NULL ;
596+ }
605597
606- enum_nameserver_dup = switch_core_session_strdup (session , enum_nameserver );
607- argc = switch_separate_string (enum_nameserver_dup , ',' , argv , (sizeof (argv ) / sizeof (argv [0 ])));
598+ enum_nameserver_dup = switch_core_session_strdup (session , enum_nameserver );
599+ argc = switch_separate_string (enum_nameserver_dup , ',' , argv , (sizeof (argv ) / sizeof (argv [0 ])));
600+
601+ inameserver = 0 ;
602+ for (x = 0 ; x < argc ; x ++ ) {
603+ server [inameserver ] = argv [x ];
604+ inameserver ++ ;
605+ }
606+ switch_log_printf (SWITCH_CHANNEL_LOG , SWITCH_LOG_DEBUG , "Enum nameserver override : %s\n" , enum_nameserver );
607+ }
608608
609- inameserver = 0 ;
610- for (x = 0 ; x < argc ; x ++ ) {
611- server [inameserver ] = argv [x ];
612- inameserver ++ ;
609+ if (!inameserver ) {
610+ /* use config param "nameserver" ( can be up to ENUM_MAXNAMESERVERS ) */
611+ for (inameserver = 0 ; inameserver < ENUM_MAXNAMESERVERS ; inameserver ++ ) {
612+ server [inameserver ] = NULL ;
613+ if ( globals .nameserver [inameserver ] != NULL ) {
614+ server [inameserver ] = globals .nameserver [inameserver ];
613615 }
614- switch_log_printf (SWITCH_CHANNEL_LOG , SWITCH_LOG_DEBUG , "Enum nameserver override : %s\n" , enum_nameserver );
615616 }
616617 }
617618
@@ -912,7 +913,6 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_enum_shutdown)
912913 }
913914
914915 switch_safe_free (globals .root );
915- switch_safe_free (globals .server );
916916 switch_safe_free (globals .isn_root );
917917
918918 return SWITCH_STATUS_UNLOAD ;
0 commit comments