if (plugin_list != NULL) {
ns_hook_data_t hookdata = {
- .pluginregister_ctx = { .source = NS_HOOKSOURCE_VIEW }
+ .pluginctx = { .source = NS_HOOKSOURCE_VIEW }
};
INSIST(view->hooktable == NULL);
if (tpluginlist != NULL || zpluginlist != NULL) {
ns_hook_data_t hookdata = {
- .pluginregister_ctx = { .source = NS_HOOKSOURCE_ZONE,
- .origin = dns_zone_getorigin(
- zone) }
+ .pluginctx = { .source = NS_HOOKSOURCE_ZONE,
+ .origin = dns_zone_getorigin(zone) }
};
isc_mem_t *zmctx = dns_zone_getmctx(zone);
isc_result_t
plugin_register(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- ns_hooktable_t *hooktable, const ns_pluginregister_ctx_t *ctx,
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
void **instp) {
filter_instance_t *inst = NULL;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t
plugin_check(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- const ns_pluginregister_ctx_t *ctx ISC_ATTR_UNUSED) {
+ const ns_pluginctx_t *ctx ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
cfg_parser_t *parser = NULL;
cfg_obj_t *param_obj = NULL;
isc_result_t
plugin_register(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- ns_hooktable_t *hooktable, const ns_pluginregister_ctx_t *ctx,
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
void **instp) {
filter_instance_t *inst = NULL;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t
plugin_check(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- const ns_pluginregister_ctx_t *ctx ISC_ATTR_UNUSED) {
+ const ns_pluginctx_t *ctx ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
cfg_parser_t *parser = NULL;
cfg_obj_t *param_obj = NULL;
isc_result_t
plugin_register(const char *parameters, const void *cfg, const char *cfgfile,
- unsigned long cfgline, isc_mem_t *mctx, void *actx,
- ns_hooktable_t *hooktable, const ns_pluginregister_ctx_t *ctx,
+ unsigned long cfgline, isc_mem_t *mctx, void *aclctx,
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
void **instp) {
synthrecord_t *inst = NULL;
ns_hook_t hook;
REQUIRE(cfg);
REQUIRE(mctx);
- REQUIRE(actx);
+ REQUIRE(aclctx);
REQUIRE(hooktable);
REQUIRE(instp && *instp == NULL);
isc_mem_attach(mctx, &inst->mctx);
result = ISC_R_SUCCESS;
result = synthrecord_parseconfig(inst, parameters, cfg, cfgfile,
- cfgline, actx, ctx->origin);
+ cfgline, aclctx, ctx->origin);
hook = (ns_hook_t){ .action = synthrecord_entry, .action_data = inst };
ns_hook_add(hooktable, mctx, NS_QUERY_NXDOMAIN_BEGIN, &hook);
isc_result_t
plugin_check(const char *parameters, const void *cfg, const char *cfgfile,
- unsigned long cfgline, isc_mem_t *mctx, void *actx,
- const ns_pluginregister_ctx_t *ctx) {
+ unsigned long cfgline, isc_mem_t *mctx, void *aclctx,
+ const ns_pluginctx_t *ctx) {
isc_result_t result;
synthrecord_t *inst = NULL;
const dns_name_t *zname = (ctx == NULL) ? NULL : ctx->origin;
isc_mem_attach(mctx, &inst->mctx);
result = synthrecord_parseconfig(inst, parameters, cfg, cfgfile,
- cfgline, actx, zname);
+ cfgline, aclctx, zname);
plugin_destroy((void **)&inst);
return result;
isc_result_t
plugin_register(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- ns_hooktable_t *hooktable, const ns_pluginregister_ctx_t *ctx,
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
void **instp) {
async_instance_t *inst = NULL;
isc_result_t
plugin_check(const char *parameters, const void *cfg, const char *cfg_file,
unsigned long cfg_line, isc_mem_t *mctx, void *aclctx,
- const ns_pluginregister_ctx_t *ctx) {
+ const ns_pluginctx_t *ctx) {
UNUSED(parameters);
UNUSED(cfg);
UNUSED(cfg_file);
isc_result_t
plugin_register(const char *parameters, const void *cfg, const char *cfgfile,
unsigned long cfgline, isc_mem_t *mctx, void *aclctx,
- ns_hooktable_t *hooktable, const ns_pluginregister_ctx_t *ctx,
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
void **instp) {
isc_result_t result;
cfg_parser_t *parser = NULL;
isc_result_t
plugin_check(const char *parameters, const void *cfg, const char *cfgfile,
unsigned long cfgline, isc_mem_t *mctx, void *aclctx,
- const ns_pluginregister_ctx_t *ctx) {
+ const ns_pluginctx_t *ctx) {
UNUSED(parameters);
UNUSED(cfg);
UNUSED(cfgfile);
cfg_aclconfctx_t *aclctx;
ns_hooksource_t source;
isc_result_t *check_result;
- const ns_pluginregister_ctx_t *ctx;
+ const ns_pluginctx_t *ctx;
};
/*%
cfg_aclconfctx_t *aclctx, const dns_name_t *zname,
isc_mem_t *mctx) {
isc_result_t result = ISC_R_SUCCESS;
- ns_pluginregister_ctx_t ctx = {
+ ns_pluginctx_t ctx = {
.source = (zname == NULL) ? NS_HOOKSOURCE_VIEW
: NS_HOOKSOURCE_ZONE,
.origin = zname,
isc_log_write(NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_HOOKS, ISC_LOG_INFO,
"registering plugin '%s'", modpath);
- INSIST(hookdata->pluginregister_ctx.source != NS_HOOKSOURCE_UNDEFINED);
+ INSIST(hookdata->pluginctx.source != NS_HOOKSOURCE_UNDEFINED);
CHECK(plugin->check_func(parameters, cfg, cfg_file, cfg_line, mctx,
- aclctx, &hookdata->pluginregister_ctx));
+ aclctx, &hookdata->pluginctx));
CHECK(plugin->register_func(parameters, cfg, cfg_file, cfg_line, mctx,
aclctx, hookdata->hooktable,
- &hookdata->pluginregister_ctx,
- &plugin->inst));
+ &hookdata->pluginctx, &plugin->inst));
ISC_LIST_APPEND(*hookdata->plugins, plugin, link);
isc_result_t
ns_plugin_check(const char *modpath, const char *parameters, const void *cfg,
const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx,
- void *aclctx, const ns_pluginregister_ctx_t *ctx) {
+ void *aclctx, const ns_pluginctx_t *ctx) {
isc_result_t result;
ns_plugin_t *plugin = NULL;
* instance, bad cookie handling), it would be skipped.
*
* The `plugin_register` function (defined by each plugin and called
- * when the plugin is loaded) has a `ns_pluginregister_ctx_t ctx` parameter.
+ * when the plugin is loaded) has a `ns_pluginctx_t ctx` parameter.
* This provides to the plugin registering function various contextual
* informations about the plugin. For instance, the `ns_hooksource_t source`
* property indicates whether the plugin has been loaded at the zone level
* loaded, it can also be checked to enforce that the plugin is loaded
* only at the zone or view level. Another property is `dns_name_t *origin`
* which indicates the zone name to the plugin if it is loaded at the zone level
- * (this property is NULL otherwise). Note that `ns_pluginregister_ctx_t`
+ * (this property is NULL otherwise). Note that `ns_pluginctx_t`
* parameter is defined in a parent stack frame, thus, it is valid only during
* `plugin_register` execution.
*/
NS_HOOKSOURCE_ZONE
} ns_hooksource_t;
-typedef struct ns_pluginregister_ctx {
+typedef struct ns_pluginctx {
/* is this a zone or a view plugin */
ns_hooksource_t source;
/* origin of the zone if this is a zone plugin, NULL otherwise */
const dns_name_t *origin;
-} ns_pluginregister_ctx_t;
+} ns_pluginctx_t;
typedef struct ns_hook_data {
- ns_hooktable_t *hooktable;
- ns_plugins_t *plugins;
- ns_pluginregister_ctx_t pluginregister_ctx;
+ ns_hooktable_t *hooktable;
+ ns_plugins_t *plugins;
+ ns_pluginctx_t pluginctx;
} ns_hook_data_t;
/*
typedef isc_result_t
ns_plugin_register_t(const char *parameters, const void *cfg, const char *file,
unsigned long line, isc_mem_t *mctx, void *aclctx,
- ns_hooktable_t *hooktable,
- const ns_pluginregister_ctx_t *ctx, void **instp);
+ ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,
+ void **instp);
/*%<
* Called when registering a new plugin.
*
typedef isc_result_t
ns_plugin_check_t(const char *parameters, const void *cfg, const char *file,
unsigned long line, isc_mem_t *mctx, void *aclctx,
- const ns_pluginregister_ctx_t *ctx);
+ const ns_pluginctx_t *ctx);
/*%<
* Check the validity of 'parameters'.
*/
isc_result_t
ns_plugin_check(const char *modpath, const char *parameters, const void *cfg,
const char *cfg_file, unsigned long cfg_line, isc_mem_t *mctx,
- void *aclctx, const ns_pluginregister_ctx_t *ctx);
+ void *aclctx, const ns_pluginctx_t *ctx);
/*%<
* Open the plugin module at 'modpath' and check the validity of
* 'parameters', logging any errors or warnings found, then