summaryrefslogtreecommitdiff
path: root/pjsip/src
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-07-02 14:26:43 +0000
committerBenny Prijono <bennylp@teluu.com>2006-07-02 14:26:43 +0000
commit01b2e0b27f8b5aa65a58617cfbf22844d31c1ecf (patch)
tree2c4c2f05b9331da7838613df028806c7ae7e7346 /pjsip/src
parent713d5d262d7cf03d499a4b2ea06fac1dc5367d89 (diff)
Fixed minor bug in SIP transaction: transaction should verify that the method specified in CSeq header in the incoming request matches the method of the request (otherwise it will trigger assertion failure in dialog later)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@575 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r--pjsip/src/pjsip/sip_transaction.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index 2b29b91d..eb17d0f5 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -1230,6 +1230,16 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user,
if (rdata->msg_info.via == NULL)
return PJSIP_EMISSINGHDR;
+ /* Check that method in CSeq header match request method.
+ * Reference: PROTOS #1922
+ */
+ if (pjsip_method_cmp(&msg->line.req.method,
+ &rdata->msg_info.cseq->method) != 0)
+ {
+ PJ_LOG(4,(THIS_FILE, "Error: CSeq header contains different "
+ "method than the request line"));
+ return PJSIP_EINVALIDHDR;
+ }
/*
* Create transaction instance.