fix a bug found during a recent upgrade
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 21 Nov 2005 19:20:26 +0000 (19:20 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 21 Nov 2005 19:20:26 +0000 (19:20 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7180 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
channels/chan_iax2.c
channels/chan_sip.c

index 9115764..54bac41 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-11-21  Kevin P. Fleming  <kpfleming@digium.com>
+
+       * ensure that case changes made to chan_sip and chan_iax2 peer/user names are not ignored during reload operations
+
 2005-11-21  Josh Roberson <josh@asteriasgi.com>
 
        * Makefile: Re-fix Darwin poll issues. 
index 3046c61..fa95b91 100755 (executable)
@@ -8104,7 +8104,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, in
        if (!temponly) {
                peer = peerl.peers;
                while(peer) {
-                       if (!strcasecmp(peer->name, name)) {    
+                       if (!strcmp(peer->name, name)) {        
                                break;
                        }
                        prev = peer;
@@ -8297,7 +8297,7 @@ static struct iax2_user *build_user(const char *name, struct ast_variable *v, in
        if (!temponly) {
                user = userl.users;
                while(user) {
-                       if (!strcasecmp(user->name, name)) {    
+                       if (!strcmp(user->name, name)) {        
                                break;
                        }
                        prev = user;
index 3d5e454..e6faa6b 100755 (executable)
@@ -11967,7 +11967,11 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int
 
        if (!realtime)
                /* Note we do NOT use find_peer here, to avoid realtime recursion */
-               peer = ASTOBJ_CONTAINER_FIND_UNLINK(&peerl, name);
+               /* We also use a case-sensitive comparison (unlike find_peer) so
+                  that case changes made to the peer name will be properly handled
+                  during reload
+               */
+               peer = ASTOBJ_CONTAINER_FIND_UNLINK_FULL(&peerl, name, name, 0, 0, strcmp);
 
        if (peer) {
                /* Already in the list, remove it and it will be added back (or FREE'd)  */