Module: kamailio
Branch: master
Commit: 34f35b51e79f4265bdfb3d654866c698bde84c01
URL:
https://github.com/kamailio/kamailio/commit/34f35b51e79f4265bdfb3d654866c69…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2016-07-06T16:59:32+02:00
dialog: use cookie header to detect cseq auth increment needs
---
Modified: modules/dialog/dlg_cseq.c
---
Diff:
https://github.com/kamailio/kamailio/commit/34f35b51e79f4265bdfb3d654866c69…
Patch:
https://github.com/kamailio/kamailio/commit/34f35b51e79f4265bdfb3d654866c69…
---
diff --git a/modules/dialog/dlg_cseq.c b/modules/dialog/dlg_cseq.c
index 58a6bb8..be87470 100644
--- a/modules/dialog/dlg_cseq.c
+++ b/modules/dialog/dlg_cseq.c
@@ -35,6 +35,7 @@
#include "../../events.h"
#include "../../ut.h"
+#include "../../data_lump.h"
#include "../../parser/parse_to.h"
#include "../../parser/parse_from.h"
#include "../../modules/tm/tm_load.h"
@@ -188,7 +189,6 @@ int dlg_cseq_msg_sent(void *data)
sip_msg_t msg;
str *obuf;
unsigned int direction;
- tm_cell_t *t;
unsigned int ninc = 0;
unsigned int vinc = 0;
dlg_cell_t *dlg = NULL;
@@ -222,7 +222,7 @@ int dlg_cseq_msg_sent(void *data)
direction = DLG_DIR_NONE;
dlg = dlg_lookup_msg_dialog(&msg, &direction);
-
+
if(dlg == NULL) {
LM_DBG("no dialog for this request\n");
goto done;
@@ -236,18 +236,13 @@ int dlg_cseq_msg_sent(void *data)
/* check if transaction is marked for a new increment */
if(get_cseq(&msg)->method_id!=METHOD_ACK) {
- t = d_tmb.t_gett();
- if(t==NULL || t==T_UNDEFINED) {
- LM_DBG("no transaction for request\n");
- goto done;
- }
- if(t->uas.request==0) {
- LM_DBG("no uas request - no cseq update needed\n");
- goto done;
- }
- if((t->uas.request->msg_flags&FL_UAC_AUTH)==FL_UAC_AUTH) {
+ if(sr_hdr_get_z(&msg, "P-K-Auth-CSeq")!=NULL) {
LM_DBG("uac auth request - cseq inc needed\n");
ninc = 1;
+ sr_hdr_del_z(&msg, "P-K-Auth-CSeq");
+ } else {
+ LM_DBG("uac auth request - cseq inc not needed\n");
+ goto done;
}
}