summaryrefslogtreecommitdiff
path: root/libmu_sieve
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-10-19 17:20:42 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-10-19 19:20:31 +0300
commitdc78d43ff77a65e3400af0401142aca2ebb6cd1e (patch)
tree61b7442d72109e743527a19e5e4ae575a749ed2d /libmu_sieve
parentd1339b3ffaa3d82e21c3a36e5bdfccee3246904d (diff)
downloadmailutils-dc78d43ff77a65e3400af0401142aca2ebb6cd1e.tar.gz
mailutils-dc78d43ff77a65e3400af0401142aca2ebb6cd1e.tar.bz2
Convert remaining utilities (except mh) to mu_cli.
* Makefile.am: Remove libmu_argp and libmu_cfg * configure.ac: Likewise. * libmu_argp/: Remove. * libmu_cfg/: Remove. * include/mailutils/Makefile.am (pkginclude_HEADERS): Remove gocs.h, libargp.h, libcfg.h * frm/frm.c: Register tls auth module * frm/from.c: Likewise. * maidag/maidag.c: Likewise. * mail/mail.c: Likewise. * messages/messages.c: Likewise. * movemail/movemail.c: Likewise. * readmsg/readmsg.c: Likewise. * sieve/sieve.c: Likewise. * frm/frm.h: Remove obsolete includes * imap4d/Makefile.am: Update. * imap4d/imap4d.c: Use mu_cli for command line and configuration parsing. * imap4d/imap4d.h: Update. * include/mailutils/gocs.h: Remove. * libmailutils/cfg/gocs.c: Remove. * libmailutils/cfg/Makefile.am: Remove gocs.c * include/mailutils/cli.h (mu_cli_capa_apply): Rename to mu_cli_capa_extend_settings (mu_cli_setup) <inorder, prog_doc_hook>: New fields. * include/mailutils/daemon.h: Remove obsolete includes. * include/mailutils/gsasl.h: Likewise. * include/mailutils/mailutils.h: Update. * include/mailutils/mu_auth.h (mu_auth_mode): New enum (mu_auth_module): Redo structure. * include/mailutils/opt.h (mu_parseopt) <po_prog_doc_hook>: New field. * include/mailutils/sql.h (mu_sql_module_config): New extern. (mu_sql_interface_index): Change proto. * libmailutils/auth/mu_auth.c: Rewrite. * libmailutils/auth/system.c (mu_auth_system_module): Update structure * libmailutils/cli/capa.c (mu_cli_capa_apply): Rename to mu_cli_capa_extend_settings * libmailutils/cli/cli.c: Extend settings from auth modules as well. * libmailutils/opt/help.c (mu_program_help): Invoke po_prog_doc_hook if defined. * libmailutils/opt/opt.c (parseopt_init): Check the MU_PARSEOPT_PROG_DOC_HOOK flag. (find_long_option): Fix recognition of ambiguous options in case of exact match. * libmu_auth/gsasl.c: Add configuration. * libmu_auth/ldap.c: Likewise. * libmu_auth/pam.c: Likewise. * libmu_auth/radius.c: Likewise. * libmu_auth/sql.c: Likewise. * libmu_auth/tls.c: Likewise. * libmu_auth/virtual.c: Likewise. * mu/Makefile.am: Update. * mu/mu.c: Rewrite using mu_cli * mu/mu.h: Likewise. * mu/acl.c: Likewise. * mu/cflags.c: Likewise. * mu/dbm.c: Likewise. * mu/dispatch.c: Likewise. * mu/filter.c: Likewise. * mu/flt2047.c: Likewise. * mu/getans.c: Likewise. * mu/getarg.c: Likewise. * mu/getyn.c: Likewise. * mu/help.c: Likewise. * mu/imap.c: Likewise. * mu/info.c: Likewise. * mu/ldflags.c: Likewise. * mu/logger.c: Likewise. * mu/pop.c: Likewise. * mu/query.c: Likewise. * mu/send.c: Likewise. * mu/shell.c: Likewise. * mu/smtp.c: Likewise. * mu/util.c: Likewise. * mu/verbose.c: Likewise. * mu/wicket.c: Likewise. * pop3d/Makefile.am: Update. * pop3d/pop3d.c: Convert to mu_cli interface. * pop3d/pop3d.h: Likewise. * sql/sql.c (mu_sql_interface_index): Change argument qualifiers.
Diffstat (limited to 'libmu_sieve')
-rw-r--r--libmu_sieve/conf.c62
1 files changed, 31 insertions, 31 deletions
diff --git a/libmu_sieve/conf.c b/libmu_sieve/conf.c
index 15b33aa18..7b9102fc5 100644
--- a/libmu_sieve/conf.c
+++ b/libmu_sieve/conf.c
@@ -29,9 +29,6 @@ mu_list_t mu_sieve_library_path = NULL;
mu_list_t mu_sieve_library_path_prefix = NULL;
mu_debug_handle_t mu_sieve_debug_handle;
-//FIXME: provide definition (from gocs.h)
-static struct mu_gocs_sieve sieve_settings;
-
void
mu_sieve_debug_init (void)
{
@@ -39,6 +36,15 @@ mu_sieve_debug_init (void)
mu_sieve_debug_handle = mu_debug_register_category ("sieve");
}
+struct sieve_settings
+{
+ int clearflags;
+ mu_list_t include_path;
+ mu_list_t library_path_prefix;
+ mu_list_t library_path;
+};
+static struct sieve_settings sieve_settings;
+
/*FIXME: REMOVE BEGIN */
static int
_path_append (void *item, void *data)
@@ -61,33 +67,6 @@ _path_append (void *item, void *data)
return mu_list_append (*plist, p);
}
-int
-mu_sieve_module_init (enum mu_gocs_op op, void *data)
-{
- struct mu_gocs_sieve *p;
- if (!(op == mu_gocs_op_set && data))
- return 0;
- p = data;
-
- if (p->clearflags & MU_SIEVE_CLEAR_INCLUDE_PATH)
- mu_list_destroy (&mu_sieve_include_path);
- mu_list_foreach (p->include_path, _path_append, &mu_sieve_include_path);
- if (p->clearflags & MU_SIEVE_CLEAR_LIBRARY_PATH)
- {
- mu_list_destroy (&mu_sieve_library_path);
- mu_list_destroy (&mu_sieve_library_path_prefix);
- }
- mu_list_foreach (p->library_path_prefix, _path_append,
- &mu_sieve_library_path_prefix);
- mu_list_foreach (p->library_path, _path_append, &mu_sieve_library_path);
- mu_list_destroy (&p->library_path);
- mu_list_destroy (&p->library_path_prefix);
- mu_list_destroy (&p->include_path);
- mu_sieve_debug_init ();
- return 0;
-}
-/* FIXME: REMOVE END */
-
static int
cb_clear_library_path (void *data, mu_config_value_t *val)
{
@@ -238,9 +217,30 @@ static struct mu_option sieve_option[] = {
MU_OPTION_END
};
+static void
+sieve_commit (void *ptr)
+{
+ if (sieve_settings.clearflags & MU_SIEVE_CLEAR_INCLUDE_PATH)
+ mu_list_destroy (&mu_sieve_include_path);
+ mu_list_foreach (sieve_settings.include_path, _path_append, &mu_sieve_include_path);
+ if (sieve_settings.clearflags & MU_SIEVE_CLEAR_LIBRARY_PATH)
+ {
+ mu_list_destroy (&mu_sieve_library_path);
+ mu_list_destroy (&mu_sieve_library_path_prefix);
+ }
+ mu_list_foreach (sieve_settings.library_path_prefix, _path_append,
+ &mu_sieve_library_path_prefix);
+ mu_list_foreach (sieve_settings.library_path, _path_append, &mu_sieve_library_path);
+ mu_list_destroy (&sieve_settings.library_path);
+ mu_list_destroy (&sieve_settings.library_path_prefix);
+ mu_list_destroy (&sieve_settings.include_path);
+ mu_sieve_debug_init ();
+}
+
struct mu_cli_capa mu_cli_capa_sieve = {
"sieve",
sieve_option,
mu_sieve_param,
- NULL, NULL
+ NULL,
+ sieve_commit
};

Return to:

Send suggestions and report system problems to the System administrator.