Commit Graph

117 Commits

Author SHA1 Message Date
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
Vsevolod Stakhov
474a08d028 * Fix issue with including sys/uio.h for writev and readv 2009-03-24 18:49:48 +03:00
Vsevolod Stakhov
5dbf570b7d * Fix many compile time warnings and polish code 2009-03-24 18:38:11 +03:00
Vsevolod Stakhov
6088008d6c * With flag -t syntax of modules variables is also inspected
* Set "C" locale on start to avoid some troubles with logging
2009-03-19 12:25:14 +03:00
Vsevolod Stakhov
8956934199 * Add ability to fork multiply lmtp workers
* Add ability to drop privilleges of rspamd processes
* Add ability to install redirector with rspamd
* Add FreeBSD start scripts for rspamd and redirector
* Remove command line parsing from util.c as it has specific usage only in main process
2009-03-03 18:56:10 +03:00
Vsevolod Stakhov
def8d3d1a9 * Add compatibility with gmime24 2009-03-02 13:09:33 +03:00
Vsevolod Stakhov
120980beba * Fix logging when process is starting
* Add -t option for config testing
* Try to search default config in install prefix not in current directory
2009-02-26 18:51:31 +03:00
Vsevolod Stakhov
b9a9496cc4 * Fix memory corruption and lmtp handling
* Add e-mail address validation in lmtp
2009-02-25 14:03:42 +03:00
Vsevolod Stakhov
1cd34f5283 * Add initial LMTP support and LDA delivery to rspamd 2009-02-24 20:16:53 +03:00
Vsevolod Stakhov
2300ff7346 * Add issue to cmake to make perl module as well
* Fix some portability issues (to FreeBSD mainly)
* Add script to make modules list
2009-02-17 15:04:24 +03:00
Vsevolod Stakhov
0fd2682e11 * Prepare to migrate to cmake (still need to write install target and working with XS implicitly)
* Move all system includes to one file where we detect availability of all that includes
* Fix license misprint
* Fix some issues with perl initializing
2009-02-16 19:50:18 +03:00
cebka@cebka-laptop
fee5af783e * Configure modules when worker starts for simplifying reconfig procedure
* Add two behaviour types of memory allocator: greedy and ungreedy
* Adopt surbl module for new configure style
2008-10-14 17:34:56 +04:00
Vsevolod Stakhov
b58d2b7e4d * Add initial implementation of surbl check module 2008-09-03 19:13:24 +04:00
Vsevolod Stakhov
8b8ae0cf7a * Add initial implementation of C modules API 2008-08-14 17:14:02 +04:00