Vsevolod Stakhov
87f0454e57
* Fix build under FreeBSD (forgotten include)
15 years ago
Vsevolod Stakhov
93e2e9d2fa
* Add logic for filtering messages with tokenizer/classifier pair
15 years ago
Vsevolod Stakhov
c9df6177c0
* Implement learning using classifiers and tokenizers API
15 years ago
Vsevolod Stakhov
1162170387
* Add simple implementation of classifiers abstraction and winnow classifier
* Force statfile to work with float values
15 years ago
Vsevolod Stakhov
249c0583d2
* Use binary tree in tokenizers, that would provide us fast checking for unique tokens and have O(log n) difficulty
15 years ago
Vsevolod Stakhov
42b81716ec
* Remove strlcpy code and replace it with glib alternative
* Polish code and remove bugs found
15 years ago
Vsevolod Stakhov
d62fb36650
* Add learning interface to rspamd (still requires classifier to work)
15 years ago
Vsevolod Stakhov
9a1ba2296d
* Add config routines for stat files
* Add function to resolve stat file name
15 years ago
Vsevolod Stakhov
06661f20cb
* Write functions to operate blocks in stat files
* Write test case for statistics files API
15 years ago
Vsevolod Stakhov
f1fdc9c6c1
* Add initial implementation of statistics files handling API
15 years ago
Vsevolod Stakhov
4c75854954
* Add simple locking interface to mem_pool library
15 years ago
Vsevolod Stakhov
62cdcc73c4
* Add simple implementation of OSB tokenizer
15 years ago
Vsevolod Stakhov
2175980532
* Use utf8 in description files
--HG--
rename : README-classify.koi8.txt => README-classify.utf8.txt
rename : README.koi8.txt => README.utf8.txt
15 years ago
Vsevolod Stakhov
31395157b1
* Add description of classifying process
15 years ago
Vsevolod Stakhov
f8e0edcfeb
* Add simple hash function for hashing tokens
15 years ago
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
15 years ago
cebka@mailsupport.rambler.ru
e117181e29
* Remove unused debug messages from url library
15 years ago
cebka@mailsupport.rambler.ru
2709f44666
* Add filter processing function which implements new filter's logic
15 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
15 years ago
cebka@mailsupport.rambler.ru
774c6c63fa
* Implement factors consolidation function (default consolidation function for metrics)
15 years ago
cebka@mailsupport.rambler.ru
ffe2b54bd0
* Rework logic of filters
* Add some documentation to rspamd (about new filters logic and about protocol)
15 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)
15 years ago
cebka@mailsupport.rambler.ru
2b65ae425b
* Optimize memory pools allocator
* Add test case for memory pools
15 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)
15 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
15 years ago
cebka@mailsupport.rambler.ru
db82a6ee3a
* Avoid realloc for memory pools by making memory pool chains
15 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
15 years ago
cebka@mailsupport.rambler.ru
bb2e8a89d2
* Add support of variables and variable substitution in config file
15 years ago
cebka@mailsupport.rambler.ru
4ad814a6c6
* Write test case for async memcached library
* Fix memcached async library to pass test :)
15 years ago
cebka@mailsupport.rambler.ru
9e442d87b2
* Fix include dependencies
15 years ago
Vsevolod Stakhov
fe7ebd5be9
* Add utility for extracting urls from message
* Rework build system
15 years ago
Vsevolod Stakhov
57e765ce78
* Fix url parser (get regexp from our mail system)
* Add some more tests to url testcase
15 years ago
Vsevolod Stakhov
f1e17a0d63
* Fix url length while passing them to normalizer
TODO: fix html parsing regexp (now it doesn't work)
15 years ago
Vsevolod Stakhov
5237a66576
* Use glib logger and regexp matching functions
15 years ago