]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Start stripping proxy lists
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 8 May 2020 18:07:27 +0000 (13:07 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 8 May 2020 18:07:33 +0000 (13:07 -0500)
src/lib/server/tmpl.c
src/lib/server/tmpl.h
src/modules/rlm_files/rlm_files.c
src/modules/rlm_mruby/rlm_mruby.c
src/modules/rlm_perl/rlm_perl.c

index 366fd2ca5cce5b6c0b118c6d795727603ac5c470..d00b2199c0e7494ea859553111aa7329e325c1ec 100644 (file)
@@ -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;
index 02aa33fd8f70a212424efc78a35c31b160f7e1fc..e04433989b291f4d08bc9c7386942db784e2365b 100644 (file)
@@ -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;
 
index dbffa4324a378c7d31660443ba6dce469b4a0278..31d36f57e0344e3efd4fcd77822c386d2ed9ed67 100644 (file)
@@ -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
        },
 };
index 7bbd08b5e8e8e0c15d9cdcc12a6cfc158a1899d5..57b5646477a5f0ae9eed4132e35125278f098eb1 100644 (file)
@@ -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,
index 43205b974f827a735c8115d30b5c29d26e1b053e..d851cf004ec28e657202116f0815f71ead171519 100644 (file)
@@ -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,