aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-21 19:20:26 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-21 19:20:26 +0000
commit375364ec0b106627df944cbc6d849f62de3d784a (patch)
tree12368025bc99db00f6da2f14a26e549af5f2edbb
parentbd1c9ddc3b36b876baf1215c3ab2f6b3e0e4a05c (diff)
fix a bug found during a recent upgrade
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7180 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xChangeLog4
-rwxr-xr-xchannels/chan_iax2.c4
-rwxr-xr-xchannels/chan_sip.c6
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 91157642a..54bac41d7 100755
--- 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.
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) */