#include <freeradius-devel/util/event.h>
typedef struct module_s module_t;
-typedef struct module_method_names_s module_method_names_t;
+typedef struct module_method_name_s module_method_name_t;
typedef struct module_instance_s module_instance_t;
typedef struct module_thread_instance_s module_thread_instance_t;
typedef struct module_list_t module_list_t;
/** Named methods exported by a module
*
*/
-struct module_method_names_s {
+struct module_method_name_s {
char const *name1; //!< i.e. "recv", "send", "process"
char const *name2; //!< The packet type i.e Access-Request, Access-Reject.
size_t len;
int j;
module_instance_t *mi;
- module_method_names_t const *methods;
+ module_method_name_t const *methods;
char const *method_name1, *method_name2;
module_rlm_t const *mrlm;
typedef struct {
module_t common; //!< Common fields presented by all modules.
- module_method_names_t const *method_names; //!< named methods
+ module_method_name_t const *method_names; //!< named methods
fr_dict_t const **dict; //!< pointer to local fr_dict_t*
} module_rlm_t;
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_always_return },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "status", .name2 = CF_IDENT_ANY, .method = mod_method_status },
{ .name1 = "load", .name2 = CF_IDENT_ANY, .method = mod_method_load },
{ .name1 = "store", .name2 = CF_IDENT_ANY, .method = mod_method_store },
.instantiate = mod_instantiate
},
.dict = &dict_radius,
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "access-request", .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.onload = mod_load,
.unload = mod_unload
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_authorize },
MODULE_NAME_TERMINATOR
}
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
MODULE_NAME_TERMINATOR
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_process },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.bootstrap = mod_bootstrap
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_delay },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "accounting-request", .method = mod_accounting },
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
.thread_inst_type = "rlm_dhcpv4_thread_t",
.thread_instantiate = mod_thread_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_process },
MODULE_NAME_TERMINATOR
},
.instantiate = mod_instantiate,
},
.dict = &dict_radius,
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "access-request", .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "access-request", .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_post_auth },
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_exec_dispatch },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_post_auth },
MODULE_NAME_TERMINATOR
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instatiate,
.thread_detach = mod_thread_detach,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_do_linelog },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_authorize },
MODULE_NAME_TERMINATOR
}
.instantiate = mod_instantiate,
.thread_instantiate = mod_thread_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_insert_logtee },
MODULE_NAME_TERMINATOR
}
.detach = mod_detach,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.type = MODULE_TYPE_THREAD_SAFE,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_passwd_map },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.bootstrap = mod_bootstrap,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_process },
MODULE_NAME_TERMINATOR
},
.inst_size = sizeof(rlm_radutmp_t),
.config = module_config
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
MODULE_NAME_TERMINATOR
}
.onload = mod_load,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* RADIUS specific
*/
.onload = mod_load,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_authorize },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.unload = mod_unload,
.bootstrap = mod_bootstrap
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_post_auth },
MODULE_NAME_TERMINATOR
.config = module_config,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_sometimes_reply },
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_sometimes_packet },
MODULE_NAME_TERMINATOR
.instantiate = mod_instantiate,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
/*
* Hack to support old configurations
*/
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate,
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_authorize},
MODULE_NAME_TERMINATOR
}
.bootstrap = mod_bootstrap,
.instantiate = mod_instantiate
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_alloc },
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_stats },
MODULE_NAME_TERMINATOR
}
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "accounting-request", .method = mod_preacct },
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
.name = "totp",
.type = MODULE_TYPE_THREAD_SAFE
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
}
.config = module_config,
.bootstrap = mod_bootstrap
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "access-request", .method = mod_authorize },
{ .name1 = "accounting", .name2 = CF_IDENT_ANY, .method = mod_accounting },
MODULE_NAME_TERMINATOR
.name = "utf8",
.type = MODULE_TYPE_THREAD_SAFE
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = CF_IDENT_ANY, .name2 = CF_IDENT_ANY, .method = mod_utf8_clean },
MODULE_NAME_TERMINATOR
}
.config = module_config,
},
.dict = &dict_radius,
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "accounting-request", .method = mod_preacct },
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_post_auth },
.bootstrap = mod_bootstrap,
.detach = mod_detach
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
.detach = mod_detach,
#endif
},
- .method_names = (module_method_names_t[]){
+ .method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "access-request", .method = mod_authorize },
{ .name1 = "authenticate", .name2 = CF_IDENT_ANY, .method = mod_authenticate },
MODULE_NAME_TERMINATOR
-# .methods = {
-# [MOD_AUTHENTICATE] = mod_authenticate,
-# [MOD_AUTHORIZE] = mod_authorize,
-# [MOD_PREACCT] = mod_preacct,
-# [MOD_ACCOUNTING] = mod_accounting,
-# },
-# .method_names = (module_method_names_t[]){
+# .method_names = (module_method_name_t[]){
# { .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 },