.name = "configdump",
.flags = 0,
.help = rspamadm_configdump_help,
- .run = rspamadm_configdump
+ .run = rspamadm_configdump,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
gint i;
context = g_option_context_new (
- "keypair - create encryption keys");
+ "configdump - dumps Rspamd configuration");
g_option_context_set_summary (context,
"Summary:\n Rspamd administration utility version "
RVERSION
.name = "confighelp",
.flags = 0,
.help = rspamadm_confighelp_help,
- .run = rspamadm_confighelp
+ .run = rspamadm_confighelp,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "configtest",
.flags = 0,
.help = rspamadm_configtest_help,
- .run = rspamadm_configtest
+ .run = rspamadm_configtest,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "control",
.flags = 0,
.help = rspamadm_control_help,
- .run = rspamadm_control
+ .run = rspamadm_control,
+ .lua_subrs = NULL,
};
struct rspamadm_control_cbdata {
.name = "dkim_keygen",
.flags = 0,
.help = rspamadm_dkim_keygen_help,
- .run = rspamadm_dkim_keygen
+ .run = rspamadm_dkim_keygen,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "fuzzyconvert",
.flags = 0,
.help = rspamadm_fuzzyconvert_help,
- .run = rspamadm_fuzzyconvert
+ .run = rspamadm_fuzzyconvert,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "fuzzy_merge",
.flags = 0,
.help = rspamadm_fuzzy_merge_help,
- .run = rspamadm_fuzzy_merge
+ .run = rspamadm_fuzzy_merge,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "grep",
.flags = 0,
.help = rspamadm_grep_help,
- .run = rspamadm_grep
+ .run = rspamadm_grep,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "keypair",
.flags = 0,
.help = rspamadm_keypair_help,
- .run = rspamadm_keypair
+ .run = rspamadm_keypair,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "lua",
.flags = 0,
.help = rspamadm_lua_help,
- .run = rspamadm_lua
+ .run = rspamadm_lua,
+ .lua_subrs = NULL,
};
/*
.name = "pw",
.flags = 0,
.help = rspamadm_pw_help,
- .run = rspamadm_pw
+ .run = rspamadm_pw,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
gint err_idx, i, ret;
GString *tb;
gchar str[PATH_MAX];
+ const struct rspamadm_command **cmd;
g_assert (script_name != NULL);
g_assert (res != NULL);
g_assert (L != NULL);
+ /* Init internal rspamadm routines */
+ lua_newtable (L);
+ cmd = commands;
+
+ while (*cmd) {
+ if ((*cmd)->lua_subrs != NULL) {
+ (*cmd)->lua_subrs (L);
+ }
+
+ cmd ++;
+ }
+
+ lua_setglobal (L, "rspamadm");
+
rspamd_snprintf (str, sizeof (str), "return require \"%s.%s\"", "rspamadm",
script_name);
typedef const gchar* (*rspamadm_help_func) (gboolean full_help);
typedef void (*rspamadm_run_func) (gint argc, gchar **argv);
+typedef void (*rspamadm_lua_exports_func) (gpointer lua_state);
#define RSPAMADM_FLAG_NOHELP (1 << 0)
guint flags;
rspamadm_help_func help;
rspamadm_run_func run;
+ rspamadm_lua_exports_func lua_subrs;
};
extern const struct rspamadm_command *commands[];
.name = "signtool",
.flags = 0,
.help = rspamadm_signtool_help,
- .run = rspamadm_signtool
+ .run = rspamadm_signtool,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {
.name = "statconvert",
.flags = 0,
.help = rspamadm_statconvert_help,
- .run = rspamadm_statconvert
+ .run = rspamadm_statconvert,
+ .lua_subrs = NULL,
};
static GOptionEntry entries[] = {