From: Alan T. DeKok Date: Wed, 13 Sep 2023 22:40:11 +0000 (-0400) Subject: remove "flatten" migration flags X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a44bfb2ba8fe8f8283bdba5a3faa3c48db145361;p=thirdparty%2Ffreeradius-server.git remove "flatten" migration flags --- diff --git a/raddb/radiusd.conf.in b/raddb/radiusd.conf.in index fc706f97284..71f03be2091 100644 --- a/raddb/radiusd.conf.in +++ b/raddb/radiusd.conf.in @@ -597,40 +597,6 @@ global { # `-S flag=value`. # migrate { - # - # flatten_after_decode:: Convert "nested" attribute lists to - # "flat" ones after the protocol decoders have run, but - # before any `unlang` policies are used. - # - flatten_after_decode = yes - - # - # flatten_before_encode:: Convert "nested" attribute lists to - # "flat" ones before calling the protocol encoders. - # - flatten_before_encode = yes - - # - # unflatten_after_decode:: Convert "flat" attribute lists to - # "nested" ones after the protocol decoders have run, but - # before any `unlang` policies are used. - # - # Some protocol decoders still produce "flat" attribute - # lists. This is in large part because many of the core - # modules still expect to see "flat" lists. - # - unflatten_after_decode = no - - # - # unflatten_before_encode:: Convert "flat" attribute lists to - # "nested" ones before calling the protocol encoders. - # - # All of the protocol encoders currently handle flat or - # nested attributes. This flag should be forced to `true`, - # and the "flat" code removed from the protocol encoders. - # - unflatten_before_encode = false - # # tmpl_tokenize_all_nested:: Create all internal "tmpl" data # structures as using nested structures instead of flat ones. diff --git a/src/bin/radiusd.c b/src/bin/radiusd.c index e482826eb24..c7f2f085576 100644 --- a/src/bin/radiusd.c +++ b/src/bin/radiusd.c @@ -844,10 +844,6 @@ int main(int argc, char *argv[]) #define COPY(_x) schedule->worker._x = config->_x COPY(max_requests); COPY(max_request_time); - COPY(unflatten_after_decode); - COPY(unflatten_before_encode); - COPY(flatten_after_decode); - COPY(flatten_before_encode); /* * Single server mode: use the global event list. diff --git a/src/lib/io/worker.c b/src/lib/io/worker.c index 8db41e13f0b..230d465df10 100644 --- a/src/lib/io/worker.c +++ b/src/lib/io/worker.c @@ -670,13 +670,6 @@ static void worker_send_reply(fr_worker_t *worker, request_t *request, bool send ssize_t slen = 0; fr_listen_t const *listen = request->async->listen; - if (worker->config.unflatten_before_encode) { - fr_pair_unflatten(request->pair_list.reply); - - } else if (worker->config.flatten_before_encode) { - fr_pair_flatten(request->pair_list.reply); - } - if (listen->app_io->encode) { slen = listen->app_io->encode(listen->app_io_instance, request, reply->m.data, reply->m.rb_size); @@ -857,13 +850,6 @@ nak: return; } - if (worker->config.unflatten_after_decode) { - fr_pair_unflatten(request->pair_list.request); - - } else if (worker->config.flatten_after_decode) { - fr_pair_flatten(request->pair_list.request); - } - /* * Set the entry point for this virtual server. */ diff --git a/src/lib/io/worker.h b/src/lib/io/worker.h index 8eee4da4644..fb138f84a40 100644 --- a/src/lib/io/worker.h +++ b/src/lib/io/worker.h @@ -65,12 +65,6 @@ typedef struct { fr_time_delta_t max_request_time; //!< maximum time a request can be processed - bool unflatten_after_decode; //!< the worker will call "unflatten" after protocol decoding - bool unflatten_before_encode; //!< the worker will call "unflatten" before all encoding - - bool flatten_after_decode; //!< the worker will call "flatten" after protocol decoding - bool flatten_before_encode; //!< the worker will call "flatten" before all encoding - size_t talloc_pool_size; //!< for each request } fr_worker_config_t; diff --git a/src/lib/server/main_config.c b/src/lib/server/main_config.c index eafc60bce60..3712556b81f 100644 --- a/src/lib/server/main_config.c +++ b/src/lib/server/main_config.c @@ -188,10 +188,6 @@ static const CONF_PARSER thread_config[] = { * Migration configuration. */ static const CONF_PARSER migrate_config[] = { - { FR_CONF_OFFSET("unflatten_after_decode", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, unflatten_after_decode) }, - { FR_CONF_OFFSET("unflatten_before_encode", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, unflatten_before_encode) }, - { FR_CONF_OFFSET("flatten_after_decode", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, flatten_after_decode), .dflt = "yes" }, - { FR_CONF_OFFSET("flatten_before_encode", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, flatten_before_encode), .dflt = "yes" }, { FR_CONF_OFFSET("tmpl_tokenize_all_nested", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, tmpl_tokenize_all_nested) }, { FR_CONF_OFFSET("rewrite_update", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, rewrite_update) }, { FR_CONF_OFFSET("forbid_update", FR_TYPE_BOOL | FR_TYPE_HIDDEN, main_config_t, forbid_update) }, @@ -1261,24 +1257,6 @@ do {\ goto failure; } - /* - * Handle migration. - * - * If all of the tmpls are tokenized as nested, then we - * MUST use the new conditions. The old conditions can't - * handle nested attributes. - * - * Similarly, we MUST NOT flatten the attributes after - * decoding, or before encoding. The code should handle everything correctly. - */ - if (config->tmpl_tokenize_all_nested) { - config->flatten_after_decode = false; - config->flatten_before_encode = false; - - config->unflatten_after_decode = false; - config->unflatten_before_encode = false; - } - /* * If there was no log destination set on the command line, * set it now. diff --git a/src/lib/server/main_config.h b/src/lib/server/main_config.h index b579936c9a8..791ea6987a8 100644 --- a/src/lib/server/main_config.h +++ b/src/lib/server/main_config.h @@ -159,10 +159,6 @@ struct main_config_s { /* * Migration tools */ - bool unflatten_after_decode; //!< the worker will call "unflatten" after protocol decoding - bool unflatten_before_encode; //!< the worker will call "unflatten" before all encoding - bool flatten_after_decode; //!< the worker will call "flatten" after protocol decoding - bool flatten_before_encode; //!< the worker will call "flatten" before all encoding bool tmpl_tokenize_all_nested; //!< tmpl_tokenize will create nested tmpls instead of flat ones bool rewrite_update; //!< rewrite "update" to be new edit sections bool forbid_update; //!< forbid "update" sections