[asterisk-commits] mmichelson: branch mmichelson/pool_shark2 r381578 - /team/mmichelson/pool_sha...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Feb 15 13:28:29 CST 2013
Author: mmichelson
Date: Fri Feb 15 13:28:26 2013
New Revision: 381578
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=381578
Log:
Change to only authenticating dialog-creating methods.
This helps us not to try to authenticate things like BYE and INFO, but
it doesn't really help with other in-dialog requests like reinvites. We'll
still challenge those.
We unfortunately cannot detect if a request is in-dialog since the request
has not reached the dialog layer before it reaches us.
Modified:
team/mmichelson/pool_shark2/res/res_sip/sip_distributor.c
Modified: team/mmichelson/pool_shark2/res/res_sip/sip_distributor.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/pool_shark2/res/res_sip/sip_distributor.c?view=diff&rev=381578&r1=381577&r2=381578
==============================================================================
--- team/mmichelson/pool_shark2/res/res_sip/sip_distributor.c (original)
+++ team/mmichelson/pool_shark2/res/res_sip/sip_distributor.c Fri Feb 15 13:28:26 2013
@@ -49,8 +49,8 @@
pj_bool_t handled;
pjsip_rx_data *rdata = data;
int is_request = rdata->msg_info.msg->type == PJSIP_REQUEST_MSG;
- int is_ack = is_request ? rdata->msg_info.msg->line.req.method.id == PJSIP_ACK_METHOD : 0;
- int is_cancel = is_request ? rdata->msg_info.msg->line.req.method.id == PJSIP_CANCEL_METHOD : 0;
+ pjsip_method *req_method = is_request ? &rdata->msg_info.msg->line.req.method : NULL;
+ int is_ack = req_method ? req_method->id == PJSIP_ACK_METHOD : 0;
struct ast_sip_endpoint *endpoint;
endpoint = ast_sip_identify_endpoint(rdata);
@@ -66,7 +66,7 @@
}
rdata->endpt_info.mod_data[cloner_mod.id] = endpoint;
- if (is_request && !is_ack && !is_cancel) {
+ if (is_request && pjsip_method_creates_dialog(req_method)) {
if (ast_sip_requires_authentication(endpoint, rdata)) {
pjsip_tx_data *tdata;
pjsip_endpt_create_response(ast_sip_get_pjsip_endpoint(), rdata, 401, NULL, &tdata);
More information about the asterisk-commits
mailing list