diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2013-02-26 05:30:00 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2013-02-26 05:30:00 +0000 |
commit | 170283b7888444253607a202bc2dfd6bc8dd1528 (patch) | |
tree | 06f8bd99ef570f1b77b667174e80c04d281303b1 | |
parent | 8d2def95ddeb363ef69bf16961871ce4b2a34949 (diff) |
Close #1615: Fixed bug in URI scheme check macro PJSIP_URI_SCHEME_IS_SIP()/SIPS/TEL.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4370 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | pjsip-apps/src/samples/pjsip-perf.c | 12 | ||||
-rw-r--r-- | pjsip-apps/src/samples/proxy.h | 6 | ||||
-rw-r--r-- | pjsip/include/pjsip/sip_uri.h | 8 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_core.c | 4 |
4 files changed, 16 insertions, 14 deletions
diff --git a/pjsip-apps/src/samples/pjsip-perf.c b/pjsip-apps/src/samples/pjsip-perf.c index c462cf84..ae4ce041 100644 --- a/pjsip-apps/src/samples/pjsip-perf.c +++ b/pjsip-apps/src/samples/pjsip-perf.c @@ -219,8 +219,8 @@ static pj_bool_t mod_stateless_on_rx_request(pjsip_rx_data *rdata) uri = pjsip_uri_get_uri(rdata->msg_info.msg->line.req.uri); - /* Only want to receive SIP scheme */ - if (!PJSIP_URI_SCHEME_IS_SIP(uri)) + /* Only want to receive SIP/SIPS scheme */ + if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) return PJ_FALSE; sip_uri = (pjsip_sip_uri*) uri; @@ -280,8 +280,8 @@ static pj_bool_t mod_stateful_on_rx_request(pjsip_rx_data *rdata) uri = pjsip_uri_get_uri(rdata->msg_info.msg->line.req.uri); - /* Only want to receive SIP scheme */ - if (!PJSIP_URI_SCHEME_IS_SIP(uri)) + /* Only want to receive SIP/SIPS scheme */ + if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) return PJ_FALSE; sip_uri = (pjsip_sip_uri*) uri; @@ -417,8 +417,8 @@ static pj_bool_t mod_call_on_rx_request(pjsip_rx_data *rdata) uri = pjsip_uri_get_uri(rdata->msg_info.msg->line.req.uri); - /* Only want to receive SIP scheme */ - if (!PJSIP_URI_SCHEME_IS_SIP(uri)) + /* Only want to receive SIP/SIPS scheme */ + if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) return PJ_FALSE; sip_uri = (pjsip_sip_uri*) uri; diff --git a/pjsip-apps/src/samples/proxy.h b/pjsip-apps/src/samples/proxy.h index 7fec1b6c..93be0a8e 100644 --- a/pjsip-apps/src/samples/proxy.h +++ b/pjsip-apps/src/samples/proxy.h @@ -364,9 +364,11 @@ static pj_status_t proxy_verify_request(pjsip_rx_data *rdata) */ /* 2. URI scheme. - * We only want to support "sip:" URI scheme for this simple proxy. + * We only want to support "sip:"/"sips:" URI scheme for this simple proxy. */ - if (!PJSIP_URI_SCHEME_IS_SIP(rdata->msg_info.msg->line.req.uri)) { + if (!PJSIP_URI_SCHEME_IS_SIP(rdata->msg_info.msg->line.req.uri) && + !PJSIP_URI_SCHEME_IS_SIPS(rdata->msg_info.msg->line.req.uri)) + { pjsip_endpt_respond_stateless(global.endpt, rdata, PJSIP_SC_UNSUPPORTED_URI_SCHEME, NULL, NULL, NULL); diff --git a/pjsip/include/pjsip/sip_uri.h b/pjsip/include/pjsip/sip_uri.h index 50b39913..44124a9d 100644 --- a/pjsip/include/pjsip/sip_uri.h +++ b/pjsip/include/pjsip/sip_uri.h @@ -226,12 +226,12 @@ struct pjsip_uri }; /** - * This macro checks that the URL is a "sip:" or "sips:" URL. + * This macro checks that the URL is a "sip:" URL. * @param url The URL (pointer to) * @return non-zero if TRUE. */ #define PJSIP_URI_SCHEME_IS_SIP(url) \ - (pj_strnicmp2(pjsip_uri_get_scheme(url), "sip", 3)==0) + (pj_stricmp2(pjsip_uri_get_scheme(url), "sip")==0) /** * This macro checks that the URL is a "sips:" URL (not SIP). @@ -239,7 +239,7 @@ struct pjsip_uri * @return non-zero if TRUE. */ #define PJSIP_URI_SCHEME_IS_SIPS(url) \ - (pj_strnicmp2(pjsip_uri_get_scheme(url), "sips", 4)==0) + (pj_stricmp2(pjsip_uri_get_scheme(url), "sips")==0) /** * This macro checks that the URL is a "tel:" URL. @@ -247,7 +247,7 @@ struct pjsip_uri * @return non-zero if TRUE. */ #define PJSIP_URI_SCHEME_IS_TEL(url) \ - (pj_strnicmp2(pjsip_uri_get_scheme(url), "tel", 3)==0) + (pj_stricmp2(pjsip_uri_get_scheme(url), "tel")==0) /** diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index 149de86a..c88b6e15 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -958,7 +958,7 @@ PJ_DEF(pj_status_t) pjsua_init( const pjsua_config *ua_cfg, if (pjsua_var.ua_cfg.force_lr) { pjsip_sip_uri *sip_url; if (!PJSIP_URI_SCHEME_IS_SIP(r->name_addr.uri) && - !PJSIP_URI_SCHEME_IS_SIP(r->name_addr.uri)) + !PJSIP_URI_SCHEME_IS_SIPS(r->name_addr.uri)) { status = PJSIP_EINVALIDSCHEME; goto on_error; @@ -2840,7 +2840,7 @@ pj_status_t normalize_route_uri(pj_pool_t *pool, pj_str_t *uri) } if (!PJSIP_URI_SCHEME_IS_SIP(uri_obj) && - !PJSIP_URI_SCHEME_IS_SIP(uri_obj)) + !PJSIP_URI_SCHEME_IS_SIPS(uri_obj)) { PJ_LOG(1,(THIS_FILE, "Route URI must be SIP URI: %.*s", (int)uri->slen, uri->ptr)); |