From: Vsevolod Stakhov Date: Tue, 29 Dec 2015 17:13:41 +0000 (+0000) Subject: Add options for workers X-Git-Tag: 1.1.0~178 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c98248f120f7795a057b5c2bbd46b90550946abe;p=rspamd.git Add options for workers --- diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index a8fd2ee91..2a35a554e 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -2747,6 +2747,8 @@ rspamd_rcl_register_worker_option (struct rspamd_config *cfg, struct rspamd_worker_param_parser *nhandler; struct rspamd_worker_cfg_parser *nparser; struct rspamd_worker_param_key srch; + const ucl_object_t *doc_workers, *doc_target; + ucl_object_t *doc_obj; nparser = g_hash_table_lookup (cfg->wrk_parsers, &type); @@ -2780,6 +2782,26 @@ rspamd_rcl_register_worker_option (struct rspamd_config *cfg, nhandler->handler = handler; g_hash_table_insert (nparser->parsers, &nhandler->key, nhandler); + + doc_workers = ucl_object_find_key (cfg->doc_strings, "workers"); + + if (doc_workers == NULL) { + doc_obj = ucl_object_typed_new (UCL_OBJECT); + ucl_object_insert_key (cfg->doc_strings, doc_obj, "workers", 0, false); + doc_workers = doc_obj; + } + + doc_target = ucl_object_find_key (doc_workers, g_quark_to_string (type)); + + if (doc_target == NULL) { + doc_obj = ucl_object_typed_new (UCL_OBJECT); + ucl_object_insert_key ((ucl_object_t *)doc_workers, doc_obj, + g_quark_to_string (type), 0, true); + doc_target = doc_obj; + } + + rspamd_rcl_add_doc_obj ((ucl_object_t *)doc_target, doc_string, name, UCL_NULL, + handler, flags); } diff --git a/src/rspamadm/confighelp.c b/src/rspamadm/confighelp.c index 870676e9f..c76f580e7 100644 --- a/src/rspamadm/confighelp.c +++ b/src/rspamadm/confighelp.c @@ -218,6 +218,13 @@ rspamadm_confighelp (gint argc, gchar **argv) exit (1); } + pworker = &workers[0]; + while (*pworker) { + /* Init string quarks */ + (void) g_quark_from_static_string ((*pworker)->name); + pworker++; + } + cfg = rspamd_config_new (); cfg->compiled_modules = modules; cfg->compiled_workers = workers;