aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-04-17 14:19:32 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-04-17 14:19:32 +0100
commit0852facdb91ae18d0fe255e575d8fa0fb7c4864c (patch)
tree0fbbe04dacf5f15baf93fb464774809014a7211f /src
parent775530cc7484286079af2ca103fbe4dc351726d9 (diff)
downloadrspamd-0852facdb91ae18d0fe255e575d8fa0fb7c4864c.tar.gz
rspamd-0852facdb91ae18d0fe255e575d8fa0fb7c4864c.zip
Move libraries initialization to a specific routine.
Diffstat (limited to 'src')
-rw-r--r--src/libutil/util.c41
-rw-r--r--src/libutil/util.h5
-rw-r--r--src/main.c42
3 files changed, 46 insertions, 42 deletions
diff --git a/src/libutil/util.c b/src/libutil/util.c
index a001e5ed2..05bf4a31e 100644
--- a/src/libutil/util.c
+++ b/src/libutil/util.c
@@ -2368,3 +2368,44 @@ rspamd_array_free_hard (gpointer p)
g_array_free (ar, TRUE);
}
+
+
+void
+rspamd_init_libs (void)
+{
+ struct rlimit rlim;
+
+ ottery_init (NULL);
+
+ rspamd_cryptobox_init ();
+#ifdef HAVE_SETLOCALE
+ /* Set locale setting to C locale to avoid problems in future */
+ setlocale (LC_ALL, "C");
+ setlocale (LC_CTYPE, "C");
+ setlocale (LC_MESSAGES, "C");
+ setlocale (LC_TIME, "C");
+#endif
+
+#ifdef HAVE_OPENSSL
+ ERR_load_crypto_strings ();
+
+ OpenSSL_add_all_algorithms ();
+ OpenSSL_add_all_digests ();
+ OpenSSL_add_all_ciphers ();
+#endif
+ g_random_set_seed (ottery_rand_uint32 ());
+
+ /* Set stack size for pcre */
+ getrlimit (RLIMIT_STACK, &rlim);
+ rlim.rlim_cur = 100 * 1024 * 1024;
+ setrlimit (RLIMIT_STACK, &rlim);
+
+ rspamd_regexp_library_init ();
+
+ event_init ();
+#ifdef GMIME_ENABLE_RFC2047_WORKAROUNDS
+ g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS);
+#else
+ g_mime_init (0);
+#endif
+}
diff --git a/src/libutil/util.h b/src/libutil/util.h
index 2f58c51b6..b3d7f42e0 100644
--- a/src/libutil/util.h
+++ b/src/libutil/util.h
@@ -455,4 +455,9 @@ void rspamd_ptr_array_free_hard (gpointer p);
*/
void rspamd_array_free_hard (gpointer p);
+/**
+ * Initialize rspamd libraries
+ */
+void rspamd_init_libs (void);
+
#endif
diff --git a/src/main.c b/src/main.c
index 4488f46a2..2b70106d5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1060,46 +1060,6 @@ rspamd_init_main (struct rspamd_main *rspamd)
rspamd_main->history = rspamd_roll_history_new (rspamd_main->server_pool);
}
-static void
-rspamd_init_libs (void)
-{
- struct rlimit rlim;
-
- ottery_init (NULL);
-
- rspamd_cryptobox_init ();
-#ifdef HAVE_SETLOCALE
- /* Set locale setting to C locale to avoid problems in future */
- setlocale (LC_ALL, "C");
- setlocale (LC_CTYPE, "C");
- setlocale (LC_MESSAGES, "C");
- setlocale (LC_TIME, "C");
-#endif
-
-#ifdef HAVE_OPENSSL
- ERR_load_crypto_strings ();
-
- OpenSSL_add_all_algorithms ();
- OpenSSL_add_all_digests ();
- OpenSSL_add_all_ciphers ();
-#endif
- g_random_set_seed (ottery_rand_uint32 ());
-
- /* Set stack size for pcre */
- getrlimit (RLIMIT_STACK, &rlim);
- rlim.rlim_cur = 100 * 1024 * 1024;
- setrlimit (RLIMIT_STACK, &rlim);
-
- rspamd_regexp_library_init ();
-
- event_init ();
-#ifdef GMIME_ENABLE_RFC2047_WORKAROUNDS
- g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS);
-#else
- g_mime_init (0);
-#endif
-}
-
gint
main (gint argc, gchar **argv, gchar **env)
{
@@ -1197,8 +1157,6 @@ main (gint argc, gchar **argv, gchar **env)
exit (EXIT_FAILURE);
}
- /* Init events to test modules */
- event_init ();
res = TRUE;
if (!rspamd_init_filters (rspamd_main->cfg, FALSE)) {