提交 84f2199d authored 作者: Chris Rienzo's avatar Chris Rienzo

mod_rayo: fix message->call input validation

上级 86903757
...@@ -1626,17 +1626,21 @@ void rayo_call_send(struct rayo_actor *call, struct rayo_message *msg) ...@@ -1626,17 +1626,21 @@ void rayo_call_send(struct rayo_actor *call, struct rayo_message *msg)
iks *response = NULL; iks *response = NULL;
if (!strcmp("message", iks_name(stanza))) { if (!strcmp("message", iks_name(stanza))) {
char *type = iks_find_attrib(stanza, "type"); const char *type = iks_find_attrib_soft(stanza, "type");
if (!strcmp("normal", type)) { if (!strcmp("normal", type)) {
switch_event_t *event; const char *body = iks_find_cdata(stanza, "body");
if (!zstr(body)) {
if (switch_event_create(&event, SWITCH_EVENT_SEND_MESSAGE) == SWITCH_STATUS_SUCCESS) { switch_event_t *event;
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-type", "text/plain"); if (switch_event_create(&event, SWITCH_EVENT_SEND_MESSAGE) == SWITCH_STATUS_SUCCESS) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "uuid", rayo_call_get_uuid(RAYO_CALL(call))); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "content-type", "text/plain");
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", iks_find_cdata(stanza, "subject")); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "uuid", rayo_call_get_uuid(RAYO_CALL(call)));
switch_event_add_body(event, "%s", iks_find_cdata(stanza, "body")); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "subject", iks_find_cdata(stanza, "subject"));
switch_event_fire(&event); switch_event_add_body(event, "%s", body);
switch_event_fire(&event);
}
} else if (!msg->is_reply) {
RAYO_SEND_REPLY(call, msg->from_jid, iks_new_error_detailed(stanza, STANZA_ERROR_BAD_REQUEST, "missing body"));
} }
} else if (!msg->is_reply) { } else if (!msg->is_reply) {
RAYO_SEND_REPLY(call, msg->from_jid, iks_new_error(stanza, STANZA_ERROR_FEATURE_NOT_IMPLEMENTED)); RAYO_SEND_REPLY(call, msg->from_jid, iks_new_error(stanza, STANZA_ERROR_FEATURE_NOT_IMPLEMENTED));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论