diff options
Diffstat (limited to 'res/res_pjsip')
-rw-r--r-- | res/res_pjsip/location.c | 32 | ||||
-rw-r--r-- | res/res_pjsip/pjsip_configuration.c | 30 |
2 files changed, 1 insertions, 61 deletions
diff --git a/res/res_pjsip/location.c b/res/res_pjsip/location.c index 9625f04ef..331d839a1 100644 --- a/res/res_pjsip/location.c +++ b/res/res_pjsip/location.c @@ -319,32 +319,6 @@ static int expiration_struct2str(const void *obj, const intptr_t *args, char **b return (ast_asprintf(buf, "%ld", contact->expiration_time.tv_sec) < 0) ? -1 : 0; } -/*! \brief Helper function which validates a permanent contact */ -static int permanent_contact_validate(void *data) -{ - const char *value = data; - pj_pool_t *pool; - pj_str_t contact_uri; - static const pj_str_t HCONTACT = { "Contact", 7 }; - pjsip_contact_hdr *contact_hdr; - int rc = 0; - - pool = pjsip_endpt_create_pool(ast_sip_get_pjsip_endpoint(), "Permanent Contact Validation", 256, 256); - if (!pool) { - return -1; - } - - pj_strdup2_with_null(pool, &contact_uri, value); - if (!(contact_hdr = pjsip_parse_hdr(pool, &HCONTACT, contact_uri.ptr, contact_uri.slen, NULL)) - || !(PJSIP_URI_SCHEME_IS_SIP(contact_hdr->uri) - || PJSIP_URI_SCHEME_IS_SIPS(contact_hdr->uri))) { - rc = -1; - } - - pjsip_endpt_release_pool(ast_sip_get_pjsip_endpoint(), pool); - return rc; -} - static int permanent_uri_sort_fn(const void *obj_left, const void *obj_right, int flags) { const struct ast_sip_contact *object_left = obj_left; @@ -393,12 +367,6 @@ static int permanent_uri_handler(const struct aco_option *opt, struct ast_variab struct ast_sip_contact_status *status; char contact_id[strlen(aor_id) + strlen(contact_uri) + 2 + 1]; - if (ast_sip_push_task_synchronous(NULL, permanent_contact_validate, contact_uri)) { - ast_log(LOG_ERROR, "Permanent URI on aor '%s' with contact '%s' failed to parse\n", - ast_sorcery_object_get_id(aor), contact_uri); - return -1; - } - if (!aor->permanent_contacts) { aor->permanent_contacts = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT, permanent_uri_sort_fn, NULL); diff --git a/res/res_pjsip/pjsip_configuration.c b/res/res_pjsip/pjsip_configuration.c index cfb17cd8d..57793c903 100644 --- a/res/res_pjsip/pjsip_configuration.c +++ b/res/res_pjsip/pjsip_configuration.c @@ -1084,29 +1084,6 @@ static struct ast_endpoint *persistent_endpoint_find_or_create(const struct ast_ return persistent->endpoint; } -/*! \brief Helper function which validates an outbound proxy */ -static int outbound_proxy_validate(void *data) -{ - const char *proxy = data; - pj_pool_t *pool; - pj_str_t tmp; - static const pj_str_t ROUTE_HNAME = { "Route", 5 }; - - pool = pjsip_endpt_create_pool(ast_sip_get_pjsip_endpoint(), "Outbound Proxy Validation", 256, 256); - if (!pool) { - return -1; - } - - pj_strdup2_with_null(pool, &tmp, proxy); - if (!pjsip_parse_hdr(pool, &ROUTE_HNAME, tmp.ptr, tmp.slen, NULL)) { - pjsip_endpt_release_pool(ast_sip_get_pjsip_endpoint(), pool); - return -1; - } - - pjsip_endpt_release_pool(ast_sip_get_pjsip_endpoint(), pool); - return 0; -} - /*! \brief Callback function for when an object is finalized */ static int sip_endpoint_apply_handler(const struct ast_sorcery *sorcery, void *obj) { @@ -1116,12 +1093,7 @@ static int sip_endpoint_apply_handler(const struct ast_sorcery *sorcery, void *o return -1; } - if (!ast_strlen_zero(endpoint->outbound_proxy) && - ast_sip_push_task_synchronous(NULL, outbound_proxy_validate, (char*)endpoint->outbound_proxy)) { - ast_log(LOG_ERROR, "Invalid outbound proxy '%s' specified on endpoint '%s'\n", - endpoint->outbound_proxy, ast_sorcery_object_get_id(endpoint)); - return -1; - } else if (endpoint->extensions.timer.min_se < 90) { + if (endpoint->extensions.timer.min_se < 90) { ast_log(LOG_ERROR, "Session timer minimum expires time must be 90 or greater on endpoint '%s'\n", ast_sorcery_object_get_id(endpoint)); return -1; |