summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-10-06 18:38:25 +0000
committerMatthew Jordan <mjordan@digium.com>2014-10-06 18:38:25 +0000
commit5c607f97359733d6b216d3422befa17c8b619dc4 (patch)
tree4063193d064485cc8af937292316022185f82010
parent6a8cb946ebe6c3b94002d551f5b6a0560f0452db (diff)
message: Don't close an AMI connection on SendMessage action error
If SendMessage encounters an error (such as incorrect input provided to the action), it will currently return -1. Actions should only return -1 if the connection to the AMI client should be closed. In this case, SendMessage causing the client to disconnect is inappropriate. This patch causes the action to return 0, which simply causes the action to fail. Review: https://reviewboard.asterisk.org/r/4024 ASTERISK-24354 #close Reported by: Peter Katzmann patches: sendMessage.patch uploaded by Peter Katzmann (License 5968) ........ Merged revisions 424690 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 424691 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--main/message.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/main/message.c b/main/message.c
index cf4ee2b70..ff88c2f6d 100644
--- a/main/message.c
+++ b/main/message.c
@@ -1260,7 +1260,7 @@ static int action_messagesend(struct mansession *s, const struct message *m)
if (ast_strlen_zero(to)) {
astman_send_error(s, m, "No 'To' address specified.");
- return -1;
+ return 0;
}
if (!ast_strlen_zero(base64body)) {
@@ -1282,7 +1282,7 @@ static int action_messagesend(struct mansession *s, const struct message *m)
if (!(msg = ast_msg_alloc())) {
ast_rwlock_unlock(&msg_techs_lock);
astman_send_error(s, m, "Internal failure\n");
- return -1;
+ return 0;
}
data = astman_get_variables_order(m, ORDER_NATURAL);
@@ -1304,7 +1304,7 @@ static int action_messagesend(struct mansession *s, const struct message *m)
} else {
astman_send_ack(s, m, "Message successfully sent");
}
- return res;
+ return 0;
}
int ast_msg_send(struct ast_msg *msg, const char *to, const char *from)