Vsevolod Stakhov
a2af801eea
* Optimize configure by using caching of determined options (more than 2 times faster than before)
15 years ago
Vsevolod Stakhov
2aa9c74f1c
* Reorganize structure of source files
* Adopt build system for new structure
--HG--
rename : cfg_file.h => src/cfg_file.h
rename : cfg_file.l => src/cfg_file.l
rename : cfg_file.y => src/cfg_file.y
rename : cfg_utils.c => src/cfg_utils.c
rename : controller.c => src/controller.c
rename : filter.c => src/filter.c
rename : filter.h => src/filter.h
rename : fstring.c => src/fstring.c
rename : fstring.h => src/fstring.h
rename : main.c => src/main.c
rename : main.h => src/main.h
rename : mem_pool.c => src/mem_pool.c
rename : mem_pool.h => src/mem_pool.h
rename : memcached-test.c => src/memcached-test.c
rename : memcached.c => src/memcached.c
rename : memcached.h => src/memcached.h
rename : perl.c => src/perl.c
rename : perl.h => src/perl.h
rename : plugins/regexp.c => src/plugins/regexp.c
rename : plugins/surbl.c => src/plugins/surbl.c
rename : protocol.c => src/protocol.c
rename : protocol.h => src/protocol.h
rename : upstream.c => src/upstream.c
rename : upstream.h => src/upstream.h
rename : url.c => src/url.c
rename : url.h => src/url.h
rename : util.c => src/util.c
rename : util.h => src/util.h
rename : worker.c => src/worker.c
15 years ago
Vsevolod Stakhov
cc5343692b
* Add determining page size function to mem_pool library
* Add simple statistic structure that is placed in shared memory and used for gathering server's stats
15 years ago
Vsevolod Stakhov
c52d0879cc
* Add main logging functions (log to file, syslog and console)
* Handle log reopening
15 years ago
Vsevolod Stakhov
9a7ba3e09a
* Add ability to handle multiply recipients
* Reflect changes to perl library
15 years ago
Vsevolod Stakhov
fb659154cb
* Stylify and fix util functions that was gathered from libutil code (memory allocation)
* Fix protocol and network functions
* Fix some memory allocation issues
15 years ago
Vsevolod Stakhov
e5f01249a3
* Add initial implementation of control interface
15 years ago
Vsevolod Stakhov
9d6f80f8a3
* Add initial implementation of regexp module
15 years ago
Vsevolod Stakhov
6224f2a347
* Parse header regexps in other way (header_name=/some_regexp/flags)
15 years ago
Vsevolod Stakhov
802890f0f2
* Add support of shared memory chunks to memory pool allocator. Also add locking support (spin mutexes)
* Add simple test case for shared memory allocation
15 years ago
cebka@cebka-laptop
cd9b528a22
* Implement composite symbols
15 years ago
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
15 years ago
cebka@mailsupport.rambler.ru
3f8572f209
* Implement destructors stack in memory pool, so there is now
convinient way to free objects in pool that was allocated by other
memory allocation mechanics (e.g. GObject).
Destructors must be added in pool manually by calling memory_pool_add_destructor
function.
15 years ago
cebka@mailsupport.rambler.ru
fd84d363d8
* Add utility function for parsing regexp from given string (type flags and pcre flags)
15 years ago
cebka@cebka-laptop
da93e9d635
* Implement expression parser (convertor to inverse polish record)
* Improve configure system by implementing dependencies
* Add .depend files for subdirs that requre it
* Write simple test for expressions parser
15 years ago
cebka@cebka-laptop
6c55c3314c
* Write protocol output functions
* Fix test suite build under linux
15 years ago
cebka@mailsupport.rambler.ru
9571811836
* Add routines to perl api to access new results adding function and getting param function
this allows accessing to modules config from perl modules
16 years ago
cebka@mailsupport.rambler.ru
e117181e29
* Remove unused debug messages from url library
16 years ago
cebka@mailsupport.rambler.ru
2709f44666
* Add filter processing function which implements new filter's logic
16 years ago
cebka@mailsupport.rambler.ru
0c1b3da90d
* Rework config file memory allocation to separate memory pool for easy reloading
without calling of ~1000 free syscalls
* Add memory_pool_alloc0 for initializing newly allocated space in pool with zeroes
16 years ago
cebka@mailsupport.rambler.ru
774c6c63fa
* Implement factors consolidation function (default consolidation function for metrics)
16 years ago
cebka@mailsupport.rambler.ru
ffe2b54bd0
* Rework logic of filters
* Add some documentation to rspamd (about new filters logic and about protocol)
16 years ago
cebka@mailsupport.rambler.ru
193acf73e5
* Small updates to memory pool library
- fix cases when new chunk is allocated
- add memory pool allocator statistics
- let it work in multi-threaded environment
- add strdup function for convinience
* Use memory pool allocator more widely to avoid memory leaks in future and optimize performance
* Task pool chunk size is now pre-defined constant (16 Kb currently)
16 years ago
cebka@mailsupport.rambler.ru
2b65ae425b
* Optimize memory pools allocator
* Add test case for memory pools
16 years ago
cebka@mailsupport.rambler.ru
82e2d7ab53
* Use internal task pool for memcached operation exported for perl
* Make AV reference mortal as it is described in perlxs (3)
16 years ago
cebka@mailsupport.rambler.ru
f67c28af2a
* Place all protocol logic in separate file
- simplify protocol parsing logic
- add compatibility with sa-spamd
- TODO: add protocol output for all commands
16 years ago
cebka@mailsupport.rambler.ru
db82a6ee3a
* Avoid realloc for memory pools by making memory pool chains
16 years ago
cebka@mailsupport.rambler.ru
2c879bedd2
* Add memory pool support.
- memory pools would be used in modules for allocating task specific data without freeing it separately
- memory pools growth is implemented as multiplying by 2 its length (for avoiding multiply reallocs)
- when memory pool is freed all data that was allocated from this pool is freed too
16 years ago
cebka@mailsupport.rambler.ru
bb2e8a89d2
* Add support of variables and variable substitution in config file
16 years ago
cebka@mailsupport.rambler.ru
4ad814a6c6
* Write test case for async memcached library
* Fix memcached async library to pass test :)
16 years ago
cebka@mailsupport.rambler.ru
9e442d87b2
* Fix include dependencies
16 years ago
Vsevolod Stakhov
fe7ebd5be9
* Add utility for extracting urls from message
* Rework build system
16 years ago
Vsevolod Stakhov
57e765ce78
* Fix url parser (get regexp from our mail system)
* Add some more tests to url testcase
16 years ago
Vsevolod Stakhov
f1e17a0d63
* Fix url length while passing them to normalizer
TODO: fix html parsing regexp (now it doesn't work)
16 years ago
Vsevolod Stakhov
5237a66576
* Use glib logger and regexp matching functions
16 years ago
Vsevolod Stakhov
946ddcfbc4
* Add initial test suite using glib test suite
16 years ago
Vsevolod Stakhov
32d41689d6
* Add SURBL logic to surbl plugin
* Add whitelist and hosters list to params
16 years ago
Vsevolod Stakhov
b58d2b7e4d
* Add initial implementation of surbl check module
16 years ago
Vsevolod Stakhov
2809ad4747
* Add ability to pass options to rspamd modules via flex start conditions
16 years ago
Vsevolod Stakhov
bacc295862
* Update URL normalizer (partially taken from GNU wget)
16 years ago
Vsevolod Stakhov
a4473aedcb
* Add implementation of save point for async events in rspamd filters
16 years ago
Vsevolod Stakhov
f3b6712e04
* Add filters logic
* Perl should use separate memcached context for its operations (just do memcpy with the same socket)
TODO: add block mechanics here to avoid memcached connection closing before perl operation is finished
* Change logic of perl chain filter
16 years ago
Vsevolod Stakhov
e90352d20a
* Rewrite perl module for new XS, now perl filters got only object of rspamd module that provides access to every part of message
* Add memcached access api for perl
* Reorganize Makefile, add .PHONY targets
* Fix memcached module as now we cannot write or read several keys in async mode
16 years ago
Vsevolod Stakhov
86fd197a95
* Add initial implementation of rspamd XS module
16 years ago
Vsevolod Stakhov
4fcd073731
* Add additional headers support in protocol
16 years ago
Vsevolod Stakhov
8b8ae0cf7a
* Add initial implementation of C modules API
16 years ago
Vsevolod Stakhov
5014f7e7cb
* Add checking of tempdir (ported from rpop)
16 years ago
Vsevolod Stakhov
eab76d300d
* Add C api for calling perl filters
16 years ago
Vsevolod Stakhov
5c04a3b816
* Init perl XS correctly
16 years ago
Vsevolod Stakhov
bcf147f18f
* Add initial support of perl filters
16 years ago