Florent Bruneau [Sat, 4 Oct 2008 13:04:42 +0000 (15:04 +0200)]
Add hostname match on recipient_domain and sender_domain.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 4 Oct 2008 10:39:46 +0000 (12:39 +0200)]
Add query->(recipient|sender)_domain
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 4 Oct 2008 07:39:24 +0000 (09:39 +0200)]
This is useless.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 4 Oct 2008 07:36:42 +0000 (09:36 +0200)]
Ensure config is properly unloaded.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 4 Oct 2008 07:32:30 +0000 (09:32 +0200)]
Cleanup logging.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 3 Oct 2008 20:31:33 +0000 (22:31 +0200)]
Log filter result.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 3 Oct 2008 20:18:16 +0000 (22:18 +0200)]
Add prefix and suffix matching for strlist filter.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 2 Oct 2008 21:32:26 +0000 (23:32 +0200)]
Cleanup daemon startup.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 2 Oct 2008 20:00:58 +0000 (22:00 +0200)]
Add corrupted database detection, improves logging.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 2 Oct 2008 19:46:55 +0000 (21:46 +0200)]
Typo.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 2 Oct 2008 19:42:11 +0000 (21:42 +0200)]
Fix a valgrind warning in unit test runner.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 2 Oct 2008 06:35:23 +0000 (08:35 +0200)]
Better init.d script.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 21:31:38 +0000 (23:31 +0200)]
Example of init script.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 21:23:50 +0000 (23:23 +0200)]
Fix cleanup. Improve logging.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 21:09:26 +0000 (23:09 +0200)]
Implements greylist database cleanup.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 18:35:42 +0000 (20:35 +0200)]
Add doc about the new max_age parameter of the greylister.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 18:30:08 +0000 (20:30 +0200)]
Add a test of the cleanup.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 06:44:03 +0000 (08:44 +0200)]
Add entry deprecation in greylist.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 1 Oct 2008 06:25:05 +0000 (08:25 +0200)]
Add test for retry out of the retry_window.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 30 Sep 2008 22:16:59 +0000 (00:16 +0200)]
Add greylist tests.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 29 Sep 2008 21:23:49 +0000 (23:23 +0200)]
More tests.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 29 Sep 2008 21:10:27 +0000 (23:10 +0200)]
More testcases.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 29 Sep 2008 20:51:07 +0000 (22:51 +0200)]
Add a second testcase.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 29 Sep 2008 20:25:06 +0000 (22:25 +0200)]
Add test data.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sun, 28 Sep 2008 20:01:20 +0000 (22:01 +0200)]
Start adding tests for the filters.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sun, 28 Sep 2008 13:14:29 +0000 (15:14 +0200)]
Add filter_test and move query parser in its own file.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sun, 28 Sep 2008 10:10:56 +0000 (12:10 +0200)]
Minor fix.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sun, 28 Sep 2008 09:58:58 +0000 (11:58 +0200)]
Just a few helpers.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sun, 28 Sep 2008 09:34:38 +0000 (11:34 +0200)]
mprotect locked arrays.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 24 Sep 2008 19:44:31 +0000 (21:44 +0200)]
Not so bad.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 24 Sep 2008 19:42:47 +0000 (21:42 +0200)]
Add the new filter type in configuration example.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 24 Sep 2008 19:31:50 +0000 (21:31 +0200)]
Fixes.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 24 Sep 2008 06:52:27 +0000 (08:52 +0200)]
Use str.h functions for case insensitive comparisons.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 24 Sep 2008 06:47:05 +0000 (08:47 +0200)]
Implements filtering.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 23 Sep 2008 21:00:13 +0000 (23:00 +0200)]
Starts a "match" filter that compares a field of the query with a given value.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 22 Sep 2008 20:36:25 +0000 (22:36 +0200)]
Save 4bytes per entry of the trie.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 19 Sep 2008 15:34:01 +0000 (17:34 +0200)]
Reorder conf.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 19 Sep 2008 15:30:44 +0000 (17:30 +0200)]
Add server port in the example.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 19 Sep 2008 15:28:03 +0000 (17:28 +0200)]
Read the port from the configuration file.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 18 Sep 2008 20:57:52 +0000 (22:57 +0200)]
Simplify code.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 18 Sep 2008 20:17:45 +0000 (22:17 +0200)]
Configuration reloader for postlicyd.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 18 Sep 2008 16:15:37 +0000 (18:15 +0200)]
Add hook to refresh config on SIGHUP.
Lock the pid file.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 21:30:54 +0000 (23:30 +0200)]
Array contains a "lock" flag, allowing "per array" locking.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 20:19:53 +0000 (22:19 +0200)]
Some improvements to the trie:
- add trie_prefix to check if the trie contains a prefix for a string.
- add comments
- lock the trie_t structure, not only its content.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 18:21:39 +0000 (20:21 +0200)]
Oops.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 17:27:49 +0000 (19:27 +0200)]
Fix loop detection (we're on oriented graph).
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 15:51:11 +0000 (17:51 +0200)]
Remove debug.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 14:43:08 +0000 (16:43 +0200)]
Declare Array(void*).
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 14:38:06 +0000 (16:38 +0200)]
Store param value length. Fix off-by-one.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 17 Sep 2008 10:18:04 +0000 (12:18 +0200)]
Check configuration for internal loops.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 20:57:21 +0000 (22:57 +0200)]
Strlist filter.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 19:00:52 +0000 (21:00 +0200)]
Rename rbl to iplist since it can be whitelisting.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 18:57:45 +0000 (20:57 +0200)]
Hop !
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 17:36:22 +0000 (19:36 +0200)]
typo.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 17:31:12 +0000 (19:31 +0200)]
Update conf.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 17:29:51 +0000 (19:29 +0200)]
RTrim strings.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 17:23:39 +0000 (19:23 +0200)]
Factorize PARSE_INT...
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 16:31:39 +0000 (18:31 +0200)]
Add a "special" return value: abort.
Abort is a *private* hook and can not be associated to a user action. When
abort is returned, the connection is closed as requested by the
"SMTPD_POLICY_README".
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 15:16:02 +0000 (17:16 +0200)]
Configuration example (and documentation).
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 16 Sep 2008 15:15:38 +0000 (17:15 +0200)]
Can set an entry point per protocol-state.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 16:30:51 +0000 (18:30 +0200)]
Filter runner logs.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 16:23:12 +0000 (18:23 +0200)]
More logs in greylister... need tests.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 16:01:50 +0000 (18:01 +0200)]
Greylist filter.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 14:46:29 +0000 (16:46 +0200)]
Implements filter runner.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 13:59:42 +0000 (15:59 +0200)]
filter_params_t -> filter_param_t
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 13:33:09 +0000 (15:33 +0200)]
Tokenize params too.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Mon, 15 Sep 2008 12:22:10 +0000 (14:22 +0200)]
Tokenize hook names.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 13 Sep 2008 16:48:18 +0000 (18:48 +0200)]
Generated token list by parsing the sources.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 13 Sep 2008 15:46:00 +0000 (17:46 +0200)]
rbl filter implementation.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 13 Sep 2008 14:04:59 +0000 (16:04 +0200)]
Fix order of linkage to setup modules in a correct order.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 13 Sep 2008 07:39:53 +0000 (09:39 +0200)]
foreach() semantic for arrays, improves configuration post-processing.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Sat, 13 Sep 2008 07:39:06 +0000 (09:39 +0200)]
Fix off-by-one.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 20:49:59 +0000 (22:49 +0200)]
Add array_lock and array_unlock.
Convert rbl to use array_t.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 20:37:36 +0000 (22:37 +0200)]
Switch to array_t and feed the filters from config.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 20:37:14 +0000 (22:37 +0200)]
Add the A() macro to get the array type.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 20:04:40 +0000 (22:04 +0200)]
Add array framework that works with any type.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 17:32:46 +0000 (19:32 +0200)]
Cleanup.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 17:10:57 +0000 (19:10 +0200)]
Fix config parser.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 16:24:17 +0000 (18:24 +0200)]
Initial version of the parser.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 14:12:19 +0000 (16:12 +0200)]
Factorize code to map a file into memory.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Fri, 12 Sep 2008 13:16:05 +0000 (15:16 +0200)]
Prepare filter and config design.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 16:47:14 +0000 (18:47 +0200)]
Update guards.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 16:04:27 +0000 (18:04 +0200)]
Highly reduce the number of allocations required to build a trie.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 12:42:50 +0000 (14:42 +0200)]
Publish trie_lock and trie_unlock.
Don't forget to unlock before deletion.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 12:36:03 +0000 (14:36 +0200)]
Add protection against lookup in not compiled trie (and vice-versa).
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 12:30:05 +0000 (14:30 +0200)]
Add show_content parameter to trie_inspect().
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 12:26:49 +0000 (14:26 +0200)]
Fix duplicate management.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 12:10:56 +0000 (14:10 +0200)]
English.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 11:58:41 +0000 (13:58 +0200)]
More informations in trie_inspect.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 11:19:00 +0000 (13:19 +0200)]
Add shrink and memblock.
Does not support duplicates anymore.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Thu, 11 Sep 2008 10:58:23 +0000 (12:58 +0200)]
Smaller memory footprint.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 22:32:37 +0000 (00:32 +0200)]
Fix m_strncpy() speed issue.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 22:24:11 +0000 (00:24 +0200)]
Compacter trie, reduce the number of allocations.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 21:27:52 +0000 (23:27 +0200)]
More tests and fixes.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 17:58:36 +0000 (19:58 +0200)]
Lookup tests.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 17:53:21 +0000 (19:53 +0200)]
Add tst-trie to gitignore.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 17:52:35 +0000 (19:52 +0200)]
Fixes and add small tests.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 16:56:29 +0000 (18:56 +0200)]
Initial implementation of a patricia-trie str->boolean.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Wed, 10 Sep 2008 16:37:05 +0000 (18:37 +0200)]
Missing error report, and fix error in binary search.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
Florent Bruneau [Tue, 9 Sep 2008 16:12:56 +0000 (18:12 +0200)]
Prepare tokenizer for filter names.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>