*
*/
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
*
.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
}
* 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
}
[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
},
};
[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
}
};
[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
}
[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
}