summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.h.in1
-rw-r--r--src/lua/lua_common.c15
2 files changed, 14 insertions, 2 deletions
diff --git a/config.h.in b/config.h.in
index 35293858b..2b9773aea 100644
--- a/config.h.in
+++ b/config.h.in
@@ -193,6 +193,7 @@
#define RSPAMD_RULESDIR "${RULESDIR}"
#define RSPAMD_WWWDIR "${WWWDIR}"
#define RSPAMD_PREFIX "${CMAKE_INSTALL_PREFIX}"
+#define RSPAMD_LIBDIR "${RSPAMD_LIBDIR}"
#define RSPAMD_VERSION_MAJOR "${RSPAMD_VERSION_MAJOR}"
#define RSPAMD_VERSION_MINOR "${RSPAMD_VERSION_MINOR}"
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c
index 2fde26a31..38b6ee81b 100644
--- a/src/lua/lua_common.c
+++ b/src/lua/lua_common.c
@@ -208,7 +208,8 @@ rspamd_lua_set_path (lua_State *L, struct rspamd_config *cfg, GHashTable *vars)
const ucl_object_t *opts;
const gchar *pluginsdir = RSPAMD_PLUGINSDIR,
*rulesdir = RSPAMD_RULESDIR,
- *lualibdir = RSPAMD_LUALIBDIR;
+ *lualibdir = RSPAMD_LUALIBDIR,
+ *libdir = RSPAMD_LIBDIR;
gchar path_buf[PATH_MAX];
@@ -249,6 +250,16 @@ rspamd_lua_set_path (lua_State *L, struct rspamd_config *cfg, GHashTable *vars)
if (t) {
lualibdir = t;
}
+
+ t = g_hash_table_lookup (vars, "LIBDIR");
+ if (t) {
+ libdir = t;
+ }
+
+ t = g_hash_table_lookup (vars, "RSPAMD_LIBDIR");
+ if (t) {
+ libdir = t;
+ }
}
if (additional_path) {
@@ -288,7 +299,7 @@ rspamd_lua_set_path (lua_State *L, struct rspamd_config *cfg, GHashTable *vars)
rspamd_snprintf (path_buf, sizeof (path_buf),
"%s/?.so;"
"%s",
- lualibdir,
+ libdir,
old_path);
lua_pop (L, 1);
lua_pushstring (L, path_buf);