summaryrefslogtreecommitdiff
path: root/main/message.c
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 /main/message.c
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
Diffstat (limited to 'main/message.c')
-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)