diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-11-21 19:20:26 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-11-21 19:20:26 +0000 |
commit | 354b7f1a81057d6c68b51a05268f0d914b809357 (patch) | |
tree | 12368025bc99db00f6da2f14a26e549af5f2edbb | |
parent | d34be7edf7ac6484e1567ce162a99f4d3c4c09d5 (diff) |
fix a bug found during a recent upgrade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-x | ChangeLog | 4 | ||||
-rwxr-xr-x | channels/chan_iax2.c | 4 | ||||
-rwxr-xr-x | channels/chan_sip.c | 6 |
3 files changed, 11 insertions, 3 deletions
@@ -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. diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 3046c610b..fa95b9185 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -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; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3d5e4544c..e6faa6b4e 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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) */ |