From: Alan T. DeKok Date: Sun, 2 Aug 2020 12:32:41 +0000 (-0400) Subject: remove WITH_ACCOUNTING, but keep all of the accounting code. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0401eaf8a62cff8b8850ebd95220bcedc1bc2b3d;p=thirdparty%2Ffreeradius-server.git remove WITH_ACCOUNTING, but keep all of the accounting code. There were a number of cases where it would still build accounting functionality even when WITH_ACCOUNTING was not used. --- diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile index eada8973ba7..598de3e0294 100644 --- a/doc/doxygen/Doxyfile +++ b/doc/doxygen/Doxyfile @@ -2109,7 +2109,6 @@ INCLUDE_FILE_PATTERNS = *.h # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. PREDEFINED = WITH_PROXY \ - WITH_ACCOUNTING \ WITH_STATS \ HAVE_JSON diff --git a/src/include/features-h b/src/include/features-h index 2097ddead44..461deba6461 100644 --- a/src/include/features-h +++ b/src/include/features-h @@ -7,12 +7,6 @@ */ #ifndef WITHOUT_PROXY # define WITH_PROXY (1) -#else -# define WITHOUT_COA (1) -#endif - -#ifndef WITHOUT_ACCOUNTING -# define WITH_ACCOUNTING (1) #endif #ifndef WITHOUT_STATS diff --git a/src/lib/server/client.h b/src/lib/server/client.h index 4000c20a75a..fa6d3463b3b 100644 --- a/src/lib/server/client.h +++ b/src/lib/server/client.h @@ -104,9 +104,7 @@ struct rad_client { #ifdef WITH_STATS fr_stats_t auth; //!< Authentication stats. -# ifdef WITH_ACCOUNTING fr_stats_t acct; //!< Accounting stats. -# endif #endif fr_time_delta_t response_window; //!< How long the client has to respond. diff --git a/src/lib/server/dependency.c b/src/lib/server/dependency.c index b889723e4ff..d1b8b438177 100644 --- a/src/lib/server/dependency.c +++ b/src/lib/server/dependency.c @@ -353,13 +353,7 @@ void dependency_features_init(CONF_SECTION *cs) { default_feature_cs = cs; - dependency_feature_add(cs, "accounting", -#ifdef WITH_ACCOUNTING - true -#else - false -#endif - ); + dependency_feature_add(cs, "accounting", true); dependency_feature_add(cs, "authentication", true); diff --git a/src/lib/server/stats.c b/src/lib/server/stats.c index f22789fa2d0..b7647848931 100644 --- a/src/lib/server/stats.c +++ b/src/lib/server/stats.c @@ -43,16 +43,12 @@ static fr_time_t hup_time; { 0, 0, 0, 0, 0, 0, 0, 0 }} fr_stats_t radius_auth_stats = FR_STATS_INIT; -#ifdef WITH_ACCOUNTING fr_stats_t radius_acct_stats = FR_STATS_INIT; -#endif #ifdef WITH_PROXY fr_stats_t proxy_auth_stats = FR_STATS_INIT; -#ifdef WITH_ACCOUNTING fr_stats_t proxy_acct_stats = FR_STATS_INIT; #endif -#endif void request_stats_final(REQUEST *request) { @@ -63,9 +59,7 @@ void request_stats_final(REQUEST *request) if (!request->packet) return; if ((request->listener->type != RAD_LISTEN_NONE) && -#ifdef WITH_ACCOUNTING (request->listener->type != RAD_LISTEN_ACCT) && -#endif (request->listener->type != RAD_LISTEN_AUTH)) return; /* don't count statistic requests */ @@ -76,11 +70,7 @@ void request_stats_final(REQUEST *request) #define INC_AUTH(_x) radius_auth_stats._x++;request->listener->stats._x++;request->client->auth._x++; #undef INC_ACCT -#ifdef WITH_ACCOUNTING #define INC_ACCT(_x) radius_acct_stats._x++;request->listener->stats._x++;request->client->acct._x++ -#else -#define INC_ACCT(_x) -#endif /* * Update the statistics. @@ -119,7 +109,6 @@ void request_stats_final(REQUEST *request) INC_AUTH(total_access_challenges); goto auth_stats; -#ifdef WITH_ACCOUNTING case FR_CODE_ACCOUNTING_RESPONSE: INC_ACCT(total_responses); fr_stats_bins(&radius_acct_stats, @@ -129,7 +118,6 @@ void request_stats_final(REQUEST *request) request->packet->timestamp, request->reply->timestamp); break; -#endif /* * No response, it must have been a bad @@ -146,7 +134,6 @@ void request_stats_final(REQUEST *request) break; -#ifdef WITH_ACCOUNTING case FR_CODE_ACCOUNTING_REQUEST: if (request->reply->id == -1) { INC_ACCT(total_bad_authenticators); @@ -154,7 +141,6 @@ void request_stats_final(REQUEST *request) INC_ACCT(total_packets_dropped); } break; -#endif default: break; @@ -177,14 +163,12 @@ void request_stats_final(REQUEST *request) #endif break; -#ifdef WITH_ACCOUNTING case FR_CODE_ACCOUNTING_REQUEST: #if 0 proxy_acct_stats.total_requests += request->proxy->packet->count; request->proxy->home_server->stats.total_requests += request->proxy->packet->count; #endif break; -#endif default: break; @@ -226,7 +210,6 @@ void request_stats_final(REQUEST *request) #endif goto proxy_stats; -#ifdef WITH_ACCOUNTING case FR_CODE_ACCOUNTING_RESPONSE: #if 0 proxy_acct_stats.total_responses++; @@ -239,7 +222,6 @@ void request_stats_final(REQUEST *request) &request->proxy->reply->timestamp); #endif break; -#endif default: #if 0 @@ -299,7 +281,6 @@ static fr_stats2vp proxy_authvp[] = { #endif -#ifdef WITH_ACCOUNTING /* * Accounting */ @@ -326,7 +307,6 @@ static fr_stats2vp proxy_acctvp[] = { { 0, 0 } }; #endif -#endif static fr_stats2vp client_authvp[] = { { FR_FREERADIUS_TOTAL_ACCESS_REQUESTS, offsetof(fr_stats_t, total_requests) }, @@ -342,7 +322,6 @@ static fr_stats2vp client_authvp[] = { { 0, 0 } }; -#ifdef WITH_ACCOUNTING static fr_stats2vp client_acctvp[] = { { FR_FREERADIUS_TOTAL_ACCOUNTING_REQUESTS, offsetof(fr_stats_t, total_requests) }, { FR_FREERADIUS_TOTAL_ACCOUNTING_RESPONSES, offsetof(fr_stats_t, total_responses) }, @@ -353,7 +332,6 @@ static fr_stats2vp client_acctvp[] = { { FR_FREERADIUS_TOTAL_ACCT_UNKNOWN_TYPES, offsetof(fr_stats_t, total_unknown_types) }, { 0, 0 } }; -#endif #define ADD_TO_REPLY(_attr, _vendor) \ do { \ @@ -400,7 +378,6 @@ void request_stats_reply(REQUEST *request) request_stats_addvp(request, authvp, &radius_auth_stats); } -#ifdef WITH_ACCOUNTING /* * Accounting */ @@ -408,7 +385,6 @@ void request_stats_reply(REQUEST *request) ((flag->vp_uint32 & 0xc0) == 0)) { request_stats_addvp(request, acctvp, &radius_acct_stats); } -#endif #ifdef WITH_PROXY /* @@ -419,7 +395,6 @@ void request_stats_reply(REQUEST *request) request_stats_addvp(request, proxy_authvp, &proxy_auth_stats); } -#ifdef WITH_ACCOUNTING /* * Proxied accounting requests. */ @@ -427,7 +402,6 @@ void request_stats_reply(REQUEST *request) ((flag->vp_uint32 & 0x20) == 0)) { request_stats_addvp(request, proxy_acctvp, &proxy_acct_stats); } -#endif #endif /* @@ -530,12 +504,10 @@ void request_stats_reply(REQUEST *request) request_stats_addvp(request, client_authvp, &client->auth); } -#ifdef WITH_ACCOUNTING if ((flag->vp_uint32 & 0x02) != 0) { request_stats_addvp(request, client_acctvp, &client->acct); } -#endif } /* else client wasn't found, don't echo it back */ } @@ -582,13 +554,11 @@ void request_stats_reply(REQUEST *request) request_stats_addvp(request, authvp, &this->stats); } -#ifdef WITH_ACCOUNTING if (((flag->vp_uint32 & 0x02) != 0) && ((request->listener->type == RAD_LISTEN_ACCT) || (request->listener->type == RAD_LISTEN_NONE))) { request_stats_addvp(request, acctvp, &this->stats); } -#endif } #ifdef WITH_PROXY @@ -668,13 +638,11 @@ void request_stats_reply(REQUEST *request) &home->stats); } -#ifdef WITH_ACCOUNTING if (((flag->vp_uint32 & 0x02) != 0) && (home->type == HOME_TYPE_ACCT)) { request_stats_addvp(request, proxy_acctvp, &home->stats); } -#endif } #endif /* WITH_PROXY */ } diff --git a/src/lib/server/stats.h b/src/lib/server/stats.h index e0fb601e91f..16ba6d0ead9 100644 --- a/src/lib/server/stats.h +++ b/src/lib/server/stats.h @@ -62,15 +62,11 @@ typedef struct { } fr_stats_ema_t; extern fr_stats_t radius_auth_stats; -#ifdef WITH_ACCOUNTING extern fr_stats_t radius_acct_stats; -#endif #ifdef WITH_PROXY extern fr_stats_t proxy_auth_stats; -#ifdef WITH_ACCOUNTING extern fr_stats_t proxy_acct_stats; #endif -#endif void radius_stats_init(int flag); void request_stats_final(REQUEST *request); diff --git a/src/modules/rlm_couchbase/rlm_couchbase.c b/src/modules/rlm_couchbase/rlm_couchbase.c index 7409c8dc81d..00e5d191cd7 100644 --- a/src/modules/rlm_couchbase/rlm_couchbase.c +++ b/src/modules/rlm_couchbase/rlm_couchbase.c @@ -55,11 +55,11 @@ static const CONF_PARSER module_config[] = { { FR_CONF_OFFSET("bucket", FR_TYPE_STRING | FR_TYPE_REQUIRED, rlm_couchbase_t, bucket) }, { FR_CONF_OFFSET("username", FR_TYPE_STRING, rlm_couchbase_t, username) }, { FR_CONF_OFFSET("password", FR_TYPE_STRING, rlm_couchbase_t, password) }, -#ifdef WITH_ACCOUNTING + { FR_CONF_OFFSET("acct_key", FR_TYPE_TMPL, rlm_couchbase_t, acct_key), .dflt = "radacct_%{%{Acct-Unique-Session-Id}:-%{Acct-Session-Id}}", .quote = T_DOUBLE_QUOTED_STRING }, { FR_CONF_OFFSET("doctype", FR_TYPE_STRING, rlm_couchbase_t, doctype), .dflt = "radacct" }, { FR_CONF_OFFSET("expire", FR_TYPE_UINT32, rlm_couchbase_t, expire), .dflt = 0 }, -#endif + { FR_CONF_OFFSET("user_key", FR_TYPE_TMPL, rlm_couchbase_t, user_key), .dflt = "raduser_%{md5:%{tolower:%{%{Stripped-User-Name}:-%{User-Name}}}}", .quote = T_DOUBLE_QUOTED_STRING }, { FR_CONF_OFFSET("read_clients", FR_TYPE_BOOL, rlm_couchbase_t, read_clients) }, /* NULL defaults to "no" */ { FR_CONF_POINTER("client", FR_TYPE_SUBSECTION, NULL), .subcs = (void const *) client_config }, @@ -220,7 +220,6 @@ finish: return rcode; } -#ifdef WITH_ACCOUNTING /** Write accounting data to Couchbase documents * * Handle accounting requests and store the associated data into JSON documents @@ -410,7 +409,6 @@ finish: /* return */ return rcode; } -#endif /** Detach the module @@ -576,8 +574,6 @@ module_t rlm_couchbase = { .detach = mod_detach, .methods = { [MOD_AUTHORIZE] = mod_authorize, -#ifdef WITH_ACCOUNTING [MOD_ACCOUNTING] = mod_accounting, -#endif }, }; diff --git a/src/modules/rlm_example/rlm_example.c b/src/modules/rlm_example/rlm_example.c index 7a2599f0e33..390bf9d81fe 100644 --- a/src/modules/rlm_example/rlm_example.c +++ b/src/modules/rlm_example/rlm_example.c @@ -154,7 +154,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_authenticate(UNUSED module_ctx_t const * return RLM_MODULE_OK; } -#ifdef WITH_ACCOUNTING /* * Massage the request before recording it or proxying it */ @@ -170,7 +169,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(UNUSED module_ctx_t const *mc { return RLM_MODULE_OK; } -#endif /* @@ -204,9 +202,7 @@ module_t rlm_example = { .methods = { [MOD_AUTHENTICATE] = mod_authenticate, [MOD_AUTHORIZE] = mod_authorize, -#ifdef WITH_ACCOUNTING [MOD_PREACCT] = mod_preacct, [MOD_ACCOUNTING] = mod_accounting, -#endif }, }; diff --git a/src/modules/rlm_lua/lua.h b/src/modules/rlm_lua/lua.h index 391a02a13e5..a57514a0668 100644 --- a/src/modules/rlm_lua/lua.h +++ b/src/modules/rlm_lua/lua.h @@ -54,10 +54,8 @@ typedef struct { const char *func_authorize; //!< Name of function to run on authorization. const char *func_authenticate; //!< Name of function to run on authentication. -#ifdef WITH_ACCOUNTING const char *func_preacct; //!< Name of function to run on preacct. const char *func_accounting; //!< Name of function to run on accounting. -#endif const char *func_post_auth; //!< Name of function to run after authentication. const char *func_xlat; //!< Name of function to be called for string expansions. } rlm_lua_t; diff --git a/src/modules/rlm_lua/rlm_lua.c b/src/modules/rlm_lua/rlm_lua.c index 62859a5fd39..1161b2e70fc 100644 --- a/src/modules/rlm_lua/rlm_lua.c +++ b/src/modules/rlm_lua/rlm_lua.c @@ -48,10 +48,8 @@ static const CONF_PARSER module_config[] = { { FR_CONF_OFFSET("func_detach", FR_TYPE_STRING, rlm_lua_t, func_detach), NULL}, { FR_CONF_OFFSET("func_authorize", FR_TYPE_STRING, rlm_lua_t, func_authorize), NULL}, { FR_CONF_OFFSET("func_authenticate", FR_TYPE_STRING, rlm_lua_t, func_authenticate), NULL}, -#ifdef WITH_ACCOUNTING { FR_CONF_OFFSET("func_accounting", FR_TYPE_STRING, rlm_lua_t, func_accounting), NULL}, { FR_CONF_OFFSET("func_preacct", FR_TYPE_STRING, rlm_lua_t, func_preacct), NULL}, -#endif { FR_CONF_OFFSET("func_xlat", FR_TYPE_STRING, rlm_lua_t, func_xlat), NULL}, { FR_CONF_OFFSET("func_post_auth", FR_TYPE_STRING, rlm_lua_t, func_post_auth), NULL}, diff --git a/src/modules/rlm_mruby/rlm_mruby.c b/src/modules/rlm_mruby/rlm_mruby.c index 0d2eb7c2299..0fc8f92a80d 100644 --- a/src/modules/rlm_mruby/rlm_mruby.c +++ b/src/modules/rlm_mruby/rlm_mruby.c @@ -477,10 +477,8 @@ DIAG_ON(class-varargs) RLM_MRUBY_FUNC(authorize) RLM_MRUBY_FUNC(authenticate) RLM_MRUBY_FUNC(post_auth) -#ifdef WITH_ACCOUNTING RLM_MRUBY_FUNC(preacct) RLM_MRUBY_FUNC(accounting) -#endif /* @@ -518,9 +516,7 @@ module_t rlm_mruby = { [MOD_AUTHENTICATE] = mod_authenticate, [MOD_AUTHORIZE] = mod_authorize, [MOD_POST_AUTH] = mod_post_auth, -#ifdef WITH_ACCOUNTING [MOD_PREACCT] = mod_preacct, [MOD_ACCOUNTING] = mod_accounting, -#endif }, }; diff --git a/src/modules/rlm_radutmp/rlm_radutmp.c b/src/modules/rlm_radutmp/rlm_radutmp.c index 3417acf7d72..23dc6ccaeb3 100644 --- a/src/modules/rlm_radutmp/rlm_radutmp.c +++ b/src/modules/rlm_radutmp/rlm_radutmp.c @@ -101,7 +101,6 @@ fr_dict_attr_autoload_t rlm_radutmp_dict_attr[] = { { NULL } }; -#ifdef WITH_ACCOUNTING /* * Zap all users on a NAS from the radutmp file. */ @@ -547,7 +546,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(module_ctx_t const *mctx, REQ return rcode; } -#endif /* globally exported name */ extern module_t rlm_radutmp; @@ -558,9 +556,7 @@ module_t rlm_radutmp = { .inst_size = sizeof(rlm_radutmp_t), .config = module_config, .methods = { -#ifdef WITH_ACCOUNTING [MOD_ACCOUNTING] = mod_accounting, -#endif }, }; diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index ca91dfa0d51..e4e25198ac8 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -1588,8 +1588,6 @@ finish: return rcode; } -#ifdef WITH_ACCOUNTING - /* * Accounting: Insert or update session data in our sql table */ @@ -1604,8 +1602,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(module_ctx_t const *mctx, REQ return RLM_MODULE_NOOP; } -#endif - /* * Postauth: Write a record of the authentication attempt */ @@ -1637,9 +1633,7 @@ module_t rlm_sql = { .detach = mod_detach, .methods = { [MOD_AUTHORIZE] = mod_authorize, -#ifdef WITH_ACCOUNTING [MOD_ACCOUNTING] = mod_accounting, -#endif [MOD_POST_AUTH] = mod_post_auth }, }; diff --git a/src/modules/rlm_test/rlm_test.c b/src/modules/rlm_test/rlm_test.c index c1969ab1608..30e5de21aa2 100644 --- a/src/modules/rlm_test/rlm_test.c +++ b/src/modules/rlm_test/rlm_test.c @@ -303,7 +303,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_authenticate(module_ctx_t const *mctx, U return RLM_MODULE_OK; } -#ifdef WITH_ACCOUNTING /* * Massage the request before recording it or proxying it */ @@ -327,7 +326,6 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(module_ctx_t const *mctx, UNU return RLM_MODULE_OK; } -#endif /* * Write accounting information to this modules database. @@ -367,10 +365,8 @@ module_t rlm_test = { .methods = { [MOD_AUTHENTICATE] = mod_authenticate, [MOD_AUTHORIZE] = mod_authorize, -#ifdef WITH_ACCOUNTING [MOD_PREACCT] = mod_preacct, [MOD_ACCOUNTING] = mod_accounting, -#endif }, .method_names = (module_method_names_t[]){ { "recv", "Access-Challenge", mod_return },