From caaa5726b07e717ed02229993b520e5e6fa2f42f Mon Sep 17 00:00:00 2001 From: Anthony Minessale <anthm@freeswitch.org> Date: Thu, 20 Sep 2012 10:49:39 -0500 Subject: [PATCH] fold over use-server to be alias for nameserver param and support back compat with legacy configs --- src/mod/applications/mod_enum/mod_enum.c | 68 ++++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/src/mod/applications/mod_enum/mod_enum.c b/src/mod/applications/mod_enum/mod_enum.c index c40e6443f0..ae19bdb791 100644 --- a/src/mod/applications/mod_enum/mod_enum.c +++ b/src/mod/applications/mod_enum/mod_enum.c @@ -67,7 +67,6 @@ static switch_event_node_t *NODE = NULL; static struct { char *root; - char *server; char *isn_root; enum_route_t *route_order; switch_memory_pool_t *pool; @@ -79,7 +78,6 @@ static struct { } globals; SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_root, globals.root); -SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_server, globals.server); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_isn_root, globals.isn_root); static void add_route(char *service, char *regex, char *replace) @@ -126,8 +124,6 @@ static switch_status_t load_config(void) const char *val = switch_xml_attr_soft(param, "value"); if (!strcasecmp(var, "default-root")) { set_global_root(val); - } else if (!strcasecmp(var, "use-server")) { - set_global_server(val); } else if (!strcasecmp(var, "auto-reload")) { globals.auto_reload = switch_true(val); } else if (!strcasecmp(var, "query-timeout")) { @@ -140,7 +136,7 @@ static switch_status_t load_config(void) globals.random = switch_true(val); } else if (!strcasecmp(var, "default-isn-root")) { set_global_isn_root(val); - } else if (!strcasecmp(var, "nameserver")) { + } else if (!strcasecmp(var, "nameserver") || !strcasecmp(var, "use-server")) { if ( inameserver < ENUM_MAXNAMESERVERS ) { globals.nameserver[inameserver] = (char *) val; inameserver++; @@ -560,6 +556,7 @@ static switch_status_t enum_lookup(char *root, char *in, enum_record_t **results int argc; int x = 0; char *enum_nameserver_dup; + const char *enum_nameserver = NULL; *results = NULL; @@ -577,41 +574,45 @@ static switch_status_t enum_lookup(char *root, char *in, enum_record_t **results /* Empty the server array */ for(inameserver=0; inameserver<ENUM_MAXNAMESERVERS; inameserver++) { - server[inameserver] = NULL; + server[inameserver] = NULL; } - if (!(server[0] = switch_core_get_variable("enum-server"))) { - server[0] = globals.server; - } - - /* use config param "nameserver" ( can be up to ENUM_MAXNAMESERVERS ) */ - for(inameserver=0; inameserver<ENUM_MAXNAMESERVERS; inameserver++) { - server[inameserver] = NULL; - if ( globals.nameserver[inameserver] != NULL ) - { - server[inameserver] = globals.nameserver[inameserver]; - }; - } + inameserver = 0; /* check for enum_nameserver channel var */ - if ( channel != NULL ) { - const char *enum_nameserver = switch_channel_get_variable(channel, "enum_nameserver"); - if (!zstr(enum_nameserver)) - { - /* Blank the server array */ - for(inameserver=0; inameserver<ENUM_MAXNAMESERVERS; inameserver++) { - server[inameserver] = NULL; - } + + if (channel) { + enum_nameserver = switch_channel_get_variable(channel, "enum_nameserver"); + } - enum_nameserver_dup = switch_core_session_strdup(session, enum_nameserver); - argc = switch_separate_string(enum_nameserver_dup, ',', argv, (sizeof(argv) / sizeof(argv[0]))); + if (zstr(enum_nameserver)) { + enum_nameserver = switch_core_get_variable("enum-server"); + } - inameserver = 0; - for (x = 0; x < argc; x++) { - server[inameserver] = argv[x]; - inameserver++; + if (!zstr(enum_nameserver)) { + /* Blank the server array */ + for(inameserver=0; inameserver<ENUM_MAXNAMESERVERS; inameserver++) { + server[inameserver] = NULL; + } + + enum_nameserver_dup = switch_core_session_strdup(session, enum_nameserver); + argc = switch_separate_string(enum_nameserver_dup, ',', argv, (sizeof(argv) / sizeof(argv[0]))); + + inameserver = 0; + for (x = 0; x < argc; x++) { + server[inameserver] = argv[x]; + inameserver++; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Enum nameserver override : %s\n", enum_nameserver); + } + + if (!inameserver) { + /* use config param "nameserver" ( can be up to ENUM_MAXNAMESERVERS ) */ + for(inameserver = 0; inameserver<ENUM_MAXNAMESERVERS; inameserver++) { + server[inameserver] = NULL; + if ( globals.nameserver[inameserver] != NULL ) { + server[inameserver] = globals.nameserver[inameserver]; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Enum nameserver override : %s\n", enum_nameserver); } } @@ -912,7 +913,6 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_enum_shutdown) } switch_safe_free(globals.root); - switch_safe_free(globals.server); switch_safe_free(globals.isn_root); return SWITCH_STATUS_UNLOAD;