summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-10-06 18:39:54 +0000
committerMatthew Jordan <mjordan@digium.com>2014-10-06 18:39:54 +0000
commit39bd5b7a7020567eef0317786cb543ceb65467a9 (patch)
tree6b01a55e5d4942c6ceb0c9f8da4e553d89dffc59
parentc384532aa44717c20ebbe16cca558fc45f90f139 (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 ........ Merged revisions 424692 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@424693 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)