* Improve logging system:
- do not write many repeated messages to log
- add process name to log line
* Small fixes to FreeBSD port and to start script as we have xml version now
* Reconfig modules while rereading config file
* Bugfixes:
- handle '\' characters in lua strings correctly
- fix lua initialization
- avoid of using global lua state (global L)
- fix listen sockets hash to allow multiply workers of same type but on different listen sockets
- fix modules options inserting to allow multiply options of the same name
- fix parsing of lua options
- fix lua rules
* Add lua functions parsing for module options
* Add missing sections to XML parser (classifier, statfile, view, settings)
* Add missing params to XML parser
* Implement new commandline options parser (using glib)
* Set version to 0.3.0 as new rspamd would use new config system
* Add dumper to XML file (not all sections yet)
* Add checksum to config files
* Some config parsing reorganizations:
- post_load_config should be called after xml initialization
- xml state machine is corrected to read main section variables
- some linting is added to xml (checking of elements parity)
Vsevolod Stakhov [Sat, 27 Mar 2010 02:12:35 +0000 (05:12 +0300)]
* New syntax parser that should make syntax check of XML configs
* Rework of config structure types (use glib types)
* TODO:
- implement the whole syntax of rspamd in XML
- implement custom handlers that modules can install
- write missing handlers
Vsevolod Stakhov [Tue, 23 Mar 2010 14:50:28 +0000 (17:50 +0300)]
* Fix freeing of module parameters (they should NOT be freed)
* Add minimum hash length to check with fuzzy module as well as whitelisting for fuzzy checks:
min_length = "300"; <- messages with more than 300 characters would be checked with fuzzy check
whitelist = "http://somehost/somefile"; <- ip addresses whitelisted
* Extend comments about module options for comfortable usage
* Fix statistics of messages in controller
* Fix building and installing perl target
* Fix learn command name
* Controller's commands are now case insensitive
* Statfiles can now be selected from popup list in cgi interface
* Password for controller's commands can now be specified in cgi interface
* New Mail::Rspamd::Client
things TODO:
- improve interaction with rspamc
- improve documentation
- test all features
- test clustering
- write CGI front-end
* Add weights command for getting weights of each message by each statfile
* Add ability to specify multiplier when learning
* Add statistics about spam and ham messages
* 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)
* Add custom filter for making marks for new user:
- each username is passed throught metaphone filter
- then we make prefix tree based on english letters from metaphone
- then we are searching for the longest common string and output result (how many times we got that string)
* Add first custom filter for making marks for ip addresses and networks
* Some additions to radix tree library:
- allow tree traverse
- add new insert methods (add and replace)
- store keys in radix nodes (thought we can calculate key by bits, but I think that storing key is not too expensive)
- values in a tree are now uintptr_t
* 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
* New system of rspamc command:
- now it is possible to specify files and directories in arguments to rspamc
- EXPERIMENTAL support of IMAP fetching including SSL support