diff options
author | Terry Wilson <twilson@digium.com> | 2008-10-09 17:04:11 +0000 |
---|---|---|
committer | Terry Wilson <twilson@digium.com> | 2008-10-09 17:04:11 +0000 |
commit | 23aeccbbbbcd95b6ebb2dfd9bd485aa6856e6ae5 (patch) | |
tree | 30c11cc20ee047ac8e9526027674031f734db452 | |
parent | 5232acb8c0468f015bb02ff07a27ccb4a3f0bd86 (diff) |
Make phoneprov case-insensitive to remove the func_strings dependency of the default config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@147854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | configs/phoneprov.conf.sample | 8 | ||||
-rw-r--r-- | phoneprov/000000000000.cfg | 2 | ||||
-rw-r--r-- | res/res_phoneprov.c | 24 |
3 files changed, 24 insertions, 10 deletions
diff --git a/configs/phoneprov.conf.sample b/configs/phoneprov.conf.sample index 8f55fa88b..8b372f170 100644 --- a/configs/phoneprov.conf.sample +++ b/configs/phoneprov.conf.sample @@ -53,8 +53,8 @@ static_file => sip.ld,application/octet-stream static_file => sip.ver,plain/text static_file => sip.cfg static_file => custom.cfg -${TOLOWER(${MAC})}.cfg => 000000000000.cfg ; Dynamically generated files. -${TOLOWER(${MAC})}-phone.cfg => 000000000000-phone.cfg ; (relative to AST_DATA_DIR/phoneprov) -config/${TOLOWER(${MAC})} => polycom.xml ; Dynamic Filename => template file -${TOLOWER(${MAC})}-directory.xml => 000000000000-directory.xml +${MAC}.cfg => 000000000000.cfg ; Dynamically generated files. +${MAC}-phone.cfg => 000000000000-phone.cfg ; (relative to AST_DATA_DIR/phoneprov) +config/${MAC} => polycom.xml ; Dynamic Filename => template file +${MAC}-directory.xml => 000000000000-directory.xml setvar => CUSTOM_CONFIG=/var/lib/asterisk/phoneprov/configs/custom.cfg ; Custom variable diff --git a/phoneprov/000000000000.cfg b/phoneprov/000000000000.cfg index a1377382e..60406dce5 100644 --- a/phoneprov/000000000000.cfg +++ b/phoneprov/000000000000.cfg @@ -1,2 +1,2 @@ <?xml version="1.0" standalone="yes"?> - <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="${IF($[${STAT(e|${CUSTOM_CONFIG})}] ? "custom.cfg, ")}config/${TOLOWER(${MAC})}, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY=""/> + <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="${IF($[${STAT(e|${CUSTOM_CONFIG})}] ? "custom.cfg, ")}config/${MAC}, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY=""/> diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c index 52404b59f..7f0aa01d4 100644 --- a/res/res_phoneprov.c +++ b/res/res_phoneprov.c @@ -28,6 +28,7 @@ #include "asterisk.h" +#include <ctype.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <net/if.h> @@ -287,15 +288,22 @@ static struct http_route *unref_route(struct http_route *route) static int routes_hash_fn(const void *obj, const int flags) { const struct http_route *route = obj; - - return ast_str_hash(route->uri); + char *tmp, *uri; + + uri = tmp = ast_strdupa(route->uri); + + while (*tmp++) { + *tmp = tolower(*tmp); + } + + return ast_str_hash(uri); } static int routes_cmp_fn(void *obj, void *arg, int flags) { const struct http_route *route1 = obj, *route2 = arg; - return !strcmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0; + return !strcasecmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0; } static void route_destructor(void *obj) @@ -776,8 +784,15 @@ static struct user *find_user(const char *macaddress) static int users_hash_fn(const void *obj, const int flags) { const struct user *user = obj; + char *tmp, *mac; + + mac = tmp = ast_strdupa(user->macaddress); + + while (*tmp++) { + *tmp = tolower(*tmp); + } - return ast_str_hash(user->macaddress); + return ast_str_hash(mac); } static int users_cmp_fn(void *obj, void *arg, int flags) @@ -821,7 +836,6 @@ static void delete_users(void) static struct user *build_user(const char *mac, struct phone_profile *profile) { struct user *user; - if (!(user = ao2_alloc(sizeof(*user), user_destructor))) { profile = unref_profile(profile); |