mail/rspamd:

- Update to 2.0
- Add upstream patches to fix crash due to constructors init order
- Remove sample configuration files as default configuration files are NOT intended for modification by users and SHOULD be overwritten on port upgrade.
- Remove NO_SHARED CMake flag as it is on by default
- Add notes to UPDATING

mail/rspamd-devel:
- Update to 2.1.a1.20191014
- Remove sample configuration files as default configuration files are NOT intended for modification by users and SHOULD be overwritten on port upgrade.
- Add notes to UPDATING

PR:		241204
Submitted by:	Alexander Moisseev <moiseev at mezonplus.ru>
Reported by:	Yasuhiro KIMURA <yasu at utahime.org>
This commit is contained in:
Vsevolod Stakhov 2019-10-14 16:06:01 +00:00
parent 8ae4d27eb3
commit e17ce1f9e4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=514463
12 changed files with 146 additions and 453 deletions

View File

@ -5,6 +5,17 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades. you update your ports collection, before attempting any port upgrades.
20191014:
AFFECTS: users of mail/rspamd, mail/rspamd-devel
AUTHOR: vsevolod@FreeBSD.org
Sample configuration files has been removed as default configuration files
are NOT intended for modification by users and SHOULD be overwritten on
port upgrade.
Make sure the default configuration files are unmodified and migrate all
configuration changes to the proper places, before you continue.
20191002: 20191002:
AFFECTS: users of groff AFFECTS: users of groff
AUTHOR: bapt@FreeBSD.org AUTHOR: bapt@FreeBSD.org

View File

@ -1,7 +1,7 @@
# $FreeBSD$ # $FreeBSD$
PORTNAME= rspamd PORTNAME= rspamd
PORTVERSION= 2.0.a1.20191010 PORTVERSION= 2.1.a1.20191014
CATEGORIES= mail CATEGORIES= mail
PKGNAMESUFFIX= -devel PKGNAMESUFFIX= -devel
@ -51,7 +51,7 @@ CMAKE_ARGS+= -DCONFDIR=${PREFIX}/etc/rspamd \
-DDEBUG=ON \ -DDEBUG=ON \
-DGIT_ID=${GH_TAGNAME} -DGIT_ID=${GH_TAGNAME}
USE_GITHUB= yes USE_GITHUB= yes
GH_TAGNAME= 1bf202d GH_TAGNAME= fe09a19
DEBUG_FLAGS= -g -O0 DEBUG_FLAGS= -g -O0
WITH_DEBUG= yes WITH_DEBUG= yes
@ -70,16 +70,14 @@ CGP_RUN_DEPENDS+= \
p5-EV>=0:devel/p5-EV \ p5-EV>=0:devel/p5-EV \
p5-JSON-XS>=0:converters/p5-JSON-XS p5-JSON-XS>=0:converters/p5-JSON-XS
.include <bsd.port.options.mk>
post-install: post-install:
@${MKDIR} \ @${MKDIR} \
${STAGEDIR}/var/log/rspamd \ ${STAGEDIR}/var/log/rspamd \
${STAGEDIR}/var/db/rspamd \ ${STAGEDIR}/var/db/rspamd \
${STAGEDIR}/var/run/rspamd ${STAGEDIR}/var/run/rspamd
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.conf.sample
# Linux specific # Linux specific
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.systemd.conf ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.systemd.conf
# No need, since rspamd.conf.sample is a same
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.sysvinit.conf ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.sysvinit.conf
# No examples installed by the port # No examples installed by the port
${RMDIR} ${STAGEDIR}/${EXAMPLESDIR} ${RMDIR} ${STAGEDIR}/${EXAMPLESDIR}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1570685523 TIMESTAMP = 1571067018
SHA256 (rspamd-rspamd-2.0.a1.20191010-1bf202d_GH0.tar.gz) = 7f08dedd1253e909da749e2c85bfeb4a6deb74786badc44a64e280c837135beb SHA256 (rspamd-rspamd-2.1.a1.20191014-fe09a19_GH0.tar.gz) = ceee5af2a8a40b7e2fabd9fd57e3be737cc6cbd3d375d93b9252feefc69263de
SIZE (rspamd-rspamd-2.0.a1.20191010-1bf202d_GH0.tar.gz) = 4222899 SIZE (rspamd-rspamd-2.1.a1.20191014-fe09a19_GH0.tar.gz) = 4230877

View File

@ -1,24 +0,0 @@
--- CMakeLists.txt.orig 2019-08-16 17:34:47 UTC
+++ CMakeLists.txt
@@ -1235,6 +1235,21 @@ ENDFOREACH(CONF_FILE)
SET(MAIN_CONF "conf/rspamd.conf")
IF(BUILD_PORT)
INSTALL_IF_NOT_EXISTS(${MAIN_CONF} ${CONFDIR} "rspamd.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/actions.conf" ${CONFDIR} "actions.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/cgp.inc" ${CONFDIR} "cgp.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/common.conf" ${CONFDIR} "common.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/groups.conf" ${CONFDIR} "groups.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/logging.inc" ${CONFDIR} "logging.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/options.inc" ${CONFDIR} "options.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-controller.inc" ${CONFDIR} "worker-controller.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-fuzzy.inc" ${CONFDIR} "worker-fuzzy.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-normal.inc" ${CONFDIR} "worker-normal.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-proxy.inc" ${CONFDIR} "worker-proxy.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/composites.conf" ${CONFDIR} "composites.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/metrics.conf" ${CONFDIR} "metrics.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/modules.conf" ${CONFDIR} "modules.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/settings.conf" ${CONFDIR} "settings.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/statistic.conf" ${CONFDIR} "statistic.conf" ".sample")
ELSE(BUILD_PORT)
INSTALL_IF_NOT_EXISTS(${MAIN_CONF} ${CONFDIR} "rspamd.conf" "")
ENDIF(BUILD_PORT)

View File

@ -7,12 +7,12 @@ bin/rspamd-%%RSPAMDVERSION%%
bin/rspamd_stats bin/rspamd_stats
%%CGP%%bin/rspamd-cgp-helper %%CGP%%bin/rspamd-cgp-helper
etc/newsyslog.conf.d/rspamd.newsyslog.conf etc/newsyslog.conf.d/rspamd.newsyslog.conf
@sample %%ETCDIR%%/actions.conf.sample %%ETCDIR%%/actions.conf
@sample %%ETCDIR%%/cgp.inc.sample %%ETCDIR%%/cgp.inc
@sample %%ETCDIR%%/common.conf.sample %%ETCDIR%%/common.conf
@sample %%ETCDIR%%/composites.conf.sample %%ETCDIR%%/composites.conf
@sample %%ETCDIR%%/groups.conf.sample %%ETCDIR%%/groups.conf
@sample %%ETCDIR%%/logging.inc.sample %%ETCDIR%%/logging.inc
%%ETCDIR%%/maps.d/dmarc_whitelist.inc %%ETCDIR%%/maps.d/dmarc_whitelist.inc
%%ETCDIR%%/maps.d/maillist.inc %%ETCDIR%%/maps.d/maillist.inc
%%ETCDIR%%/maps.d/mid.inc %%ETCDIR%%/maps.d/mid.inc
@ -20,8 +20,8 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/maps.d/redirectors.inc %%ETCDIR%%/maps.d/redirectors.inc
%%ETCDIR%%/maps.d/spf_dkim_whitelist.inc %%ETCDIR%%/maps.d/spf_dkim_whitelist.inc
%%ETCDIR%%/maps.d/surbl-whitelist.inc %%ETCDIR%%/maps.d/surbl-whitelist.inc
@sample %%ETCDIR%%/metrics.conf.sample %%ETCDIR%%/metrics.conf
@sample %%ETCDIR%%/modules.conf.sample %%ETCDIR%%/modules.conf
%%ETCDIR%%/modules.d/antivirus.conf %%ETCDIR%%/modules.d/antivirus.conf
%%ETCDIR%%/modules.d/arc.conf %%ETCDIR%%/modules.d/arc.conf
%%ETCDIR%%/modules.d/asn.conf %%ETCDIR%%/modules.d/asn.conf
@ -66,8 +66,8 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/modules.d/trie.conf %%ETCDIR%%/modules.d/trie.conf
%%ETCDIR%%/modules.d/url_redirector.conf %%ETCDIR%%/modules.d/url_redirector.conf
%%ETCDIR%%/modules.d/whitelist.conf %%ETCDIR%%/modules.d/whitelist.conf
@sample %%ETCDIR%%/options.inc.sample %%ETCDIR%%/options.inc
@sample %%ETCDIR%%/rspamd.conf.sample %%ETCDIR%%/rspamd.conf
@sample %%ETCDIR%%/rspamd.newsyslog.conf.sample @sample %%ETCDIR%%/rspamd.newsyslog.conf.sample
%%ETCDIR%%/scores.d/fuzzy_group.conf %%ETCDIR%%/scores.d/fuzzy_group.conf
%%ETCDIR%%/scores.d/headers_group.conf %%ETCDIR%%/scores.d/headers_group.conf
@ -81,12 +81,12 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/scores.d/subject_group.conf %%ETCDIR%%/scores.d/subject_group.conf
%%ETCDIR%%/scores.d/surbl_group.conf %%ETCDIR%%/scores.d/surbl_group.conf
%%ETCDIR%%/scores.d/whitelist_group.conf %%ETCDIR%%/scores.d/whitelist_group.conf
@sample %%ETCDIR%%/settings.conf.sample %%ETCDIR%%/settings.conf
@sample %%ETCDIR%%/statistic.conf.sample %%ETCDIR%%/statistic.conf
@sample %%ETCDIR%%/worker-controller.inc.sample %%ETCDIR%%/worker-controller.inc
@sample %%ETCDIR%%/worker-fuzzy.inc.sample %%ETCDIR%%/worker-fuzzy.inc
@sample %%ETCDIR%%/worker-normal.inc.sample %%ETCDIR%%/worker-normal.inc
@sample %%ETCDIR%%/worker-proxy.inc.sample %%ETCDIR%%/worker-proxy.inc
lib/rspamd/librspamd-actrie.so lib/rspamd/librspamd-actrie.so
lib/rspamd/librspamd-ev.so lib/rspamd/librspamd-ev.so
lib/rspamd/librspamd-kann.so lib/rspamd/librspamd-kann.so
@ -181,6 +181,7 @@ man/man8/rspamd.8.gz
%%DATADIR%%/lualib/lua_scanners/kaspersky_se.lua %%DATADIR%%/lualib/lua_scanners/kaspersky_se.lua
%%DATADIR%%/lualib/lua_scanners/oletools.lua %%DATADIR%%/lualib/lua_scanners/oletools.lua
%%DATADIR%%/lualib/lua_scanners/p0f.lua %%DATADIR%%/lualib/lua_scanners/p0f.lua
%%DATADIR%%/lualib/lua_scanners/razor.lua
%%DATADIR%%/lualib/lua_scanners/savapi.lua %%DATADIR%%/lualib/lua_scanners/savapi.lua
%%DATADIR%%/lualib/lua_scanners/sophos.lua %%DATADIR%%/lualib/lua_scanners/sophos.lua
%%DATADIR%%/lualib/lua_scanners/spamassassin.lua %%DATADIR%%/lualib/lua_scanners/spamassassin.lua

View File

@ -1,8 +1,7 @@
# $FreeBSD$ # $FreeBSD$
PORTNAME= rspamd PORTNAME= rspamd
PORTVERSION= 1.9.4 PORTVERSION= 2.0
PORTREVISION= 3
CATEGORIES= mail CATEGORIES= mail
MAINTAINER= vsevolod@FreeBSD.org MAINTAINER= vsevolod@FreeBSD.org
@ -12,9 +11,9 @@ LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.md LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libpcre.so:devel/pcre \ LIB_DEPENDS= libpcre.so:devel/pcre \
libevent.so:devel/libevent \
libluajit-5.1.so:lang/luajit \ libluajit-5.1.so:lang/luajit \
libicui18n.so:devel/icu libicui18n.so:devel/icu \
libsodium.so:security/libsodium
BUILD_DEPENDS= ragel:devel/ragel BUILD_DEPENDS= ragel:devel/ragel
RUN_DEPENDS= ca_root_nss>=3.*:security/ca_root_nss RUN_DEPENDS= ca_root_nss>=3.*:security/ca_root_nss
@ -29,22 +28,13 @@ CONFLICTS_INSTALL= rspamd-devel
USERS= rspamd USERS= rspamd
GROUPS= rspamd GROUPS= rspamd
OPTIONS_DEFINE= GPERF GD CGP TORCH_BLAS OPTIONS_DEFINE= CGP GPERF
OPTIONS_DEFINE_amd64= HYPERSCAN OPTIONS_DEFINE_amd64= HYPERSCAN
OPTIONS_DEFAULT_amd64= TORCH
OPTIONS_SUB= yes OPTIONS_SUB= yes
OPTIONS_RADIO= NEURAL_NETWORK
OPTIONS_RADIO_NEURAL_NETWORK= FANN TORCH
CGP_DESC= Install Communigate Pro(tm) helper CGP_DESC= Install Communigate Pro(tm) helper
GD_DESC= Enable libgd support for images fuzzy hashes
GPERF_DESC= Google perf-tools profiling GPERF_DESC= Google perf-tools profiling
HYPERSCAN_DESC= Use hyperscan optimizations (amd64 only) HYPERSCAN_DESC= Use hyperscan optimizations (amd64 only)
FANN_DESC= Use Fast Artificial Neural Network Library (FANN)
TORCH_DESC= Machine learning support using torch
TORCH_BLAS_DESC= Build torch with OpenBLAS
TORCH_BLAS_IMPLIES= TORCH
SUB_FILES= pkg-message rspamd.newsyslog.conf.sample SUB_FILES= pkg-message rspamd.newsyslog.conf.sample
PLIST_SUB+= ETCDIR=etc/rspamd \ PLIST_SUB+= ETCDIR=etc/rspamd \
@ -56,51 +46,32 @@ CMAKE_ARGS+= -DCONFDIR=${PREFIX}/etc/rspamd \
-DMANDIR=${MANPREFIX}/man \ -DMANDIR=${MANPREFIX}/man \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DBUILD_PORT=yes \ -DBUILD_PORT=yes \
-DLIBDIR=${PREFIX}/lib/rspamd \ -DLIBDIR=${PREFIX}/lib/rspamd
-DNO_SHARED=ON
USE_GITHUB= yes USE_GITHUB= yes
USE_RC_SUBR= rspamd USE_RC_SUBR= rspamd
GD_CMAKE_ON= -DENABLE_GD=ON
GD_LIB_DEPENDS= libgd.so:graphics/gd
GPERF_CMAKE_ON= -DENABLE_GPERF_TOOLS=ON GPERF_CMAKE_ON= -DENABLE_GPERF_TOOLS=ON
GPERF_LIB_DEPENDS= libprofiler.so:devel/google-perftools GPERF_LIB_DEPENDS= libprofiler.so:devel/google-perftools
HYPERSCAN_CMAKE_ON= -DENABLE_HYPERSCAN=ON HYPERSCAN_CMAKE_ON= -DENABLE_HYPERSCAN=ON
HYPERSCAN_LIB_DEPENDS= libhs.so:devel/hyperscan HYPERSCAN_LIB_DEPENDS= libhs.so:devel/hyperscan
FANN_CMAKE_ON= -DENABLE_FANN=ON
FANN_LIB_DEPENDS=libfann.so:math/fann
TORCH_CMAKE_ON= -DENABLE_TORCH=ON
TORCH_CMAKE_OFF=-DENABLE_TORCH=OFF
TORCH_BLAS_USES= blaslapack:openblas
TORCH_BLAS_CMAKE_ON= -DWITH_BLAS=open
CGP_RUN_DEPENDS+= \ CGP_RUN_DEPENDS+= \
p5-AnyEvent-HTTP>=0:www/p5-AnyEvent-HTTP \ p5-AnyEvent-HTTP>=0:www/p5-AnyEvent-HTTP \
p5-AnyEvent>=0:devel/p5-AnyEvent \ p5-AnyEvent>=0:devel/p5-AnyEvent \
p5-EV>=0:devel/p5-EV \ p5-EV>=0:devel/p5-EV \
p5-JSON-XS>=0:converters/p5-JSON-XS p5-JSON-XS>=0:converters/p5-JSON-XS
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MTORCH_BLAS}
USE_GCC= yes
.endif
post-install: post-install:
@${MKDIR} \ @${MKDIR} \
${STAGEDIR}/var/log/rspamd \ ${STAGEDIR}/var/log/rspamd \
${STAGEDIR}/var/db/rspamd \ ${STAGEDIR}/var/db/rspamd \
${STAGEDIR}/var/run/rspamd ${STAGEDIR}/var/run/rspamd
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.conf.sample
# Linux specific # Linux specific
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.systemd.conf ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.systemd.conf
# No need, since rspamd.conf.sample is a same
${RM} ${STAGEDIR}/${ETCDIR}/rspamd.sysvinit.conf ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.sysvinit.conf
# No examples installed by the port # No examples installed by the port
${RMDIR} ${STAGEDIR}/${EXAMPLESDIR} ${RMDIR} ${STAGEDIR}/${EXAMPLESDIR}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1558627266 TIMESTAMP = 1570866704
SHA256 (rspamd-rspamd-1.9.4_GH0.tar.gz) = e4720c1f45defd07dd17b9563d0ddc480c70beadbc1a833235c077960092e030 SHA256 (rspamd-rspamd-2.0_GH0.tar.gz) = 88d90c874f4256de64621b3697630c530cadc9a5194652d7ab67a9f075defe7b
SIZE (rspamd-rspamd-1.9.4_GH0.tar.gz) = 4476230 SIZE (rspamd-rspamd-2.0_GH0.tar.gz) = 4230761

View File

@ -1,31 +0,0 @@
--- CMakeLists.txt.orig 2018-09-24 13:53:53 UTC
+++ CMakeLists.txt
@@ -1320,6 +1320,28 @@ ENDFOREACH(CONF_FILE)
SET(MAIN_CONF "conf/rspamd.conf")
IF(BUILD_PORT)
INSTALL_IF_NOT_EXISTS(${MAIN_CONF} ${CONFDIR} "rspamd.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/actions.conf" ${CONFDIR} "actions.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/cgp.inc" ${CONFDIR} "cgp.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/common.conf" ${CONFDIR} "common.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/groups.conf" ${CONFDIR} "groups.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/logging.inc" ${CONFDIR} "logging.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/options.inc" ${CONFDIR} "options.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-controller.inc" ${CONFDIR} "worker-controller.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-fuzzy.inc" ${CONFDIR} "worker-fuzzy.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-normal.inc" ${CONFDIR} "worker-normal.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/worker-proxy.inc" ${CONFDIR} "worker-proxy.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/2tld.inc" ${CONFDIR} "2tld.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/mime_types.inc" ${CONFDIR} "mime_types.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/composites.conf" ${CONFDIR} "composites.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/maillist.inc" ${CONFDIR} "maillist.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/metrics.conf" ${CONFDIR} "metrics.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/mid.inc" ${CONFDIR} "mid.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/modules.conf" ${CONFDIR} "modules.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/settings.conf" ${CONFDIR} "settings.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/statistic.conf" ${CONFDIR} "statistic.conf" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/surbl-whitelist.inc" ${CONFDIR} "surbl-whitelist.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/dmarc_whitelist.inc" ${CONFDIR} "dmarc_whitelist.inc" ".sample")
+ INSTALL_IF_NOT_EXISTS("conf/spf_dkim_whitelist.inc" ${CONFDIR} "spf_dkim_whitelist.inc" ".sample")
ELSE(BUILD_PORT)
INSTALL_IF_NOT_EXISTS(${MAIN_CONF} ${CONFDIR} "rspamd.conf" "")
ENDIF(BUILD_PORT)

View File

@ -1,44 +0,0 @@
--- contrib/lua-torch/torch7/lib/TH/CMakeLists.txt.orig 2018-06-16 00:02:13 UTC
+++ contrib/lua-torch/torch7/lib/TH/CMakeLists.txt
@@ -230,22 +230,26 @@ ELSE()
ENDIF()
ENDIF()
-FIND_PACKAGE(BLAS)
-IF(BLAS_FOUND)
- SET(USE_BLAS 1)
- TARGET_LINK_LIBRARIES(TH ${BLAS_LIBRARIES})
- IF(BLAS_INFO STREQUAL "mkl")
- ADD_DEFINITIONS(-DTH_BLAS_MKL)
- ELSEIF(BLAS_INFO STREQUAL "open")
- ADD_DEFINITIONS(-DTH_BLAS_OPEN)
- ENDIF()
-ENDIF(BLAS_FOUND)
+IF(WITH_BLAS)
+ FIND_PACKAGE(BLAS)
+ IF(BLAS_FOUND)
+ SET(USE_BLAS 1)
+ TARGET_LINK_LIBRARIES(TH ${BLAS_LIBRARIES})
+ IF(BLAS_INFO STREQUAL "mkl")
+ ADD_DEFINITIONS(-DTH_BLAS_MKL)
+ ELSEIF(BLAS_INFO STREQUAL "open")
+ ADD_DEFINITIONS(-DTH_BLAS_OPEN)
+ ENDIF()
+ ENDIF(BLAS_FOUND)
+ENDIF(WITH_BLAS)
-FIND_PACKAGE(LAPACK)
-IF(LAPACK_FOUND)
- SET(USE_LAPACK 1)
- TARGET_LINK_LIBRARIES(TH ${LAPACK_LIBRARIES})
-ENDIF(LAPACK_FOUND)
+IF(WITH_LAPACK)
+ FIND_PACKAGE(LAPACK)
+ IF(LAPACK_FOUND)
+ SET(USE_LAPACK 1)
+ TARGET_LINK_LIBRARIES(TH ${LAPACK_LIBRARIES})
+ ENDIF(LAPACK_FOUND)
+ENDIF(WITH_LAPACK)
IF (UNIX AND NOT APPLE)
INCLUDE(CheckLibraryExists)

View File

@ -0,0 +1,28 @@
--- src/libutil/mem_pool.c.orig 2019-10-11 16:56:09 UTC
+++ src/libutil/mem_pool.c
@@ -111,7 +111,7 @@ pool_chain_free (struct _pool_chain *chain)
chain->slice_size - occupied : 0);
}
-/* By default allocate 8Kb chunks of memory */
+/* By default allocate 4Kb chunks of memory */
#define FIXED_POOL_SIZE 4096
static inline struct rspamd_mempool_entry_point *
@@ -156,6 +156,7 @@ RSPAMD_DESTRUCTOR (rspamd_mempool_entries_dtor)
});
kh_destroy (mempool_entry, mempool_entries);
+ mempool_entries = NULL;
}
static inline struct rspamd_mempool_entry_point *
@@ -676,7 +677,7 @@ rspamd_mempool_delete (rspamd_mempool_t * pool)
cur = pool->pools[RSPAMD_MEMPOOL_NORMAL];
}
- if (cur) {
+ if (cur && mempool_entries) {
pool->entry->elts[pool->entry->cur_elts].leftover =
pool_chain_free (cur);

View File

@ -0,0 +1,28 @@
--- src/lua/lua_regexp.c.orig 2019-10-11 16:56:09 UTC
+++ src/lua/lua_regexp.c
@@ -889,16 +889,18 @@ lua_load_regexp (lua_State * L)
void
luaopen_regexp (lua_State * L)
{
+ if (!regexp_static_pool) {
+ regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
+ "regexp_lua_pool");
+ }
+
rspamd_lua_new_class (L, "rspamd{regexp}", regexplib_m);
lua_pop (L, 1);
rspamd_lua_add_preload (L, "rspamd_regexp", lua_load_regexp);
}
-RSPAMD_CONSTRUCTOR (lua_re_static_pool_ctor) {
- regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
- "regexp_lua_pool");
-}
-
RSPAMD_DESTRUCTOR (lua_re_static_pool_dtor) {
- rspamd_mempool_delete (regexp_static_pool);
+ if (regexp_static_pool) {
+ rspamd_mempool_delete (regexp_static_pool);
+ }
}
\ No newline at end of file

View File

@ -7,19 +7,21 @@ bin/rspamd-%%RSPAMDVERSION%%
bin/rspamd_stats bin/rspamd_stats
%%CGP%%bin/rspamd-cgp-helper %%CGP%%bin/rspamd-cgp-helper
etc/newsyslog.conf.d/rspamd.newsyslog.conf etc/newsyslog.conf.d/rspamd.newsyslog.conf
@sample %%ETCDIR%%/2tld.inc.sample %%ETCDIR%%/actions.conf
@sample %%ETCDIR%%/actions.conf.sample %%ETCDIR%%/cgp.inc
@sample %%ETCDIR%%/cgp.inc.sample %%ETCDIR%%/common.conf
@sample %%ETCDIR%%/common.conf.sample %%ETCDIR%%/composites.conf
@sample %%ETCDIR%%/composites.conf.sample %%ETCDIR%%/groups.conf
@sample %%ETCDIR%%/dmarc_whitelist.inc.sample %%ETCDIR%%/logging.inc
@sample %%ETCDIR%%/groups.conf.sample %%ETCDIR%%/maps.d/dmarc_whitelist.inc
@sample %%ETCDIR%%/logging.inc.sample %%ETCDIR%%/maps.d/maillist.inc
@sample %%ETCDIR%%/maillist.inc.sample %%ETCDIR%%/maps.d/mid.inc
@sample %%ETCDIR%%/metrics.conf.sample %%ETCDIR%%/maps.d/mime_types.inc
@sample %%ETCDIR%%/mid.inc.sample %%ETCDIR%%/maps.d/redirectors.inc
@sample %%ETCDIR%%/mime_types.inc.sample %%ETCDIR%%/maps.d/spf_dkim_whitelist.inc
@sample %%ETCDIR%%/modules.conf.sample %%ETCDIR%%/maps.d/surbl-whitelist.inc
%%ETCDIR%%/metrics.conf
%%ETCDIR%%/modules.conf
%%ETCDIR%%/modules.d/antivirus.conf %%ETCDIR%%/modules.d/antivirus.conf
%%ETCDIR%%/modules.d/arc.conf %%ETCDIR%%/modules.d/arc.conf
%%ETCDIR%%/modules.d/asn.conf %%ETCDIR%%/modules.d/asn.conf
@ -38,7 +40,6 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/modules.d/greylist.conf %%ETCDIR%%/modules.d/greylist.conf
%%ETCDIR%%/modules.d/hfilter.conf %%ETCDIR%%/modules.d/hfilter.conf
%%ETCDIR%%/modules.d/history_redis.conf %%ETCDIR%%/modules.d/history_redis.conf
%%ETCDIR%%/modules.d/ip_score.conf
%%ETCDIR%%/modules.d/maillist.conf %%ETCDIR%%/modules.d/maillist.conf
%%ETCDIR%%/modules.d/metadata_exporter.conf %%ETCDIR%%/modules.d/metadata_exporter.conf
%%ETCDIR%%/modules.d/metric_exporter.conf %%ETCDIR%%/modules.d/metric_exporter.conf
@ -49,6 +50,7 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/modules.d/mx_check.conf %%ETCDIR%%/modules.d/mx_check.conf
%%ETCDIR%%/modules.d/neural.conf %%ETCDIR%%/modules.d/neural.conf
%%ETCDIR%%/modules.d/once_received.conf %%ETCDIR%%/modules.d/once_received.conf
%%ETCDIR%%/modules.d/p0f.conf
%%ETCDIR%%/modules.d/phishing.conf %%ETCDIR%%/modules.d/phishing.conf
%%ETCDIR%%/modules.d/ratelimit.conf %%ETCDIR%%/modules.d/ratelimit.conf
%%ETCDIR%%/modules.d/rbl.conf %%ETCDIR%%/modules.d/rbl.conf
@ -63,12 +65,9 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/modules.d/surbl.conf %%ETCDIR%%/modules.d/surbl.conf
%%ETCDIR%%/modules.d/trie.conf %%ETCDIR%%/modules.d/trie.conf
%%ETCDIR%%/modules.d/url_redirector.conf %%ETCDIR%%/modules.d/url_redirector.conf
%%ETCDIR%%/modules.d/url_reputation.conf
%%ETCDIR%%/modules.d/url_tags.conf
%%ETCDIR%%/modules.d/whitelist.conf %%ETCDIR%%/modules.d/whitelist.conf
@sample %%ETCDIR%%/options.inc.sample %%ETCDIR%%/options.inc
%%ETCDIR%%/redirectors.inc %%ETCDIR%%/rspamd.conf
@sample %%ETCDIR%%/rspamd.conf.sample
@sample %%ETCDIR%%/rspamd.newsyslog.conf.sample @sample %%ETCDIR%%/rspamd.newsyslog.conf.sample
%%ETCDIR%%/scores.d/fuzzy_group.conf %%ETCDIR%%/scores.d/fuzzy_group.conf
%%ETCDIR%%/scores.d/headers_group.conf %%ETCDIR%%/scores.d/headers_group.conf
@ -82,21 +81,17 @@ etc/newsyslog.conf.d/rspamd.newsyslog.conf
%%ETCDIR%%/scores.d/subject_group.conf %%ETCDIR%%/scores.d/subject_group.conf
%%ETCDIR%%/scores.d/surbl_group.conf %%ETCDIR%%/scores.d/surbl_group.conf
%%ETCDIR%%/scores.d/whitelist_group.conf %%ETCDIR%%/scores.d/whitelist_group.conf
@sample %%ETCDIR%%/settings.conf.sample %%ETCDIR%%/settings.conf
@sample %%ETCDIR%%/spf_dkim_whitelist.inc.sample %%ETCDIR%%/statistic.conf
@sample %%ETCDIR%%/statistic.conf.sample %%ETCDIR%%/worker-controller.inc
@sample %%ETCDIR%%/surbl-whitelist.inc.sample %%ETCDIR%%/worker-fuzzy.inc
@sample %%ETCDIR%%/worker-controller.inc.sample %%ETCDIR%%/worker-normal.inc
@sample %%ETCDIR%%/worker-fuzzy.inc.sample %%ETCDIR%%/worker-proxy.inc
@sample %%ETCDIR%%/worker-normal.inc.sample
@sample %%ETCDIR%%/worker-proxy.inc.sample
lib/rspamd/librspamd-actrie.so lib/rspamd/librspamd-actrie.so
lib/rspamd/librspamd-ev.so
lib/rspamd/librspamd-kann.so
lib/rspamd/librspamd-replxx.so
lib/rspamd/librspamd-server.so lib/rspamd/librspamd-server.so
%%TORCH%%lib/rspamd/libTH.so
%%TORCH%%lib/rspamd/libTHNN.so
%%TORCH%%lib/rspamd/libdecisiontree.so
%%TORCH%%lib/rspamd/libpaths.so
%%TORCH%%lib/rspamd/libtorch.so
man/man1/rspamadm.1.gz man/man1/rspamadm.1.gz
man/man1/rspamc.1.gz man/man1/rspamc.1.gz
man/man8/rspamd.8.gz man/man8/rspamd.8.gz
@ -156,6 +151,7 @@ man/man8/rspamd.8.gz
%%DATADIR%%/lualib/global_functions.lua %%DATADIR%%/lualib/global_functions.lua
%%DATADIR%%/lualib/lpegre.lua %%DATADIR%%/lualib/lpegre.lua
%%DATADIR%%/lualib/lua_auth_results.lua %%DATADIR%%/lualib/lua_auth_results.lua
%%DATADIR%%/lualib/lua_bayes_learn.lua
%%DATADIR%%/lualib/lua_cfg_transform.lua %%DATADIR%%/lualib/lua_cfg_transform.lua
%%DATADIR%%/lualib/lua_clickhouse.lua %%DATADIR%%/lualib/lua_clickhouse.lua
%%DATADIR%%/lualib/lua_dkim_tools.lua %%DATADIR%%/lualib/lua_dkim_tools.lua
@ -165,9 +161,15 @@ man/man8/rspamd.8.gz
%%DATADIR%%/lualib/lua_ffi/spf.lua %%DATADIR%%/lualib/lua_ffi/spf.lua
%%DATADIR%%/lualib/lua_fuzzy.lua %%DATADIR%%/lualib/lua_fuzzy.lua
%%DATADIR%%/lualib/lua_ical.lua %%DATADIR%%/lualib/lua_ical.lua
%%DATADIR%%/lualib/lua_lexer.lua
%%DATADIR%%/lualib/lua_magic/heuristics.lua
%%DATADIR%%/lualib/lua_magic/init.lua
%%DATADIR%%/lualib/lua_magic/patterns.lua
%%DATADIR%%/lualib/lua_magic/types.lua
%%DATADIR%%/lualib/lua_maps_expressions.lua
%%DATADIR%%/lualib/lua_maps.lua %%DATADIR%%/lualib/lua_maps.lua
%%DATADIR%%/lualib/lua_meta.lua %%DATADIR%%/lualib/lua_meta.lua
%%DATADIR%%/lualib/lua_nn.lua %%DATADIR%%/lualib/lua_mime.lua
%%DATADIR%%/lualib/lua_redis.lua %%DATADIR%%/lualib/lua_redis.lua
%%DATADIR%%/lualib/lua_scanners/clamav.lua %%DATADIR%%/lualib/lua_scanners/clamav.lua
%%DATADIR%%/lualib/lua_scanners/common.lua %%DATADIR%%/lualib/lua_scanners/common.lua
@ -176,13 +178,20 @@ man/man8/rspamd.8.gz
%%DATADIR%%/lualib/lua_scanners/icap.lua %%DATADIR%%/lualib/lua_scanners/icap.lua
%%DATADIR%%/lualib/lua_scanners/init.lua %%DATADIR%%/lualib/lua_scanners/init.lua
%%DATADIR%%/lualib/lua_scanners/kaspersky_av.lua %%DATADIR%%/lualib/lua_scanners/kaspersky_av.lua
%%DATADIR%%/lualib/lua_scanners/kaspersky_se.lua
%%DATADIR%%/lualib/lua_scanners/oletools.lua %%DATADIR%%/lualib/lua_scanners/oletools.lua
%%DATADIR%%/lualib/lua_scanners/p0f.lua
%%DATADIR%%/lualib/lua_scanners/razor.lua
%%DATADIR%%/lualib/lua_scanners/savapi.lua %%DATADIR%%/lualib/lua_scanners/savapi.lua
%%DATADIR%%/lualib/lua_scanners/sophos.lua %%DATADIR%%/lualib/lua_scanners/sophos.lua
%%DATADIR%%/lualib/lua_scanners/spamassassin.lua %%DATADIR%%/lualib/lua_scanners/spamassassin.lua
%%DATADIR%%/lualib/lua_scanners/vadesecure.lua %%DATADIR%%/lualib/lua_scanners/vadesecure.lua
%%DATADIR%%/lualib/lua_selectors.lua %%DATADIR%%/lualib/lua_selectors/extractors.lua
%%DATADIR%%/lualib/lua_squeeze_rules.lua %%DATADIR%%/lualib/lua_selectors/init.lua
%%DATADIR%%/lualib/lua_selectors/maps.lua
%%DATADIR%%/lualib/lua_selectors/transforms.lua
%%DATADIR%%/lualib/lua_settings.lua
%%DATADIR%%/lualib/lua_smtp.lua
%%DATADIR%%/lualib/lua_stat.lua %%DATADIR%%/lualib/lua_stat.lua
%%DATADIR%%/lualib/lua_tcp_sync.lua %%DATADIR%%/lualib/lua_tcp_sync.lua
%%DATADIR%%/lualib/lua_util.lua %%DATADIR%%/lualib/lua_util.lua
@ -205,258 +214,6 @@ man/man8/rspamd.8.gz
%%DATADIR%%/lualib/rspamadm/template.lua %%DATADIR%%/lualib/rspamadm/template.lua
%%DATADIR%%/lualib/rspamadm/vault.lua %%DATADIR%%/lualib/rspamadm/vault.lua
%%DATADIR%%/lualib/tableshape.lua %%DATADIR%%/lualib/tableshape.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/CartNode.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/CartTrainer.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/CartTree.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/DFD.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/DataSet.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/DecisionForest.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/DecisionForestTrainer.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/DecisionTree.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/GiniState.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/GradientBoostState.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/GradientBoostTrainer.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/LogitBoostCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/MSECriterion.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/RandomForestTrainer.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/Sparse2Dense.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/SparseTensor.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/TreeState.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/WorkPool.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/_env.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/benchmark.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/init.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/math.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/test.lua
%%TORCH%%%%DATADIR%%/lualib/decisiontree/utils.lua
%%TORCH%%%%DATADIR%%/lualib/moses.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Abs.lua
%%TORCH%%%%DATADIR%%/lualib/nn/AbsCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Add.lua
%%TORCH%%%%DATADIR%%/lualib/nn/AddConstant.lua
%%TORCH%%%%DATADIR%%/lualib/nn/BCECriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/BatchNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Bilinear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Bottle.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CAdd.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CAddTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CAddTensorTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CDivTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CMaxTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CMinTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CMul.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CMulTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CReLU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CSubTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Clamp.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ClassNLLCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ClassSimplexCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Collapse.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Concat.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ConcatTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Constant.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Container.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Contiguous.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Convert.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Copy.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Cosine.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CosineDistance.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CosineEmbeddingCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Criterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CriterionTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/CrossEntropyCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Decorator.lua
%%TORCH%%%%DATADIR%%/lualib/nn/DepthConcat.lua
%%TORCH%%%%DATADIR%%/lualib/nn/DistKLDivCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/DistanceRatioCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/DontCast.lua
%%TORCH%%%%DATADIR%%/lualib/nn/DotProduct.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Dropout.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ELU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ErrorMessages.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Euclidean.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Exp.lua
%%TORCH%%%%DATADIR%%/lualib/nn/FlattenTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/GPU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/GatedLinearUnit.lua
%%TORCH%%%%DATADIR%%/lualib/nn/GradientReversal.lua
%%TORCH%%%%DATADIR%%/lualib/nn/HardShrink.lua
%%TORCH%%%%DATADIR%%/lualib/nn/HardTanh.lua
%%TORCH%%%%DATADIR%%/lualib/nn/HingeEmbeddingCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Identity.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Index.lua
%%TORCH%%%%DATADIR%%/lualib/nn/IndexLinear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Jacobian.lua
%%TORCH%%%%DATADIR%%/lualib/nn/JoinTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Kmeans.lua
%%TORCH%%%%DATADIR%%/lualib/nn/L1Cost.lua
%%TORCH%%%%DATADIR%%/lualib/nn/L1HingeEmbeddingCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/L1Penalty.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LayerNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LeakyReLU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Linear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LinearWeightNorm.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Log.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LogSigmoid.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LogSoftMax.lua
%%TORCH%%%%DATADIR%%/lualib/nn/LookupTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MM.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MSECriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MV.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MapTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MarginCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MarginRankingCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MaskedSelect.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Max.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Maxout.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Mean.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Min.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MixtureTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Module.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ModuleCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Mul.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MulConstant.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MultiCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MultiLabelMarginCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MultiLabelSoftMarginCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/MultiMarginCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/NaN.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Narrow.lua
%%TORCH%%%%DATADIR%%/lualib/nn/NarrowTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Normalize.lua
%%TORCH%%%%DATADIR%%/lualib/nn/OneHot.lua
%%TORCH%%%%DATADIR%%/lualib/nn/PReLU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Padding.lua
%%TORCH%%%%DATADIR%%/lualib/nn/PairwiseDistance.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Parallel.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ParallelCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ParallelTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/PartialLinear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/PixelShuffle.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Power.lua
%%TORCH%%%%DATADIR%%/lualib/nn/PrintSize.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Profile.lua
%%TORCH%%%%DATADIR%%/lualib/nn/RReLU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ReLU.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ReLU6.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Replicate.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Reshape.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Select.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SelectTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Sequential.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Sigmoid.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SmoothL1Criterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftMarginCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftMax.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftMin.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftPlus.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftShrink.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SoftSign.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SparseJacobian.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SparseLinear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialAdaptiveAveragePooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialAdaptiveMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialAutoCropMSECriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialAveragePooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialBatchNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialClassNLLCriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialContrastiveNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialConvolutionLocal.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialConvolutionMM.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialConvolutionMap.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialCrossMapLRN.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialDepthWiseConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialDilatedConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialDilatedMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialDivisiveNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialDropout.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialFractionalMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialFullConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialFullConvolutionMap.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialLPPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialLogSoftMax.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialMaxUnpooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialReflectionPadding.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialReplicationPadding.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialSoftMax.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialSubSampling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialSubtractiveNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialUpSamplingBilinear.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialUpSamplingNearest.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SpatialZeroPadding.lua
%%TORCH%%%%DATADIR%%/lualib/nn/SplitTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Sqrt.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Square.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Squeeze.lua
%%TORCH%%%%DATADIR%%/lualib/nn/StochasticGradient.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Sum.lua
%%TORCH%%%%DATADIR%%/lualib/nn/THNN.lua
%%TORCH%%%%DATADIR%%/lualib/nn/THNN_h.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Tanh.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TanhShrink.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TemporalConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TemporalDynamicKMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TemporalMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TemporalRowConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/TemporalSubSampling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Threshold.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Transpose.lua
%%TORCH%%%%DATADIR%%/lualib/nn/Unsqueeze.lua
%%TORCH%%%%DATADIR%%/lualib/nn/View.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricAveragePooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricBatchNormalization.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricDilatedConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricDilatedMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricDropout.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricFractionalMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricFullConvolution.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricMaxPooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricMaxUnpooling.lua
%%TORCH%%%%DATADIR%%/lualib/nn/VolumetricReplicationPadding.lua
%%TORCH%%%%DATADIR%%/lualib/nn/WeightNorm.lua
%%TORCH%%%%DATADIR%%/lualib/nn/WeightedEuclidean.lua
%%TORCH%%%%DATADIR%%/lualib/nn/WeightedMSECriterion.lua
%%TORCH%%%%DATADIR%%/lualib/nn/WhiteNoise.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ZeroGrad.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ZipTable.lua
%%TORCH%%%%DATADIR%%/lualib/nn/ZipTableOneToMany.lua
%%TORCH%%%%DATADIR%%/lualib/nn/hessian.lua
%%TORCH%%%%DATADIR%%/lualib/nn/init.lua
%%TORCH%%%%DATADIR%%/lualib/nn/test.lua
%%TORCH%%%%DATADIR%%/lualib/nn/utils.lua
%%TORCH%%%%DATADIR%%/lualib/optim/ConfusionMatrix.lua
%%TORCH%%%%DATADIR%%/lualib/optim/Logger.lua
%%TORCH%%%%DATADIR%%/lualib/optim/adadelta.lua
%%TORCH%%%%DATADIR%%/lualib/optim/adagrad.lua
%%TORCH%%%%DATADIR%%/lualib/optim/adam.lua
%%TORCH%%%%DATADIR%%/lualib/optim/adamax.lua
%%TORCH%%%%DATADIR%%/lualib/optim/asgd.lua
%%TORCH%%%%DATADIR%%/lualib/optim/cg.lua
%%TORCH%%%%DATADIR%%/lualib/optim/checkgrad.lua
%%TORCH%%%%DATADIR%%/lualib/optim/cmaes.lua
%%TORCH%%%%DATADIR%%/lualib/optim/de.lua
%%TORCH%%%%DATADIR%%/lualib/optim/fista.lua
%%TORCH%%%%DATADIR%%/lualib/optim/init.lua
%%TORCH%%%%DATADIR%%/lualib/optim/lbfgs.lua
%%TORCH%%%%DATADIR%%/lualib/optim/lswolfe.lua
%%TORCH%%%%DATADIR%%/lualib/optim/nag.lua
%%TORCH%%%%DATADIR%%/lualib/optim/polyinterp.lua
%%TORCH%%%%DATADIR%%/lualib/optim/rmsprop.lua
%%TORCH%%%%DATADIR%%/lualib/optim/rprop.lua
%%TORCH%%%%DATADIR%%/lualib/optim/sgd.lua
%%TORCH%%%%DATADIR%%/lualib/paths/init.lua
%%TORCH%%%%DATADIR%%/lualib/torch/CmdLine.lua
%%TORCH%%%%DATADIR%%/lualib/torch/FFInterface.lua
%%TORCH%%%%DATADIR%%/lualib/torch/File.lua
%%TORCH%%%%DATADIR%%/lualib/torch/Tensor.lua
%%TORCH%%%%DATADIR%%/lualib/torch/TestSuite.lua
%%TORCH%%%%DATADIR%%/lualib/torch/Tester.lua
%%TORCH%%%%DATADIR%%/lualib/torch/init.lua
%%TORCH%%%%DATADIR%%/lualib/torch/paths.lua
%%TORCH%%%%DATADIR%%/lualib/torch/test.lua
%%DATADIR%%/plugins/antivirus.lua %%DATADIR%%/plugins/antivirus.lua
%%DATADIR%%/plugins/arc.lua %%DATADIR%%/plugins/arc.lua
%%DATADIR%%/plugins/asn.lua %%DATADIR%%/plugins/asn.lua
@ -488,6 +245,7 @@ man/man8/rspamd.8.gz
%%DATADIR%%/plugins/mx_check.lua %%DATADIR%%/plugins/mx_check.lua
%%DATADIR%%/plugins/neural.lua %%DATADIR%%/plugins/neural.lua
%%DATADIR%%/plugins/once_received.lua %%DATADIR%%/plugins/once_received.lua
%%DATADIR%%/plugins/p0f.lua
%%DATADIR%%/plugins/phishing.lua %%DATADIR%%/plugins/phishing.lua
%%DATADIR%%/plugins/ratelimit.lua %%DATADIR%%/plugins/ratelimit.lua
%%DATADIR%%/plugins/rbl.lua %%DATADIR%%/plugins/rbl.lua
@ -499,9 +257,8 @@ man/man8/rspamd.8.gz
%%DATADIR%%/plugins/spamtrap.lua %%DATADIR%%/plugins/spamtrap.lua
%%DATADIR%%/plugins/trie.lua %%DATADIR%%/plugins/trie.lua
%%DATADIR%%/plugins/url_redirector.lua %%DATADIR%%/plugins/url_redirector.lua
%%DATADIR%%/plugins/url_reputation.lua
%%DATADIR%%/plugins/url_tags.lua
%%DATADIR%%/plugins/whitelist.lua %%DATADIR%%/plugins/whitelist.lua
%%DATADIR%%/rules/bitcoin.lua
%%DATADIR%%/rules/forwarding.lua %%DATADIR%%/rules/forwarding.lua
%%DATADIR%%/rules/headers_checks.lua %%DATADIR%%/rules/headers_checks.lua
%%DATADIR%%/rules/html.lua %%DATADIR%%/rules/html.lua
@ -512,7 +269,6 @@ man/man8/rspamd.8.gz
%%DATADIR%%/rules/regexp/headers.lua %%DATADIR%%/rules/regexp/headers.lua
%%DATADIR%%/rules/regexp/misc.lua %%DATADIR%%/rules/regexp/misc.lua
%%DATADIR%%/rules/regexp/upstream_spam_filters.lua %%DATADIR%%/rules/regexp/upstream_spam_filters.lua
%%DATADIR%%/rules/rspamd.classifiers.lua
%%DATADIR%%/rules/rspamd.lua %%DATADIR%%/rules/rspamd.lua
%%DATADIR%%/rules/subject_checks.lua %%DATADIR%%/rules/subject_checks.lua
%%DATADIR%%/www/README.md %%DATADIR%%/www/README.md
@ -540,10 +296,9 @@ man/man8/rspamd.8.gz
%%DATADIR%%/www/js/lib/d3.min.js %%DATADIR%%/www/js/lib/d3.min.js
%%DATADIR%%/www/js/lib/d3evolution.min.js %%DATADIR%%/www/js/lib/d3evolution.min.js
%%DATADIR%%/www/js/lib/d3pie.min.js %%DATADIR%%/www/js/lib/d3pie.min.js
%%DATADIR%%/www/js/lib/domReady.js
%%DATADIR%%/www/js/lib/footable.min.js %%DATADIR%%/www/js/lib/footable.min.js
%%DATADIR%%/www/js/lib/humanize.min.js %%DATADIR%%/www/js/lib/humanize.min.js
%%DATADIR%%/www/js/lib/jquery-3.3.1.min.js %%DATADIR%%/www/js/lib/jquery-3.4.1.min.js
%%DATADIR%%/www/js/lib/jquery.stickytabs.min.js %%DATADIR%%/www/js/lib/jquery.stickytabs.min.js
%%DATADIR%%/www/js/lib/nprogress.min.js %%DATADIR%%/www/js/lib/nprogress.min.js
%%DATADIR%%/www/js/lib/require.min.js %%DATADIR%%/www/js/lib/require.min.js