From: Arran Cudbard-Bell Date: Fri, 8 May 2020 18:07:27 +0000 (-0500) Subject: Start stripping proxy lists X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45590cfbc3b99b49ee37051cb72fa2e82da2282f;p=thirdparty%2Ffreeradius-server.git Start stripping proxy lists --- diff --git a/src/lib/server/tmpl.c b/src/lib/server/tmpl.c index 366fd2ca5cc..d00b2199c0e 100644 --- a/src/lib/server/tmpl.c +++ b/src/lib/server/tmpl.c @@ -58,10 +58,6 @@ fr_table_num_ordered_t const pair_list_table[] = { { "control", PAIR_LIST_CONTROL }, /* New name should have priority */ { "config", PAIR_LIST_CONTROL }, { "session-state", PAIR_LIST_STATE }, -#ifdef WITH_PROXY - { "proxy-request", PAIR_LIST_PROXY_REQUEST }, - { "proxy-reply", PAIR_LIST_PROXY_REPLY } -#endif }; size_t pair_list_table_len = NUM_ELEMENTS(pair_list_table); @@ -210,16 +206,6 @@ VALUE_PAIR **radius_list(REQUEST *request, pair_list_t list) case PAIR_LIST_STATE: return &request->state; - -#ifdef WITH_PROXY - case PAIR_LIST_PROXY_REQUEST: - if (!request->proxy || !request->proxy->packet) break; - return &request->proxy->packet->vps; - - case PAIR_LIST_PROXY_REPLY: - if (!request->proxy || !request->proxy->reply) break; - return &request->proxy->reply->vps; -#endif } RWDEBUG2("List \"%s\" is not available", @@ -255,16 +241,6 @@ RADIUS_PACKET *radius_packet(REQUEST *request, pair_list_t list) case PAIR_LIST_REPLY: return request->reply; - -#ifdef WITH_PROXY - case PAIR_LIST_PROXY_REQUEST: - if (!request->proxy) return NULL; - return request->proxy->packet; - - case PAIR_LIST_PROXY_REPLY: - if (!request->proxy) return NULL; - return request->proxy->reply; -#endif } return NULL; @@ -302,16 +278,6 @@ TALLOC_CTX *radius_list_ctx(REQUEST *request, pair_list_t list) case PAIR_LIST_STATE: return request->state_ctx; -#ifdef WITH_PROXY - case PAIR_LIST_PROXY_REQUEST: - if (!request->proxy) return NULL; - return request->proxy->packet; - - case PAIR_LIST_PROXY_REPLY: - if (!request->proxy) return NULL; - return request->proxy->reply; -#endif - /* Don't add default */ case PAIR_LIST_UNKNOWN: break; diff --git a/src/lib/server/tmpl.h b/src/lib/server/tmpl.h index 02aa33fd8f7..e04433989b2 100644 --- a/src/lib/server/tmpl.h +++ b/src/lib/server/tmpl.h @@ -86,13 +86,6 @@ typedef enum pair_list_e { ///< modules. PAIR_LIST_STATE, //!< Attributes to store multiple rounds of ///< challenges/responses. -#ifdef WITH_PROXY - PAIR_LIST_PROXY_REQUEST, //!< A copy of attributes in the request list - ///< that may be modified in pre-proxy before - //!< proxying the request. - PAIR_LIST_PROXY_REPLY, //!< Attributes sent in response to the proxied - ///< request. -#endif PAIR_LIST_UNKNOWN //!< Unknown list. } pair_list_t; diff --git a/src/modules/rlm_files/rlm_files.c b/src/modules/rlm_files/rlm_files.c index dbffa4324a3..31d36f57e03 100644 --- a/src/modules/rlm_files/rlm_files.c +++ b/src/modules/rlm_files/rlm_files.c @@ -51,16 +51,6 @@ typedef struct { char const *acct_usersfile; rbtree_t *acct_users; -#ifdef WITH_PROXY - /* pre-proxy */ - char const *preproxy_usersfile; - rbtree_t *preproxy_users; - - /* post-proxy */ - char const *postproxy_usersfile; - rbtree_t *postproxy_users; -#endif - /* post-authenticate */ char const *postauth_usersfile; rbtree_t *postauth_users; @@ -100,10 +90,6 @@ static const CONF_PARSER module_config[] = { { FR_CONF_OFFSET("filename", FR_TYPE_FILE_INPUT, rlm_files_t, filename) }, { FR_CONF_OFFSET("usersfile", FR_TYPE_FILE_INPUT, rlm_files_t, usersfile) }, { FR_CONF_OFFSET("acctusersfile", FR_TYPE_FILE_INPUT, rlm_files_t, acct_usersfile) }, -#ifdef WITH_PROXY - { FR_CONF_OFFSET("preproxy_usersfile", FR_TYPE_FILE_INPUT, rlm_files_t, preproxy_usersfile) }, - { FR_CONF_OFFSET("postproxy_usersfile", FR_TYPE_FILE_INPUT, rlm_files_t, postproxy_usersfile) }, -#endif { FR_CONF_OFFSET("auth_usersfile", FR_TYPE_FILE_INPUT, rlm_files_t, auth_usersfile) }, { FR_CONF_OFFSET("postauth_usersfile", FR_TYPE_FILE_INPUT, rlm_files_t, postauth_usersfile) }, { FR_CONF_OFFSET("key", FR_TYPE_TMPL | FR_TYPE_NOT_EMPTY, rlm_files_t, key), .dflt = "%{%{Stripped-User-Name}:-%{User-Name}}", .quote = T_DOUBLE_QUOTED_STRING }, @@ -296,12 +282,6 @@ static int mod_instantiate(void *instance, UNUSED CONF_SECTION *conf) READFILE(filename, common); READFILE(usersfile, users); READFILE(acct_usersfile, acct_users); - -#ifdef WITH_PROXY - READFILE(preproxy_usersfile, preproxy_users); - READFILE(postproxy_usersfile, postproxy_users); -#endif - READFILE(auth_usersfile, auth_users); READFILE(postauth_usersfile, postauth_users); @@ -378,7 +358,7 @@ static rlm_rcode_t file_common(rlm_files_t const *inst, REQUEST *request, char c RDEBUG2("Found match \"%s\" one line %d of %s", pl->name, pl->lineno, filename); found = true; - /* ctx may be reply or proxy */ + /* ctx may be reply */ MEM(fr_pair_list_copy(reply, &reply_tmp, pl->reply) >= 0); radius_pairmove(request, &reply->vps, reply_tmp, true); @@ -440,26 +420,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_preacct(void *instance, UNUSED void *thr request->packet, request->reply); } -#ifdef WITH_PROXY -static rlm_rcode_t CC_HINT(nonnull) mod_pre_proxy(void *instance, UNUSED void *thread, REQUEST *request) -{ - rlm_files_t const *inst = instance; - - return file_common(inst, request, inst->preproxy_usersfile, - inst->preproxy_users ? inst->preproxy_users : inst->common, - request->packet, request->proxy->packet); -} - -static rlm_rcode_t CC_HINT(nonnull) mod_post_proxy(void *instance, UNUSED void *thread, REQUEST *request) -{ - rlm_files_t const *inst = instance; - - return file_common(inst, request, inst->postproxy_usersfile, - inst->postproxy_users ? inst->postproxy_users : inst->common, - request->proxy->reply, request->reply); -} -#endif - static rlm_rcode_t CC_HINT(nonnull) mod_authenticate(void *instance, UNUSED void *thread, REQUEST *request) { rlm_files_t const *inst = instance; @@ -491,11 +451,6 @@ module_t rlm_files = { [MOD_AUTHENTICATE] = mod_authenticate, [MOD_AUTHORIZE] = mod_authorize, [MOD_PREACCT] = mod_preacct, - -#ifdef WITH_PROXY - [MOD_PRE_PROXY] = mod_pre_proxy, - [MOD_POST_PROXY] = mod_post_proxy, -#endif [MOD_POST_AUTH] = mod_post_auth }, }; diff --git a/src/modules/rlm_mruby/rlm_mruby.c b/src/modules/rlm_mruby/rlm_mruby.c index 7bbd08b5e8e..57b5646477a 100644 --- a/src/modules/rlm_mruby/rlm_mruby.c +++ b/src/modules/rlm_mruby/rlm_mruby.c @@ -415,12 +415,6 @@ static rlm_rcode_t CC_HINT(nonnull) do_mruby(REQUEST *request, rlm_mruby_t const mruby_set_vps(request, mrb, mruby_request, "@reply", &request->reply->vps); mruby_set_vps(request, mrb, mruby_request, "@control", &request->control); mruby_set_vps(request, mrb, mruby_request, "@session_state", &request->state); -#ifdef WITH_PROXY - if (request->proxy) { - mruby_set_vps(request, mrb, mruby_request, "@proxy_request", &request->proxy->packet->vps); - mruby_set_vps(request, mrb, mruby_request, "@proxy_reply", &request->proxy->reply->vps); - } -#endif DIAG_OFF(class-varargs) mruby_result = mrb_funcall(mrb, mrb_obj_value(inst->mruby_module), function_name, 1, mruby_request); @@ -487,10 +481,6 @@ RLM_MRUBY_FUNC(post_auth) RLM_MRUBY_FUNC(preacct) RLM_MRUBY_FUNC(accounting) #endif -#ifdef WITH_PROXY -RLM_MRUBY_FUNC(pre_proxy) -RLM_MRUBY_FUNC(post_proxy) -#endif #ifdef WITH_COA RLM_MRUBY_FUNC(recv_coa) RLM_MRUBY_FUNC(send_coa) @@ -536,10 +526,6 @@ module_t rlm_mruby = { [MOD_PREACCT] = mod_preacct, [MOD_ACCOUNTING] = mod_accounting, #endif -#ifdef WITH_PROXY - [MOD_PRE_PROXY] = mod_pre_proxy, - [MOD_POST_PROXY] = mod_post_proxy, -#endif #ifdef WITH_COA [MOD_RECV_COA] = mod_recv_coa, [MOD_SEND_COA] = mod_send_coa, diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 43205b974f8..d851cf004ec 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -63,10 +63,6 @@ typedef struct { char const *func_preacct; char const *func_detach; char const *func_xlat; -#ifdef WITH_PROXY - char const *func_pre_proxy; - char const *func_post_proxy; -#endif char const *func_post_auth; #ifdef WITH_COA char const *func_recv_coa; @@ -105,10 +101,6 @@ static const CONF_PARSER module_config[] = { RLM_PERL_CONF(detach), RLM_PERL_CONF(xlat), -#ifdef WITH_PROXY - RLM_PERL_CONF(pre_proxy), - RLM_PERL_CONF(post_proxy), -#endif #ifdef WITH_COA RLM_PERL_CONF(recv_coa), RLM_PERL_CONF(send_coa), @@ -860,10 +852,6 @@ static int do_perl(void *instance, REQUEST *request, char const *function_name) HV *rad_config_hv; HV *rad_request_hv; HV *rad_state_hv; -#ifdef WITH_PROXY - HV *rad_request_proxy_hv; - HV *rad_request_proxy_reply_hv; -#endif /* * Radius has told us to call this function, but none @@ -903,25 +891,6 @@ static int do_perl(void *instance, REQUEST *request, char const *function_name) perl_store_vps(request, request, &request->control, rad_config_hv, "RAD_CONFIG", "control"); perl_store_vps(request->state_ctx, request, &request->state, rad_state_hv, "RAD_STATE", "session-state"); -#ifdef WITH_PROXY - rad_request_proxy_hv = get_hv("RAD_REQUEST_PROXY",1); - rad_request_proxy_reply_hv = get_hv("RAD_REQUEST_PROXY_REPLY",1); - - if (request->proxy) { - perl_store_vps(request->proxy->packet, request, &request->proxy->packet->vps, rad_request_proxy_hv, - "RAD_REQUEST_PROXY", "proxy-request"); - } else { - hv_undef(rad_request_proxy_hv); - } - - if (request->proxy && request->proxy->reply != NULL) { - perl_store_vps(request->proxy->reply, request, &request->proxy->reply->vps, - rad_request_proxy_reply_hv, "RAD_REQUEST_PROXY_REPLY", "proxy-reply"); - } else { - hv_undef(rad_request_proxy_reply_hv); - } -#endif - /* * Store pointer to request structure globally so radiusd::xlat works */ @@ -981,25 +950,6 @@ static int do_perl(void *instance, REQUEST *request, char const *function_name) request->state = vp; vp = NULL; } - -#ifdef WITH_PROXY - if (request->proxy && - (get_hv_content(request->proxy->packet, request, rad_request_proxy_hv, &vp, - "RAD_REQUEST_PROXY", "proxy-request") == 0)) { - fr_pair_list_free(&request->proxy->packet->vps); - request->proxy->packet->vps = vp; - vp = NULL; - } - - if (request->proxy && request->proxy->reply && - (get_hv_content(request->proxy->reply, request, rad_request_proxy_reply_hv, &vp, - "RAD_REQUEST_PROXY_REPLY", "proxy-reply") == 0)) { - fr_pair_list_free(&request->proxy->reply->vps); - request->proxy->reply->vps = vp; - vp = NULL; - } -#endif - } return exitstatus; } @@ -1014,11 +964,6 @@ RLM_PERL_FUNC(authorize) RLM_PERL_FUNC(authenticate) RLM_PERL_FUNC(post_auth) -#ifdef WITH_PROXY -RLM_PERL_FUNC(pre_proxy) -RLM_PERL_FUNC(post_proxy) -#endif - #ifdef WITH_COA RLM_PERL_FUNC(recv_coa) RLM_PERL_FUNC(send_coa) @@ -1172,10 +1117,6 @@ module_t rlm_perl = { [MOD_AUTHORIZE] = mod_authorize, [MOD_PREACCT] = mod_preacct, [MOD_ACCOUNTING] = mod_accounting, -#ifdef WITH_PROXY - [MOD_PRE_PROXY] = mod_pre_proxy, - [MOD_POST_PROXY] = mod_post_proxy, -#endif [MOD_POST_AUTH] = mod_post_auth, #ifdef WITH_COA [MOD_RECV_COA] = mod_recv_coa,