From 6d8dc9bb5c8db6d25a7bb1ca0ca7b35d673dd829 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Tue, 2 Jun 2015 13:02:26 -0500 Subject: res_pjsip: Remove outgoing authentication code no longer needed. Associated with ASTERISK-25131 Change-Id: Iefa3b2066cfd8b108a90d2dd4a64d92c3a195d33 --- res/res_pjsip.c | 17 ----- res/res_pjsip/include/res_pjsip_private.h | 18 ------ res/res_pjsip/pjsip_outbound_auth.c | 101 ------------------------------ 3 files changed, 136 deletions(-) delete mode 100644 res/res_pjsip/pjsip_outbound_auth.c (limited to 'res') diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 7bf489772..6e7bd68c0 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -3743,22 +3743,6 @@ static int load_module(void) return AST_MODULE_LOAD_DECLINE; } - if (internal_sip_initialize_outbound_authentication()) { - ast_log(LOG_ERROR, "Failed to initialize outbound authentication. Aborting load\n"); - internal_sip_unregister_service(&supplement_module); - ast_sip_destroy_distributor(); - ast_res_pjsip_destroy_configuration(); - ast_sip_destroy_global_headers(); - stop_monitor_thread(); - ast_sip_destroy_system(); - pj_pool_release(memory_pool); - memory_pool = NULL; - pjsip_endpt_destroy(ast_pjsip_endpoint); - ast_pjsip_endpoint = NULL; - pj_caching_pool_destroy(&caching_pool); - return AST_MODULE_LOAD_DECLINE; - } - ast_res_pjsip_init_options_handling(0); ast_cli_register_multiple(cli_commands, ARRAY_LEN(cli_commands)); @@ -3783,7 +3767,6 @@ static int unload_pjsip(void *data) { ast_cli_unregister_multiple(cli_commands, ARRAY_LEN(cli_commands)); ast_res_pjsip_cleanup_options_handling(); - internal_sip_destroy_outbound_authentication(); ast_sip_destroy_distributor(); ast_res_pjsip_destroy_configuration(); ast_sip_destroy_system(); diff --git a/res/res_pjsip/include/res_pjsip_private.h b/res/res_pjsip/include/res_pjsip_private.h index a53e0c45d..2cc9feacd 100644 --- a/res/res_pjsip/include/res_pjsip_private.h +++ b/res/res_pjsip/include/res_pjsip_private.h @@ -192,24 +192,6 @@ int ast_res_pjsip_init_options_handling(int reload); */ int ast_res_pjsip_init_contact_transports(void); -/*! - * \internal - * \brief Initialize outbound authentication support - * - * \retval 0 Success - * \retval non-zero Failure - */ -int internal_sip_initialize_outbound_authentication(void); - -/*! - * \internal - * \brief Destroy outbound authentication support - * - * \retval 0 Success - * \retval non-zero Failure - */ -void internal_sip_destroy_outbound_authentication(void); - /*! * \internal * \brief Initialize system configuration diff --git a/res/res_pjsip/pjsip_outbound_auth.c b/res/res_pjsip/pjsip_outbound_auth.c deleted file mode 100644 index 8b39b000d..000000000 --- a/res/res_pjsip/pjsip_outbound_auth.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Asterisk -- An open source telephony toolkit. - * - * Copyright (C) 2013, Digium, Inc. - * - * Mark Michelson - * - * See http://www.asterisk.org for more information about - * the Asterisk project. Please do not directly contact - * any of the maintainers of this project for assistance; - * the project provides a web site, mailing lists and IRC - * channels for your use. - * - * This program is free software, distributed under the terms of - * the GNU General Public License Version 2. See the LICENSE file - * at the top of the source tree. - */ - -#include "asterisk.h" -#undef bzero -#define bzero bzero -#include "pjsip.h" - -#include "asterisk/res_pjsip.h" -#include "asterisk/module.h" -#include "include/res_pjsip_private.h" - -static pj_bool_t outbound_auth(pjsip_rx_data *rdata); - -static pjsip_module outbound_auth_mod = { - .name = {"Outbound Authentication", 19}, - .priority = PJSIP_MOD_PRIORITY_DIALOG_USAGE, - .on_rx_response = outbound_auth, -}; - -struct outbound_auth_cb_data { - ast_sip_dialog_outbound_auth_cb cb; - void *user_data; -}; - -static pj_bool_t outbound_auth(pjsip_rx_data *rdata) -{ - RAII_VAR(struct ast_sip_endpoint *, endpoint, NULL, ao2_cleanup); - pjsip_transaction *tsx; - pjsip_dialog *dlg; - struct outbound_auth_cb_data *cb_data; - pjsip_tx_data *tdata; - - if (rdata->msg_info.msg->line.status.code != 401 && - rdata->msg_info.msg->line.status.code != 407) { - /* Doesn't pertain to us. Move on */ - return PJ_FALSE; - } - - tsx = pjsip_rdata_get_tsx(rdata); - dlg = pjsip_rdata_get_dlg(rdata); - if (!dlg || !tsx) { - return PJ_FALSE; - } - - endpoint = ast_sip_dialog_get_endpoint(dlg); - if (!endpoint) { - return PJ_FALSE; - } - - if (ast_sip_create_request_with_auth(&endpoint->outbound_auths, rdata, tsx->last_tx, &tdata)) { - return PJ_FALSE; - } - - cb_data = dlg->mod_data[outbound_auth_mod.id]; - if (cb_data) { - cb_data->cb(dlg, tdata, cb_data->user_data); - return PJ_TRUE; - } - - pjsip_dlg_send_request(dlg, tdata, -1, NULL); - return PJ_TRUE; -} - -int ast_sip_dialog_setup_outbound_authentication(pjsip_dialog *dlg, const struct ast_sip_endpoint *endpoint, - ast_sip_dialog_outbound_auth_cb cb, void *user_data) -{ - struct outbound_auth_cb_data *cb_data = PJ_POOL_ZALLOC_T(dlg->pool, struct outbound_auth_cb_data); - cb_data->cb = cb; - cb_data->user_data = user_data; - - dlg->sess_count++; - pjsip_dlg_add_usage(dlg, &outbound_auth_mod, cb_data); - dlg->sess_count--; - - return 0; -} - -int internal_sip_initialize_outbound_authentication(void) { - return internal_sip_register_service(&outbound_auth_mod); -} - - -void internal_sip_destroy_outbound_authentication(void) { - internal_sip_unregister_service(&outbound_auth_mod); -} -- cgit v1.2.3