Make phoneprov case-insensitive to remove the func_strings dependency of the default...
authorTerry Wilson <twilson@digium.com>
Thu, 9 Oct 2008 17:04:11 +0000 (17:04 +0000)
committerTerry Wilson <twilson@digium.com>
Thu, 9 Oct 2008 17:04:11 +0000 (17:04 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@147854 65c4cc65-6c06-0410-ace0-fbb531ad65f3

configs/phoneprov.conf.sample
phoneprov/000000000000.cfg
res/res_phoneprov.c

index 8f55fa8..8b372f1 100644 (file)
@@ -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
index a137738..60406dc 100644 (file)
@@ -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=""/>
index 52404b5..7f0aa01 100644 (file)
@@ -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);