From: Arran Cudbard-Bell Date: Sat, 28 Nov 2020 21:48:33 +0000 (-0700) Subject: Use field names when specifying module methods X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=198d33dabe4989ec56fac00a120d695b3b3f9cc6;p=thirdparty%2Ffreeradius-server.git Use field names when specifying module methods Allows us to add more fields later --- diff --git a/src/lib/server/module.h b/src/lib/server/module.h index c7eb450dbe8..6e24eb9c19a 100644 --- a/src/lib/server/module.h +++ b/src/lib/server/module.h @@ -157,12 +157,13 @@ struct submodule_s { * */ struct module_method_names_s { - char const *name1; - char const *name2; - module_method_t method; + char const *name1; //!< i.e. "recv", "send", "process" + char const *name2; //!< The packet type i.e Access-Request, Access-Reject. + + module_method_t method; //!< Module method to call }; -#define MODULE_NAME_TERMINATOR { .name1 = NULL } +#define MODULE_NAME_TERMINATOR { NULL } /** Struct exported by a rlm_* module * diff --git a/src/modules/rlm_csv/rlm_csv.c b/src/modules/rlm_csv/rlm_csv.c index 20cb5cc8b5e..7d468acfbf3 100644 --- a/src/modules/rlm_csv/rlm_csv.c +++ b/src/modules/rlm_csv/rlm_csv.c @@ -1064,7 +1064,7 @@ module_t rlm_csv = { .instantiate = mod_instantiate, .method_names = (module_method_names_t[]){ - { CF_IDENT_ANY, CF_IDENT_ANY, mod_process }, + { .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_process }, MODULE_NAME_TERMINATOR } diff --git a/src/modules/rlm_files/rlm_files.c b/src/modules/rlm_files/rlm_files.c index 89a50f8f917..39c68600f20 100644 --- a/src/modules/rlm_files/rlm_files.c +++ b/src/modules/rlm_files/rlm_files.c @@ -467,11 +467,11 @@ module_t rlm_files = { * Use mod_authorize for all DHCP processing - for consistent * use of data in the file referenced by "filename" */ - { "recv", "Discover", mod_authorize }, - { "recv", "Request", mod_authorize }, - { "recv", "Inform", mod_authorize }, - { "recv", "Release", mod_authorize }, - { "recv", "Decline", mod_authorize }, + { .name1 = "recv", .name2 = "Discover", .method = mod_authorize }, + { .name1 = "recv", .name2 = "Request", .method = mod_authorize }, + { .name1 = "recv", .name2 = "Inform", .method = mod_authorize }, + { .name1 = "recv", .name2 = "Release", .method = mod_authorize } + { .name1 = "recv", .name2 = "Decline", .method = mod_authorize } MODULE_NAME_TERMINATOR } diff --git a/src/modules/rlm_radius/rlm_radius.c b/src/modules/rlm_radius/rlm_radius.c index 8fddd740f6a..3398bd380e2 100644 --- a/src/modules/rlm_radius/rlm_radius.c +++ b/src/modules/rlm_radius/rlm_radius.c @@ -807,7 +807,7 @@ module_t rlm_radius = { [MOD_AUTHENTICATE] = mod_process, }, .method_names = (module_method_names_t[]){ - { CF_IDENT_ANY, CF_IDENT_ANY, mod_process }, + { .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_process }, MODULE_NAME_TERMINATOR }, }; diff --git a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c index b57dc45abc7..1e2d4bb6028 100644 --- a/src/modules/rlm_redis_ippool/rlm_redis_ippool.c +++ b/src/modules/rlm_redis_ippool/rlm_redis_ippool.c @@ -1415,7 +1415,7 @@ module_t rlm_redis_ippool = { [MOD_POST_AUTH] = mod_post_auth, }, .method_names = (module_method_names_t[]) { - { "recv", "Request", mod_request }, + { .name1 = "recv", .name2 = "Request", .method = mod_request }, MODULE_NAME_TERMINATOR } }; diff --git a/src/modules/rlm_sqlippool/rlm_sqlippool.c b/src/modules/rlm_sqlippool/rlm_sqlippool.c index 429cc68b00f..42b20264257 100644 --- a/src/modules/rlm_sqlippool/rlm_sqlippool.c +++ b/src/modules/rlm_sqlippool/rlm_sqlippool.c @@ -858,16 +858,16 @@ module_t rlm_sqlippool = { [MOD_POST_AUTH] = mod_alloc }, .method_names = (module_method_names_t[]){ - { "recv", "Discover", mod_alloc }, - { "recv", "Request", mod_update }, - { "recv", "Release", mod_release }, - { "recv", "Decline", mod_mark }, - - { "ippool", "alloc", mod_alloc }, - { "ippool", "update", mod_update }, - { "ippool", "release", mod_release }, - { "ippool", "bulk-release", mod_bulk_release }, - { "ippool", "mark", mod_mark }, + { .name1 = "recv", .name2 = "Discover", .method = mod_alloc }, + { .name1 = "recv", .name2 = "Request", .method = mod_update }, + { .name1 = "recv", .name2 = "Release", .method = mod_release }, + { .name1 = "recv", .name2 = "Decline", .method = mod_mark }, + + { .name1 = "ippool", .name2 = "alloc", .method = mod_alloc }, + { .name1 = "ippool", .name2 = "update", .method = mod_update }, + { .name1 = "ippool", .name2 = "release", .method = mod_release }, + { .name1 = "ippool", .name2 = "bulk-release",.method = mod_bulk_release }, + { .name1 = "ippool", .name2 = "mark", .method = mod_mark }, MODULE_NAME_TERMINATOR } diff --git a/src/modules/rlm_test/rlm_test.c b/src/modules/rlm_test/rlm_test.c index 7e2ae270f56..6ca67a00fd6 100644 --- a/src/modules/rlm_test/rlm_test.c +++ b/src/modules/rlm_test/rlm_test.c @@ -385,11 +385,9 @@ module_t rlm_test = { [MOD_ACCOUNTING] = mod_accounting, }, .method_names = (module_method_names_t[]){ - { "recv", "Access-Challenge", mod_return }, -// { "recv", CF_IDENT_ANY, mod_return }, - { "name1_null", NULL, mod_return }, - { "send", CF_IDENT_ANY, mod_return }, -// { CF_IDENT_ANY, CF_IDENT_ANY, mod_return }, + { .name1 = "recv", .name2 = "Access-Challenge", .method = mod_return }, + { .name1 = "name1_null", .name2 = NULL, .method = mod_return }, + { .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_return }, MODULE_NAME_TERMINATOR }