Fri Jun 5 00:49:35 2015 UTC ()
Update rspamd to 0.9.5

0.9.5:
	* Avoid double free when extending HTTP message.
	* Fix double free if multiple classifiers are defined.
	* Fix misprint in spamassassin plugin.
	* Fix cpuid invocation on i386.
	* Fix ownership issues for zero-copy decode.
	* Allow __len metamethod on rspamd{text}.
	* Add base64 decoding lua utility.
	* Fix build on FreeBSD
	* Skip spaces at the beginning of mime messages.
	* DBL_ABUSE_REDIR should not have significant weight.
	* Allow to split by lua_regexp rspamd{text} objects.
	* Allow to specify custom stop pattern for lua_tcp.

0.9.4:
	* Fix critical bugs in tokenization algorithm
	* Write unit tests for tokenization
	* Add documentation for lua_tcp
	* Switch off legacy tokenization by default.
	* Fix critical bugs in words normalization
	* Add lua bindings to tokenizer.
	* Implement storing of HTTP headers inside task
	* Add lua API to accerss HTTP headers data
	* Implemented base64 encoding suitable for MIME
	* Use caseless hash and equal functions for HTTP request headers.
	* Improve debian architectures support (by @dottedmag)

0.9.3:
	* Revert incorrect regexp change that broke the default rules
	* Fix lua_tcp module

0.9.2:
	* Fix error on spawning unique workers.
	* Add preliminary version of generic LUA TCP requests API.
	* Use lua 5.1 if luajit is not available (Arm64, PowerPC, s390x etc)
	* Fix fuzzy mime strings with only type.
	* Improve thunderbird sanity checks.
	* Fix critical bug on matching regular expressions.
	* Make hiredis optional dependency.
	* Fix multiple bugs in daemon reloading

0.9.1:
	* Restore utf8 validation for regular expressions to avoid crashes
	* Fix symbols displaying in the interface
	* Add symbol groups to the interface
	* Fix maps ID parsing in the controller
	* Add multimap and regexp modules documentation
	* Backport fixes from libucl
	* Fix debian package (by @dottedmag)
	* Rework XXH32 invocations

0.9.0:
	* Add support of the fast and secure protocol level encryption:
		- curve25519 is used for key exchange;
		- chacha20/poly1305 cryptobox construction for bulk encryption;
		- zero latency overhead;
		- encrypting and balancing HTTP proxy worker
	* Rework expressions and create new expressions library:
		- aggressive optimizations based on the abstract syntax tree;
		- abstract expressions support (regular expressions, functions, lua modules
		  composites and so on)
		- New comparision and '+' operators support
		- New greedy algorithm to minimize execution time of expressions and
		  all symbols
		- Dynamic expressions benchmark and reoptimizations
	* Many improvements to the LUA API:
		- reworked logger module allowing to do pretty print of the most of lua
		  types (including tables and userdata classes)
		- reworked lua redis and lua HTTP to support more features
		- added opaque type for passing large text chunks without copying
		- new regexp module with many auxiliary functions (e.g. `re:split`)
	* LuaJIT is now the default requirement for rspamd allowing to speed up lua
	  execution by a large margin (however, plain lua is still supported)
	* New plugins:
		- spamassassin rules plugin that allows to load and re-use the most of
		  SA rules natively
		- DMARC plugin that evaluates SPF and DKIM policies to the domain policies
		- many old plugins has been reworked to implement new features and improve
		  stability
	* New aho-corasic trie implementation from @mischasan that allows to load and
	  use hundreds of thousands of patterns with no influence on load
	* Support of PCRE JIT and PCRE JIT fast path modes that significantly improves
	  the performance of regular expressions if supported by PCRE
	* New URLs parser and extractor:
		- removed legacy code that was useless for url finding
		- reworked algorithms of URL parsing for more precise and accurate results
		- added top-level-domains tree from http://publicsuffix.org
		- improved emails parsing
		- removed many phishing false positives due to TLD tree check
	* New statistics infrastructure:
		- created a separate layer of statistic library
		- improved OSB-Bayes by re-weighting tokens according to the original
		  academic paper and `crm114` implementation, which reduced false positives
		  rate significantly
		- created learn cache to avoid double learning of statistics and providing
		  an efficient way to re-learn class for a message
		- created abstract layers for different statistics backends
		- implemented new tokenization algorithms with fast or secure (siphash)
		  hashes to generate statistics features
	* Reworked utf8 tokenization that previously corrupted all UTF8 words (minor
	  incompatibility with old fuzzy hashes with utf-8 symbols)
	* SPF module has been completely rewritten to support complex cases of
	  `include` and `redirect` within SPF records
	* DKIM module now supports multiple signatures
	* Controller passwords can now be stored encrypted by `PBKDF2-HMAC` in the
	  configuration file
	* Many hand-written HTTP clients has been replaced with the common rspamd
	  http module
	* New test framework:
		- import lua `telescope` test framework
		- add unit tests for many rspamd modules and routines
		- create a unit test for each possible bug found
		- use luajit ffi for testing C code
		- added preliminary support of functional testing by creating tasks from lua
	* Randomize hash seed to avoid certain hash tables vulnerabilities
	* Documentation improvements:
		- added documentation for the vast majority of rspamd modules
		- added documentation for rspamd protocol
		- added documentation for the most of rspamd LUA extensions
	* Fixed tonns of bugs and memory leaks
	* Added tonns of minor features

0.8.3:
	* Various critical fixes in distribution (by @dottedmag and @fatalbanana)
	* Fixed bugs in url detector to parse certain patterns
	* Add default host and helo for a client
	* Some sanity checks for tokenizer and classifier
	* Reiterate on systemd support
	* Fix missing symbol registration
	* Add support of spamc compatible output
	* Filter double-dots in rbl.lua validate_dns (by @fatalbanana)
	* Update ucl submodule due to critical bugfix

0.8.2:
	* Create fuzzy db if it does not exist
	* Fix: Centos init script: configtest() (by @AlexeySa)
	* Enable one_shot for RECEIVED_SPAMHAUS_XBL - Fixes #102 (by @fatalbanana)
	* Update Exim patch (by @fatalbanana)
	* Fix processing of unix sockets.
	* Allow applying settings to authenticated users (by @fatalbanana)
	* Make settings priorities work as documented (by @fatalbanana)
	* Fix race condition in symbols planner
	* Add DNSWL_BLOCKED symbol (by @fatalbanana)
	* Make Exim pass usernames to rspamd (by @fatalbanana)
	* Update RBL module (by @fatalbanana):
		- fix indentation;
		- collapse loops;
		- avoid calling for un-needed information;
		- allow disabling RBLs for authenticated users
	* once_received.lua: Fix indentation & add exclusion for authenticated users (by @fatalbanana)
	* hfilter.lua: Add exclusion for authenticated users (by @AlexeySa)
	* Updates to hfilter rules (by @AlexeySa)
	* Set empty <> user or addr for msgs without FROM (by @eneq123)
	* Fix: attempt to index field '?' (a nil value) (by @eneq123)
	* Fix: if not exist Date-header (by @AlexeySa)
	* Add task:get_content() method.
	* rbl.lua: Ignore private IP space (by @fatalbanana)
	* Allow to check radix maps from lua by rspamd{ip}
	* Make local exclusions configurable per-RBL (by @fatalbanana)
	* Add rspamd_config:radix_from_config() (by @fatalbanana)
	* Support emails dnsbl in rbl (by @fatalbanana)
	* Complete rework of url extraction logic
	* Allow customizations for unix sockets. (fixes #182)
	* Set lua path according to rspamd settings.
	* Import lua-functional for plugins stuff.
	* Completely rewrite multimap plugin in functional style.
	* Fix FORGED_MUA_THUNDERBIRD_MSGID (fixes #186)
	* Check IPv6 addresses at dnswl.org and Spamhaus whitelist (by @fatalbanana)
	* Add lowercase utility for utf8 strings.
	* Various fixes to build system
	* Updated debian configuration infrastructure (by @dottedmag)


(wiedi)
diff -r1.11 -r1.12 pkgsrc/mail/rspamd/Makefile
diff -r1.2 -r1.3 pkgsrc/mail/rspamd/PLIST
diff -r1.4 -r1.5 pkgsrc/mail/rspamd/distinfo

cvs diff -r1.11 -r1.12 pkgsrc/mail/rspamd/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/rspamd/Makefile 2015/04/06 08:17:32 1.11
+++ pkgsrc/mail/rspamd/Makefile 2015/06/05 00:49:35 1.12
@@ -1,56 +1,60 @@ @@ -1,56 +1,60 @@
1# $NetBSD: Makefile,v 1.11 2015/04/06 08:17:32 adam Exp $ 1# $NetBSD: Makefile,v 1.12 2015/06/05 00:49:35 wiedi Exp $
2 2
3DISTNAME= rspamd-0.8.1 3DISTNAME= rspamd-0.9.5
4PKGREVISION= 1 
5CATEGORIES= mail 4CATEGORIES= mail
6MASTER_SITES= http://www.rspamd.com/downloads/ 5MASTER_SITES= http://www.rspamd.com/downloads/
7EXTRACT_SUFX= .tar.xz 6EXTRACT_SUFX= .tar.xz
8 7
9MAINTAINER= wiedi@frubar.net 8MAINTAINER= wiedi@frubar.net
10HOMEPAGE= https://www.rspamd.com/ 9HOMEPAGE= https://www.rspamd.com/
11COMMENT= Fast, free and open-source spam filtering system 10COMMENT= Fast, free and open-source spam filtering system
12LICENSE= 2-clause-bsd 11LICENSE= 2-clause-bsd
13 12
14USE_CMAKE= yes 13USE_CMAKE= yes
15USE_TOOLS+= perl pkg-config 14USE_TOOLS+= perl pkg-config
16USE_LANGUAGES= c99 15USE_LANGUAGES= c99
17CPPFLAGS.SunOS+= -D__EXTENSIONS__ 16CPPFLAGS.SunOS+= -D__EXTENSIONS__
18LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/rspamd 17LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/rspamd
 18TEST_TARGET= run-test
19 19
20PKG_SYSCONFSUBDIR= rspamd 20PKG_SYSCONFSUBDIR= rspamd
21EGDIR= ${PREFIX}/share/examples/${PKGBASE} 21EGDIR= ${PREFIX}/share/examples/${PKGBASE}
22 22
23CMAKE_ARGS+= -DMANDIR:PATH=${PREFIX}/${PKGMANDIR} 23CMAKE_ARGS+= -DMANDIR:PATH=${PREFIX}/${PKGMANDIR}
24CMAKE_ARGS+= -DCONFDIR:PATH=${EGDIR} 24CMAKE_ARGS+= -DCONFDIR:PATH=${EGDIR}
 25CMAKE_ARGS+= -DENABLE_LUAJIT=OFF
25 26
26MAKE_DIRS+= ${PKG_SYSCONFDIR}/lua 27MAKE_DIRS+= ${PKG_SYSCONFDIR}/lua
27MAKE_DIRS+= ${PKG_SYSCONFDIR}/lua/regexp 28MAKE_DIRS+= ${PKG_SYSCONFDIR}/lua/regexp
28 29
29CONF_FILES= ${EGDIR}/2tld.inc ${PKG_SYSCONFDIR}/2tld.inc 30CONF_FILES= ${EGDIR}/2tld.inc ${PKG_SYSCONFDIR}/2tld.inc
 31CONF_FILES+= ${EGDIR}/common.conf ${PKG_SYSCONFDIR}/common.conf
30CONF_FILES+= ${EGDIR}/composites.conf ${PKG_SYSCONFDIR}/composites.conf 32CONF_FILES+= ${EGDIR}/composites.conf ${PKG_SYSCONFDIR}/composites.conf
31CONF_FILES+= ${EGDIR}/logging.conf ${PKG_SYSCONFDIR}/logging.conf 33CONF_FILES+= ${EGDIR}/logging.inc ${PKG_SYSCONFDIR}/logging.inc
32CONF_FILES+= ${EGDIR}/lua/hfilter.lua ${PKG_SYSCONFDIR}/lua/hfilter.lua 34CONF_FILES+= ${EGDIR}/lua/hfilter.lua ${PKG_SYSCONFDIR}/lua/hfilter.lua
33CONF_FILES+= ${EGDIR}/lua/regexp/drugs.lua ${PKG_SYSCONFDIR}/lua/regexp/drugs.lua 35CONF_FILES+= ${EGDIR}/lua/regexp/drugs.lua ${PKG_SYSCONFDIR}/lua/regexp/drugs.lua
34CONF_FILES+= ${EGDIR}/lua/regexp/fraud.lua ${PKG_SYSCONFDIR}/lua/regexp/fraud.lua 36CONF_FILES+= ${EGDIR}/lua/regexp/fraud.lua ${PKG_SYSCONFDIR}/lua/regexp/fraud.lua
35CONF_FILES+= ${EGDIR}/lua/regexp/headers.lua ${PKG_SYSCONFDIR}/lua/regexp/headers.lua 37CONF_FILES+= ${EGDIR}/lua/regexp/headers.lua ${PKG_SYSCONFDIR}/lua/regexp/headers.lua
36CONF_FILES+= ${EGDIR}/lua/regexp/lotto.lua ${PKG_SYSCONFDIR}/lua/regexp/lotto.lua 38CONF_FILES+= ${EGDIR}/lua/regexp/lotto.lua ${PKG_SYSCONFDIR}/lua/regexp/lotto.lua
37CONF_FILES+= ${EGDIR}/lua/rspamd.classifiers.lua ${PKG_SYSCONFDIR}/lua/rspamd.classifiers.lua 39CONF_FILES+= ${EGDIR}/lua/rspamd.classifiers.lua ${PKG_SYSCONFDIR}/lua/rspamd.classifiers.lua
38CONF_FILES+= ${EGDIR}/lua/rspamd.lua ${PKG_SYSCONFDIR}/lua/rspamd.lua 40CONF_FILES+= ${EGDIR}/lua/rspamd.lua ${PKG_SYSCONFDIR}/lua/rspamd.lua
39CONF_FILES+= ${EGDIR}/metrics.conf ${PKG_SYSCONFDIR}/metrics.conf 41CONF_FILES+= ${EGDIR}/metrics.conf ${PKG_SYSCONFDIR}/metrics.conf
40CONF_FILES+= ${EGDIR}/modules.conf ${PKG_SYSCONFDIR}/modules.conf 42CONF_FILES+= ${EGDIR}/modules.conf ${PKG_SYSCONFDIR}/modules.conf
41CONF_FILES+= ${EGDIR}/options.conf ${PKG_SYSCONFDIR}/options.conf 43CONF_FILES+= ${EGDIR}/options.inc ${PKG_SYSCONFDIR}/options.inc
42CONF_FILES+= ${EGDIR}/rspamd.conf ${PKG_SYSCONFDIR}/rspamd.conf 44CONF_FILES+= ${EGDIR}/rspamd.conf ${PKG_SYSCONFDIR}/rspamd.conf
43CONF_FILES+= ${EGDIR}/statistic.conf ${PKG_SYSCONFDIR}/statistic.conf 45CONF_FILES+= ${EGDIR}/statistic.conf ${PKG_SYSCONFDIR}/statistic.conf
44CONF_FILES+= ${EGDIR}/surbl-whitelist.inc ${PKG_SYSCONFDIR}/surbl-whitelist.inc 46CONF_FILES+= ${EGDIR}/surbl-whitelist.inc ${PKG_SYSCONFDIR}/surbl-whitelist.inc
45CONF_FILES+= ${EGDIR}/workers.conf ${PKG_SYSCONFDIR}/workers.conf 47CONF_FILES+= ${EGDIR}/worker-controller.inc ${PKG_SYSCONFDIR}/worker-controller.inc
 48CONF_FILES+= ${EGDIR}/worker-normal.inc ${PKG_SYSCONFDIR}/worker-normal.inc
46 49
47post-extract: 50post-extract:
48 ${FIND} ${WRKSRC}/conf -type d -exec ${CHMOD} ${PKGDIRMODE} {} \; 51 ${FIND} ${WRKSRC}/conf -type d -exec ${CHMOD} ${PKGDIRMODE} {} \;
49 ${FIND} ${WRKSRC}/conf -type f -exec ${CHMOD} ${DOCMODE} {} \; 52 ${FIND} ${WRKSRC}/conf -type f -exec ${CHMOD} ${DOCMODE} {} \;
50 53
51.include "../../devel/libevent/buildlink3.mk" 54.include "../../devel/libevent/buildlink3.mk"
52.include "../../devel/glib2/buildlink3.mk" 55.include "../../devel/glib2/buildlink3.mk"
53.include "../../mail/gmime/buildlink3.mk" 56.include "../../mail/gmime/buildlink3.mk"
54.include "../../databases/sqlite3/buildlink3.mk" 57.include "../../databases/sqlite3/buildlink3.mk"
55.include "../../lang/lua/buildlink3.mk" 58.include "../../lang/lua/buildlink3.mk"
 59.include "../../databases/hiredis/buildlink3.mk"
56.include "../../mk/bsd.pkg.mk" 60.include "../../mk/bsd.pkg.mk"

cvs diff -r1.2 -r1.3 pkgsrc/mail/rspamd/PLIST (expand / switch to unified diff)

--- pkgsrc/mail/rspamd/PLIST 2015/01/17 17:34:07 1.2
+++ pkgsrc/mail/rspamd/PLIST 2015/06/05 00:49:35 1.3
@@ -1,58 +1,52 @@ @@ -1,58 +1,52 @@
1@comment $NetBSD: PLIST,v 1.2 2015/01/17 17:34:07 wiedi Exp $ 1@comment $NetBSD: PLIST,v 1.3 2015/06/05 00:49:35 wiedi Exp $
2bin/rspamc 2bin/rspamc
3bin/rspamc-${PKGVERSION} 3bin/rspamc-${PKGVERSION}
4bin/rspamd 4bin/rspamd
5bin/${PKGNAME} 5bin/${PKGNAME}
6lib/rspamd/librspamd-cdb.so 6lib/rspamd/librspamd-actrie.so
7lib/rspamd/librspamd-cdb.so.${PKGVERSION} 
8lib/rspamd/librspamd-http-parser.so 
9lib/rspamd/librspamd-http-parser.so.${PKGVERSION} 
10lib/rspamd/librspamd-lua.so 
11lib/rspamd/librspamd-lua.so.${PKGVERSION} 
12lib/rspamd/librspamd-mime.so 
13lib/rspamd/librspamd-mime.so.${PKGVERSION} 
14lib/rspamd/librspamd-server.so 
15lib/rspamd/librspamd-server.so.${PKGVERSION} 
16lib/rspamd/librspamd-util.so 
17lib/rspamd/librspamd-util.so.${PKGVERSION} 
18lib/rspamd/librspamdclient.so 
19man/man1/rspamc.1 7man/man1/rspamc.1
20man/man8/rspamd.8 8man/man8/rspamd.8
21share/examples/rspamd/2tld.inc 9share/examples/rspamd/2tld.inc
 10share/examples/rspamd/common.conf
22share/examples/rspamd/composites.conf 11share/examples/rspamd/composites.conf
23share/examples/rspamd/logging.conf 12share/examples/rspamd/logging.inc
24share/examples/rspamd/lua/hfilter.lua 13share/examples/rspamd/lua/hfilter.lua
25share/examples/rspamd/lua/regexp/drugs.lua 14share/examples/rspamd/lua/regexp/drugs.lua
26share/examples/rspamd/lua/regexp/fraud.lua 15share/examples/rspamd/lua/regexp/fraud.lua
27share/examples/rspamd/lua/regexp/headers.lua 16share/examples/rspamd/lua/regexp/headers.lua
28share/examples/rspamd/lua/regexp/lotto.lua 17share/examples/rspamd/lua/regexp/lotto.lua
29share/examples/rspamd/lua/rspamd.classifiers.lua 18share/examples/rspamd/lua/rspamd.classifiers.lua
30share/examples/rspamd/lua/rspamd.lua 19share/examples/rspamd/lua/rspamd.lua
31share/examples/rspamd/metrics.conf 20share/examples/rspamd/metrics.conf
32share/examples/rspamd/modules.conf 21share/examples/rspamd/modules.conf
33share/examples/rspamd/options.conf 22share/examples/rspamd/options.inc
34share/examples/rspamd/rspamd.conf 23share/examples/rspamd/rspamd.conf
35share/examples/rspamd/statistic.conf 24share/examples/rspamd/statistic.conf
36share/examples/rspamd/surbl-whitelist.inc 25share/examples/rspamd/surbl-whitelist.inc
37share/examples/rspamd/workers.conf 26share/examples/rspamd/worker-controller.inc
 27share/examples/rspamd/worker-normal.inc
 28share/rspamd/effective_tld_names.dat
 29share/rspamd/lua/dmarc.lua
38share/rspamd/lua/emails.lua 30share/rspamd/lua/emails.lua
39share/rspamd/lua/forged_recipients.lua 31share/rspamd/lua/forged_recipients.lua
 32share/rspamd/lua/fun.lua
40share/rspamd/lua/ip_score.lua 33share/rspamd/lua/ip_score.lua
41share/rspamd/lua/maillist.lua 34share/rspamd/lua/maillist.lua
42share/rspamd/lua/multimap.lua 35share/rspamd/lua/multimap.lua
43share/rspamd/lua/once_received.lua 36share/rspamd/lua/once_received.lua
44share/rspamd/lua/phishing.lua 37share/rspamd/lua/phishing.lua
45share/rspamd/lua/ratelimit.lua 38share/rspamd/lua/ratelimit.lua
46share/rspamd/lua/rbl.lua 39share/rspamd/lua/rbl.lua
47share/rspamd/lua/settings.lua 40share/rspamd/lua/settings.lua
 41share/rspamd/lua/spamassassin.lua
48share/rspamd/lua/trie.lua 42share/rspamd/lua/trie.lua
49share/rspamd/www/README.md 43share/rspamd/www/README.md
50share/rspamd/www/css/rspamd.css 44share/rspamd/www/css/rspamd.css
51share/rspamd/www/img/asc.png 45share/rspamd/www/img/asc.png
52share/rspamd/www/img/desc.png 46share/rspamd/www/img/desc.png
53share/rspamd/www/img/spinner.gif 47share/rspamd/www/img/spinner.gif
54share/rspamd/www/img/spinner.png 48share/rspamd/www/img/spinner.png
55share/rspamd/www/index.html 49share/rspamd/www/index.html
56share/rspamd/www/js/jquery.paginatetable.js 50share/rspamd/www/js/jquery.paginatetable.js
57share/rspamd/www/js/rspamd.js 51share/rspamd/www/js/rspamd.js
58share/rspamd/www/plugins.txt 52share/rspamd/www/plugins.txt

cvs diff -r1.4 -r1.5 pkgsrc/mail/rspamd/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/rspamd/distinfo 2015/01/23 21:47:44 1.4
+++ pkgsrc/mail/rspamd/distinfo 2015/06/05 00:49:35 1.5
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.4 2015/01/23 21:47:44 wiedi Exp $ 1$NetBSD: distinfo,v 1.5 2015/06/05 00:49:35 wiedi Exp $
2 2
3SHA1 (rspamd-0.8.1.tar.xz) = 7ffe119d8ddfb05e298d740c2ad66156385170db 3SHA1 (rspamd-0.9.5.tar.xz) = c298e7e02f77fc1577008ef5aa1da3ec5c8e2723
4RMD160 (rspamd-0.8.1.tar.xz) = 16817053945d234122a93aee39287320f8c5cf75 4RMD160 (rspamd-0.9.5.tar.xz) = 786b767f11328d4914db29dbbc13896742ee96a2
5Size (rspamd-0.8.1.tar.xz) = 750724 bytes 5Size (rspamd-0.9.5.tar.xz) = 802752 bytes