diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-07-02 14:26:43 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-07-02 14:26:43 +0000 |
commit | 01b2e0b27f8b5aa65a58617cfbf22844d31c1ecf (patch) | |
tree | 2c4c2f05b9331da7838613df028806c7ae7e7346 /pjsip/src | |
parent | 713d5d262d7cf03d499a4b2ea06fac1dc5367d89 (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.c | 10 |
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. |