[Asterisk-cvs] asterisk manager.c,1.116,1.117
kpfleming
kpfleming
Fri Sep 30 19:47:47 CDT 2005
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv23352
Modified Files:
manager.c
Log Message:
tell the user about invalid/unknown commands before sending queued events
s->challenge does not need to be protected by the lock, since only process_message() (and functions it calls) ever use it, and process_message() is a blocking operation by definition
Index: manager.c
===================================================================
RCS file: /usr/cvsroot/asterisk/manager.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- manager.c 30 Sep 2005 16:27:14 -0000 1.116
+++ manager.c 30 Sep 2005 23:44:12 -0000 1.117
@@ -1223,11 +1223,8 @@
char *authtype;
authtype = astman_get_header(m, "AuthType");
if (!strcasecmp(authtype, "MD5")) {
- if (!s->challenge || ast_strlen_zero(s->challenge)) {
- ast_mutex_lock(&s->__lock);
+ if (!s->challenge || ast_strlen_zero(s->challenge))
snprintf(s->challenge, sizeof(s->challenge), "%d", rand());
- ast_mutex_unlock(&s->__lock);
- }
ast_mutex_lock(&s->__lock);
ast_cli(s->fd, "Response: Success\r\n"
"%s"
@@ -1277,6 +1274,10 @@
}
tmp = tmp->next;
}
+ if (!ret)
+ astman_send_error(s, m, "Invalid/unknown command");
+ else
+ ret = 0;
ast_mutex_lock(&s->__lock);
s->busy = 0;
while(s->eventq) {
@@ -1289,10 +1290,6 @@
free(eqe);
}
ast_mutex_unlock(&s->__lock);
- if (!ret)
- astman_send_error(s, m, "Invalid/unknown command");
- else
- ret = 0;
return ret;
}
return 0;
More information about the svn-commits
mailing list