Commit Graph

163 Commits

Author SHA1 Message Date
Vsevolod Stakhov
cbb129cba4 Add pcre2 detection 2016-02-09 11:26:16 +00:00
Vsevolod Stakhov
63f8b66c21 Add plain open file API method 2016-02-02 23:42:42 +00:00
Vsevolod Stakhov
c2ff857a70 Add detection of libfann 2015-12-21 12:28:41 +00:00
Vsevolod Stakhov
5914e5c6e2 Support GIT_ID variable 2015-12-18 14:24:01 +00:00
Vsevolod Stakhov
a99900534b Enable core files limits for rspamd 2015-12-11 17:35:58 +00:00
Vsevolod Stakhov
c81b768ae5 Improve and simplify endiannes detection 2015-12-11 16:30:52 +00:00
Vsevolod Stakhov
be2034ea24 Start hyperscan support 2015-12-07 14:29:25 +00:00
Vsevolod Stakhov
86c5962983 Use atomic ops if possible 2015-11-26 18:50:03 +00:00
Vsevolod Stakhov
c5e769ec0c Allow conditional build of snowball. 2015-10-23 11:51:53 +01:00
Vsevolod Stakhov
006ac63208 Slightly optimize alignment 2015-10-16 12:50:56 +01:00
Vsevolod Stakhov
6ceac089b6 Fix some portability issues. 2015-10-15 11:28:41 +01:00
Vsevolod Stakhov
58171591de Check for async IO support. 2015-10-08 18:50:39 +01:00
Vsevolod Stakhov
694ef3873d Check for SOCK_SEQPACKET definition. 2015-10-08 16:56:50 +01:00
Vsevolod Stakhov
eb737947eb Reorganize includes to reduce namespace pollution. 2015-10-08 13:15:15 +01:00
Vsevolod Stakhov
275602c0ea Fix dirent include. 2015-10-03 16:09:58 +01:00
Vsevolod Stakhov
a22ea751b6 Update libucl and use UCL_RANDOM_FUNCTION. 2015-08-18 13:17:16 +01:00
Vsevolod Stakhov
c8b9de6070 Store RULESDIR in the code and UCL. 2015-08-07 14:39:45 +01:00
Vsevolod Stakhov
2a5e10cd47 Hide workers and modules definitions. 2015-08-06 15:30:10 +01:00
Vsevolod Stakhov
a891c5b85e Move bits compatibility function. 2015-06-02 15:39:37 +01:00
Vsevolod Stakhov
b4cfe06003 Make hiredis optional dependency. 2015-05-19 13:43:26 +01:00
Vsevolod Stakhov
4c7e7cb362 Some pcre distributions are brain damaged. 2015-05-06 12:27:35 +01:00
Vsevolod Stakhov
77cb03664e Use __get_cpuid if available. 2015-03-14 19:56:22 +00:00
Vsevolod Stakhov
2537f3e7fb Add JIT detection macro. 2015-03-05 14:39:49 +00:00
Vsevolod Stakhov
e4cc017c5d Rework lua tests one more time. 2015-02-28 00:11:56 +00:00
Vsevolod Stakhov
544fea1f9f Unify align macro. 2015-02-08 22:27:04 +00:00
Vsevolod Stakhov
b5e9a22e49 Add explicit_memzero function. 2015-02-03 22:03:22 +00:00
Vsevolod Stakhov
18984aadd0 Rewrite fuzzy check plugin. 2014-12-22 15:19:59 +00:00
Vsevolod Stakhov
e5026b003d Pack fuzzy commands. 2014-12-22 13:25:12 +00:00
Vsevolod Stakhov
2eed87e9b8 Use PTHREAD_PROCESS_SHARED mutexes if possible. 2014-11-01 22:11:15 +00:00
Vsevolod Stakhov
8cf4740696 Resatore check for sched_yield. 2014-09-18 13:08:37 +01:00
Vsevolod Stakhov
505a20a176 Do not force murmur for uthash. 2014-08-24 16:44:11 +01:00
Vsevolod Stakhov
43fbe02329 Some fixes for OpenBSD. 2014-05-13 15:08:05 +01:00
Vsevolod Stakhov
2c4e333544 Add attach_controller callback to plugins. 2014-04-30 14:10:14 +01:00
Vsevolod Stakhov
40c6406e4a Remove memcached support. 2014-04-30 13:32:36 +01:00
Vsevolod Stakhov
e713036bd3 Add WWWDIR macro to rspamd configuration. 2014-04-24 18:15:33 +01:00
Vsevolod Stakhov
a9fba6f528 Move some rarely used includes from config.h 2014-04-10 15:48:08 -07:00
Vsevolod Stakhov
a17cfff992 Use libucl as git submodule. 2014-04-10 15:21:59 -07:00
Vsevolod Stakhov
2883047899 Fix simultaneous bind to ipv6 and ipv6 sockets. 2014-01-09 15:49:29 +00:00
Vsevolod Stakhov
47a97183b9 Remove workaround as it doesn't work. 2013-12-04 16:28:42 +00:00
Vsevolod Stakhov
4ce9f550f5 Fix some broken glib packages (osx in particular). 2013-12-04 13:52:58 +00:00
Vsevolod Stakhov
703fb40d6e Rework fuzzy check module.
- Now all checks are organized to rules.
- Allow to specify read_only rules to avoid problems on learning.
- Use better normalizer for fuzzy module and it now returns values
  from 0 to 1.0 (like bayes does).
- Update configuration accordingly.
- Drop legacy configuration support.
- Detect tanh as well and provide some reasonable (linear) fallback.
2013-12-04 13:41:26 +00:00
Vsevolod Stakhov
4abb85d399 Rework build and install paths. 2013-11-19 16:17:13 +00:00
Vsevolod Stakhov
0f3bef042e Add rcl parsers for workers options. 2013-09-30 16:43:52 +01:00
Vsevolod Stakhov
fc9211cf8d Add ability to sign configs using rspamd. 2013-08-22 14:57:03 +01:00
Vsevolod Stakhov
cade3789f8 Add detecting of libfetch/libcurl for rcl. 2013-08-19 00:09:50 +01:00
Vsevolod Stakhov
c6949b0fd2 Another fix for id broken logic. 2013-08-08 15:08:04 +01:00
Vsevolod Stakhov
655ca0dfc4 Start rcl parser implementation. 2013-08-05 17:50:05 +01:00
Vsevolod Stakhov
73daa89974 Use glib slab allocator for hash tables. 2013-08-04 13:45:34 +01:00
Vsevolod Stakhov
8adde9930b Use murumur for uthash if possible. 2013-08-04 00:35:03 +01:00
Vsevolod Stakhov
8abd76b18f Allow listening on multiply addresses.
Now rspamd can listen on multiply ipv4/ipv6 addresses.
Removed legacy workers (lmtp, kvstorage) as they are never used
in production.
Try to unify workers initialization.
2013-07-20 18:42:29 +01:00
Vsevolod Stakhov
9a357fb282 Fix portability on Solaris. 2013-06-20 12:21:38 +01:00
Vsevolod Stakhov
2be05d7af7 Export rspamd paths to lua. 2013-06-12 15:59:12 +01:00
Vsevolod Stakhov
c6bc0ad68e Detect exp2l as well. Update to 0.5.6. 2013-06-10 13:20:45 +01:00
Vsevolod Stakhov
48197c2ea1 Test for expl function presence. 2013-06-09 15:47:34 +01:00
Vsevolod Stakhov
1650f051c1 Fix CentOS 5 build. 2013-03-27 11:53:05 +00:00
Vsevolod Stakhov
2e615083e4 Fix build on FreeBSD 9.1 and Current. Thanks to Anton Yuzjaninov for testing. 2012-07-26 16:43:36 +04:00
Vsevolod Stakhov
56b591bcb2 * Allow to use other composites inside a composite's expression
Fix for cmake 2.6.
2012-06-14 22:20:50 +04:00
Vsevolod Stakhov
8a6fa6ab3b Strict prototypes. 2012-06-05 20:52:41 +04:00
Vsevolod Stakhov
eccece67e6 * Add signing and simple canonization support (not finished yet, work in progress). 2012-05-28 21:31:56 +04:00
Vsevolod Stakhov
4d4668a0d4 * Fix spf plugin that was broken in 0.4.7
* Add partial ipv6 support for some rspamd modules.
2012-04-20 20:02:28 +04:00
Vsevolod Stakhov
9bacf0d835 * Introduce new system of worker's and modules initialization:
- Removed legacy limitation of worker's types;
  - Using GQuarks to identify workers and modules;
  - Remove modules.sh script;
  - Add a common system of workers and modules;
  - Write management and configuration for new architecture.
2012-01-16 20:59:37 +04:00
Vsevolod Stakhov
9f2cb66ccb * Add AIO framework for linux io(3) interface. 2012-01-16 17:36:22 +04:00
Vsevolod Stakhov
44311f4235 Detect and use fallocate/posix_fallocate. 2011-12-14 19:34:50 +03:00
Vsevolod Stakhov
22396e2aa4 Fix build with system-wide libhiredis. 2011-12-13 16:42:03 +03:00
Vsevolod Stakhov
af6dc0cb17 * Implement file backend. 2011-11-17 18:34:02 +03:00
Vsevolod Stakhov
f678526b20 * Implement sqlite3 backend for kvstorage. 2011-11-02 17:49:09 +03:00
Vsevolod Stakhov
c750ae5859 * Fix threading in kvstorage.
Rspamd now can detect and work with libevent-2.
2011-10-31 20:02:55 +03:00
Vsevolod Stakhov
da3412c27b Fix siginfo detection code. 2011-10-24 18:30:43 +03:00
Vsevolod Stakhov
96e14f0474 Fix build under Solaris10. Reported in https://bitbucket.org/vstakhov/rspamd/issue/21/rspamd-solaris10-x86-openindiana 2011-10-17 14:19:38 +03:00
Vsevolod Stakhov
62cbfbe0f9 * Initial implementation of key-value storage
Detect and link against bdb
Change version to 0.4.5
2011-10-11 19:39:38 +04:00
Vsevolod Stakhov
4c4773d96b * Fix build under CentOS 5 with old glib 2.12
* Fix build of rspamd with CMAKE_BINARY_DIR differs from CMAKE_SOURCE_DIR
Rework include style.
2011-07-29 20:35:00 +04:00
Vsevolod Stakhov
683b90f4c6 * Major cleanup of cmake build system
* Add initial version of statshow utility for statfiles debugging
* Add debugging for statistics
* Remove unused utilities
2011-05-06 19:18:40 +04:00
Vsevolod Stakhov
1d4a64659b * Main process now has 'hard termination time' - maximum time between getting termination signal and waiting for workers 2011-03-23 17:42:33 +03:00
Vsevolod Stakhov
0bb8eff9b5 * Implement ability to add conditional rules to rspamd.xml 2010-12-15 22:10:42 +03:00
Vsevolod Stakhov
426963bff9 Write release id if rspamd is built from hg. 2010-12-03 17:09:00 +03:00
Vsevolod Stakhov
868842d9c1 * Add bayesian classifier (initial version) 2010-08-13 18:50:29 +04:00
Vsevolod Stakhov
18ce6f0c60 * Fix compatibility issues 2010-06-23 14:45:33 +04:00
Vsevolod Stakhov
ff68b52bec * More to previous commit 2010-06-22 21:36:02 +04:00
Vsevolod Stakhov
1367e68d24 * TIMEDB->TIMEB 2010-06-22 21:28:41 +04:00
Vsevolod Stakhov
e9d2ad6a1b * Rewrite buffered input for line policy (again)
* Fix issue with links that are ip addresses in numeric form in surbl
* On Darwin use BSD style sendfile definition
* Reorganize platform specific knobs in CMakeLists
* Use gettimeofday on systems that have not clock_getres
* Use ftime for dns trans id generation on systems without clock_getres
2010-06-22 17:39:03 +04:00
Vsevolod Stakhov
9759175c6d * New logic of SURBL module:
- remove completely 2tld
 - add option "exception"
 - for domains from exception list check (level + 1) parts of url:
   If we have url mail.some.com.ru and have com.ru in exception list
   then we would check some.com.ru. If we have some.com.ru in exceptions
   list them mail.some.com.ru would be checked and so on.
 - optimized parsing of surbl requests

* Use system mkstemp(3) on systems where it is available as glib implementation
  has poor security and generate rather predictable temporary file names.
2010-06-18 22:07:28 +04:00
Vsevolod Stakhov
0708274160 * Check messages received via smtp proxy
* Add support for sendfile in io dispatcher
* Fix issues with compatibility of worker_task and smtp proxy
* Proxy DATA command
2010-06-10 21:47:22 +04:00
Vsevolod Stakhov
0612e84b3c * Fix strict aliasing while compiling with optimization
* Fix tanhl detection for platforms that have not implementation of it
* Remove several compile warnings
2010-05-31 17:17:13 +04:00
cebka@lenovo-laptop
ddba1860ec * Try to speed up fuzzy storage 2010-03-18 19:43:55 +03:00
cebka@lenovo-laptop
730d2740eb * Fix cores in spf code (partially)
* Add support for spf 2.0 (Sender ID policy)
* Add support of MAP_NOCORE to systems that supports it (FreeBSD for example)
2010-02-27 18:59:05 +03:00
cebka@lenovo-laptop
72e6f43d54 * Add ability to build rspamd static 2010-02-19 18:13:54 +03:00
cebka@lenovo-laptop
56f520e21f * Add support of custom filters in rspamd worker
- custom filters are dlopened and provides callbacks for user's input processing
  - custom filters can be used to extend rspamd functionality for unusual (non email processing cases)
  - custom filters allows to use rspamd async IO model and process management for performing custom network tasks
2010-01-29 19:18:34 +03:00
Vsevolod Stakhov
9b6b141a93 * Add more advanced signal processing routine 2009-11-05 18:09:54 +03:00
Vsevolod Stakhov
bb1b1f7889 * Implement new system of managing rspamd processes 2009-10-30 18:30:51 +03:00
Vsevolod Stakhov
f11a1c737f * Add time out for sync IO as it can cause unpredictable errors 2009-09-21 18:46:48 +04:00
Vsevolod Stakhov
6b57031f55 * Add lua plugin for checking received headers
* Some tunes to lua API
* Fix bug with http maps
* Optimize installation and make custom prefix for configs
2009-09-15 18:42:05 +04:00
Vsevolod Stakhov
d1b63d4cff * Add ability to call rspamd fucntions from lua api
* Make logging adaptive based on log speed (buffered vs unbuffered IO)
* Fix lua API docs
* Now lua modules can be loaded with glob patterns
2009-09-06 19:55:23 +04:00
Vsevolod Stakhov
b8c5174335 * Improve google perf tools support
* Pass to event_add only copies of struct timeval to avoid timing problems
2009-08-25 13:50:35 +04:00
Vsevolod Stakhov
2a21701f6c * Improve locking by using asm 'pause' command
* Try to fix read locking in rwlock
2009-06-17 20:31:42 +04:00
Vsevolod Stakhov
e30ea48c91 * Enable support of google perf tools 2009-05-04 16:39:35 +04:00
Vsevolod Stakhov
6cb3a85919 * Enable gprof support 2009-04-29 16:37:03 +04:00
Vsevolod Stakhov
0f53bbf368 * Include sys/resource.h for getrlimit 2009-04-15 16:30:06 +04:00
Vsevolod Stakhov
89a83f2ef6 * Add initial LUA filters support 2009-03-27 18:30:40 +03:00
Vsevolod Stakhov
a83e5f18a2 * Add ability to build rspamd without perl support
* Fix creating of uinx socket
* Improve some build issues
2009-03-27 14:21:27 +03:00
Vsevolod Stakhov
b539b43249 * More accurate work with clock 2009-03-25 13:10:48 +03:00