From: Joshua Colp Date: Thu, 28 Nov 2013 01:56:02 +0000 (+0000) Subject: res_pjsip_header_funcs: Don't add headers to re-INVITEs. X-Git-Tag: 12.0.0~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=457ddd6cc1ea5663c3f4b65b0db0f7ee40fc0a9b;p=thirdparty%2Fasterisk.git res_pjsip_header_funcs: Don't add headers to re-INVITEs. When sending a re-INVITE to an endpoint it was possible for received headers to be added as well (since they are stored for retrieval using the PJSIP_HEADER dialplan function). This caused a broken (and potentially large) SIP INVITE to be produced and sent. This changes the module so it will no longer add headers to re-INVITEs. (closes issue ASTERISK-22882) Reported by: David M. Lee git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403221 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_pjsip_header_funcs.c b/res/res_pjsip_header_funcs.c index 11ab44c104..063fbb7616 100644 --- a/res/res_pjsip_header_funcs.c +++ b/res/res_pjsip_header_funcs.c @@ -583,7 +583,8 @@ static void outgoing_request(struct ast_sip_session *session, pjsip_tx_data * td RAII_VAR(struct ast_datastore *, datastore, ast_sip_session_get_datastore(session, header_datastore.type), ao2_cleanup); - if (!datastore || !datastore->data) { + if (!datastore || !datastore->data || + (session->inv_session->state >= PJSIP_INV_STATE_CONFIRMED)) { return; }