]> source.dussan.org Git - rspamd.git/log
rspamd.git
8 years agoFix issue with SPF double IP stack
Vsevolod Stakhov [Tue, 19 Jan 2016 21:09:07 +0000 (21:09 +0000)]
Fix issue with SPF double IP stack

Issue: #483

8 years agoAlways treat DNS timeouts as temporary fail for SPF
Vsevolod Stakhov [Tue, 19 Jan 2016 20:55:54 +0000 (20:55 +0000)]
Always treat DNS timeouts as temporary fail for SPF

8 years agoFix processing of empty messages.
Vsevolod Stakhov [Tue, 19 Jan 2016 20:48:14 +0000 (20:48 +0000)]
Fix processing of empty messages.

Issue: #486
Reported by: @moisseev

8 years agoDisable fuzzy hashes from the metadata
Vsevolod Stakhov [Tue, 19 Jan 2016 18:31:11 +0000 (18:31 +0000)]
Disable fuzzy hashes from the metadata

Issue: #486

8 years agoSlightly fix documentation.
Vsevolod Stakhov [Tue, 19 Jan 2016 18:25:59 +0000 (18:25 +0000)]
Slightly fix documentation.

8 years agoReduce weight of URL_ONLY rule due to FP rate
Vsevolod Stakhov [Tue, 19 Jan 2016 15:04:00 +0000 (15:04 +0000)]
Reduce weight of URL_ONLY rule due to FP rate

8 years agoUpdate version to 1.1.1
Vsevolod Stakhov [Tue, 19 Jan 2016 15:00:05 +0000 (15:00 +0000)]
Update version to 1.1.1

8 years agoFix XBL composite to avoid duplicate symbols
Vsevolod Stakhov [Tue, 19 Jan 2016 14:58:41 +0000 (14:58 +0000)]
Fix XBL composite to avoid duplicate symbols

8 years agoReduce log severity for ratelimit missing servers
Vsevolod Stakhov [Tue, 19 Jan 2016 14:32:49 +0000 (14:32 +0000)]
Reduce log severity for ratelimit missing servers

8 years agoFix duplicated XBL symbol
Vsevolod Stakhov [Tue, 19 Jan 2016 14:27:11 +0000 (14:27 +0000)]
Fix duplicated XBL symbol

8 years agoFix some compiler warnings
Vsevolod Stakhov [Mon, 18 Jan 2016 18:11:11 +0000 (18:11 +0000)]
Fix some compiler warnings

8 years agoAdd migration notes 1.0 -> 1.1
Vsevolod Stakhov [Mon, 18 Jan 2016 18:07:39 +0000 (18:07 +0000)]
Add migration notes 1.0 -> 1.1

8 years agoMerge pull request #484 from fatalbanana/master
Vsevolod Stakhov [Mon, 18 Jan 2016 18:03:54 +0000 (18:03 +0000)]
Merge pull request #484 from fatalbanana/master

Update CentOS7 service file patch again

8 years agoUpdate CentOS7 service file patch again 484/head
Andrew Lewis [Mon, 18 Jan 2016 17:38:24 +0000 (19:38 +0200)]
Update CentOS7 service file patch again

8 years agoRelease 1.1.0 1.1.0
Vsevolod Stakhov [Mon, 18 Jan 2016 16:25:39 +0000 (16:25 +0000)]
Release 1.1.0

* Incompatible change: sqlite3 and per_user behaviour:
Now both redis and sqlite3 follows the common principles for per-user
statistics:
1) If per-user statistics is enabled check per-user tokens ONLY
2) If per-user statistics is not enabled then check common tokens ONLY
If you need old behaviour, then you'd need to use separate classifier
for per-user statistics.
* Implement redis statistics backend and cache
* Implement autolearning for statistics
* Reworked statistics architecture from scratch
* Add hyperscan (https://github.com/01org/hyperscan) engine for regular
expressions:
- add lazy loader for hyperscan databases
- rework regexp cache to have joint pcre/hyperscan scanning
- implement hyperscan pre-filter support
- add compilation guards for bad expressions
- implement `rspamadm control recompile` command
- implement hyperscan cache monitoring
- slides: <https://highsecure.ru/rspamd-hyperscan.pdf>
* Implement flexible task logging
* Rework fuzzy worker:
- it is now possible to run multiple fuzzy workers;
- implement lazy writing as sqlite3 is bad at concurrent writing;
- add retries for simple sql commands in fuzzy backend;
- use fine-grained transactions for fuzzy;
- implement new multi-pubkeys mode;
- allow encrypted only storages;
- rework statistics for fuzzy;
- add `rspamadm control fuzzystat` command for extended statistics;
- implement human readable output for the previous command;
- add condition script for learning fuzzy storage;
* Various fixes to SPF:
- fix `redirect` records;
- fix domains when parsing mx/ptr/a records in includes/redirects;
- fix issues with multiple addresses in SPF records;
- ignore SPF results in case of DNS failure;
- adjust TTL of records when resolving subelements of SPF records;
- always select `v=spf1` line if it is available
- do not cache records with DNS failure in subrequests;
- ignore records with temporary fails during subrequests resolving;
- fix `RDNS_RC_NOREC` support;
* Add clang plugin for static analysis:
- implement static checks for `rspamd_printf` format strings;
* Add 'allow_raw_input' option for non-mime messages
* Recognize types using libmagic
* Fix parsing of IPv6 received headers
* Add new interface of communication between workers in rspamd
* Add support for named socketpairs
* Don't write URLs by default as it is too verbose
* Set status for HTTP replies
* Try load `rspamd.conf.override`
* Implement words decaying for text parts to limit many checks
* Improve support of SA rules and plugins:
- add check_for_shifted_date and check_for_missing_to_header eval rules;
- add 'check_relays_unparseable' support;
- add `check_for_mime('mime_attachement')` function;
- use new re_cache interface for all SA rules;
- add support for `Mail::SpamAssassin::Plugin::MIMEHeader`;
- add support of 'special' SA headers to `exists` function;
- fix issue when SA metas contain other metas;
- fix freemail rules;
* Many fixes to the URL parser
* Match any newline character in regexps
* Fix resolving of upstreams and detection of poor IPv6 configurations
* Parse upstreams selection algorithm from the configuration line
* Add `reresolve` command to the control interface
* Generate fuzzy hashes from task metadata (URLs and headers)
* Add method to check if IP is local and `local_addrs` option
* Implement forced timeout for delayed filters
* Disable fast path of pcre-jit as it seems to be broken
* Bayes fixes:
- new normalizer function;
- really use weights of tokens from the OSB algorithm;
- restore multiple classifiers support;
* Rules changes:
- add `R_SUSPICIOUS_URL` rule that detects obfuscated URL's;
- improve empty image rule;
- rework `FORGED_RECIPIENTS` rule;
- reduce weight of `SUSPICIOUS_RECIPS`;
- fix `*_NORESOLVE_MX` symbols in hfilter;
- add `SUBJ_ALL_CAPS` rule with support of UTF8
- add spamhaus SBL to uribl
- fix `SUSPICIOUS_RECIPS` and `SORTED_RECIPS` rules
- remove `R_TO_SEEMS_AUTO` as it generates a lot of FP;
- add new Message-ID regexp for Thunderbird (by @moisseev);
* Plugins changes:
- allow ratelimit plugin to set symbol instead of pre-result
- support IP DNS black lists for URIBL (e.g spamhaus SBL);
- drop deprecated SURBL bits (by @fatalbanana)
- rename `JP_SURBL_MULTI` to `ABUSE_SURBL` (by @fatalbanana)
- add `SURBL_BLOCKED` (by @fatalbanana)
- add `CR_SURBL`
- SURBL: allow fallthrough to default symbol (by @fatalbanana)
- Settings: fix IP match (by @fatalbanana)
- SURBL: add missing symbols to metric (by @fatalbanana)
- allow processing images urls for SURBL
- unconditionally disable SPF for authenticated users and local networks
* Rework ratelimit plugin
- switch to `rates` instead of old and stupid strings to setup;
- check if a bucket is zero and disable the corresponding limits'
- turn off all buckets by default;
- check either `rcpt` or `user` buckets, not all together'
- document new `rates` and `symbol` options;
- inform user about what buckets are used in the configuration;
* Add neural network **experimental** plugin
* Add a sample script to learn neural network from rspamd logs
* Add documentation strings support to rspamd:
- add strings for the main configuration options;
- document workers options;
- add internal plugin options;
- create `rspamadm confighelp` routine;
- implement human readable output for the previous command;
- add subtree search support;
- add keyword search support;
* Documentation improvements, tutorials section, statistics description
* Many other minor and major bugfixes not noted here

Signed-off-by: Vsevolod Stakhov <vsevolod@highsecure.ru>
8 years agoFix an awful memory leak
Vsevolod Stakhov [Mon, 18 Jan 2016 14:05:45 +0000 (14:05 +0000)]
Fix an awful memory leak

8 years agoSmall improvement of logging
Vsevolod Stakhov [Mon, 18 Jan 2016 09:56:48 +0000 (09:56 +0000)]
Small improvement of logging

8 years agoRework hyperscan notifies to reduce noise level
Vsevolod Stakhov [Mon, 18 Jan 2016 01:07:11 +0000 (01:07 +0000)]
Rework hyperscan notifies to reduce noise level

8 years agoDisable fast path of pcre as it seems to be broken
Vsevolod Stakhov [Mon, 18 Jan 2016 00:48:53 +0000 (00:48 +0000)]
Disable fast path of pcre as it seems to be broken

8 years agoDo not treat unknown worker type as fatal error
Vsevolod Stakhov [Sun, 17 Jan 2016 23:32:48 +0000 (23:32 +0000)]
Do not treat unknown worker type as fatal error

8 years agoFurther reduction of spf noise
Vsevolod Stakhov [Sun, 17 Jan 2016 00:16:40 +0000 (00:16 +0000)]
Further reduction of spf noise

8 years agoReduce noise level for certain records
Vsevolod Stakhov [Sun, 17 Jan 2016 00:14:09 +0000 (00:14 +0000)]
Reduce noise level for certain records

8 years agoRDNS_RC_NOREC is equal for NXDOMAIN in case of SPF checks
Vsevolod Stakhov [Sun, 17 Jan 2016 00:12:11 +0000 (00:12 +0000)]
RDNS_RC_NOREC is equal for NXDOMAIN in case of SPF checks

8 years ago'>' and '<' are not domain safe symbols
Vsevolod Stakhov [Sun, 17 Jan 2016 00:08:52 +0000 (00:08 +0000)]
'>' and '<' are not domain safe symbols

8 years agoDon't treat all but include/redirect errors as tempfail
Vsevolod Stakhov [Sun, 17 Jan 2016 00:03:02 +0000 (00:03 +0000)]
Don't treat all but include/redirect errors as tempfail

8 years agoMisprint
Vsevolod Stakhov [Sat, 16 Jan 2016 23:39:01 +0000 (23:39 +0000)]
Misprint

8 years agoCheck if we have some reply before retransmit
Vsevolod Stakhov [Sat, 16 Jan 2016 23:12:24 +0000 (23:12 +0000)]
Check if we have some reply before retransmit

8 years agoSet status for HTTP replies
Vsevolod Stakhov [Sat, 16 Jan 2016 22:45:15 +0000 (22:45 +0000)]
Set status for HTTP replies

8 years agoDon't write URLs by default as it is too verbose
Vsevolod Stakhov [Sat, 16 Jan 2016 22:43:16 +0000 (22:43 +0000)]
Don't write URLs by default as it is too verbose

8 years agoFix stupid misprint
Vsevolod Stakhov [Sat, 16 Jan 2016 22:41:51 +0000 (22:41 +0000)]
Fix stupid misprint

8 years agoFix memory leak
Vsevolod Stakhov [Sat, 16 Jan 2016 22:16:19 +0000 (22:16 +0000)]
Fix memory leak

8 years agoSome fixes to the default configuration
Vsevolod Stakhov [Sat, 16 Jan 2016 21:58:26 +0000 (21:58 +0000)]
Some fixes to the default configuration

8 years agoFix redis cache config as well
Vsevolod Stakhov [Sat, 16 Jan 2016 21:31:50 +0000 (21:31 +0000)]
Fix redis cache config as well

8 years agoAlso try rspamd.conf.override
Vsevolod Stakhov [Sat, 16 Jan 2016 21:26:51 +0000 (21:26 +0000)]
Also try rspamd.conf.override

8 years agoSimplify redis backend configuration
Vsevolod Stakhov [Sat, 16 Jan 2016 21:24:17 +0000 (21:24 +0000)]
Simplify redis backend configuration

8 years agoFix crash
Vsevolod Stakhov [Sat, 16 Jan 2016 21:17:00 +0000 (21:17 +0000)]
Fix crash

8 years agoFix default paths for the source build
Vsevolod Stakhov [Sat, 16 Jan 2016 21:07:26 +0000 (21:07 +0000)]
Fix default paths for the source build

8 years agoUnify processing of includes/redirects in SPF
Vsevolod Stakhov [Fri, 15 Jan 2016 22:15:25 +0000 (22:15 +0000)]
Unify processing of includes/redirects in SPF

Issue: #483
Reported by: @dnl555

8 years agoIgnore SPF results in case of DNS failure
Vsevolod Stakhov [Fri, 15 Jan 2016 22:06:27 +0000 (22:06 +0000)]
Ignore SPF results in case of DNS failure

8 years agoFix bad memory access.
Vsevolod Stakhov [Fri, 15 Jan 2016 17:20:23 +0000 (17:20 +0000)]
Fix bad memory access.

8 years agoFix memory leak
Vsevolod Stakhov [Fri, 15 Jan 2016 17:18:10 +0000 (17:18 +0000)]
Fix memory leak

8 years agoFix order
Vsevolod Stakhov [Fri, 15 Jan 2016 16:15:55 +0000 (16:15 +0000)]
Fix order

8 years agoAdd workaround for bug in valgrind and rdrand
Vsevolod Stakhov [Fri, 15 Jan 2016 16:11:53 +0000 (16:11 +0000)]
Add workaround for bug in valgrind and rdrand

8 years agoFix warnings.
Vsevolod Stakhov [Fri, 15 Jan 2016 15:54:43 +0000 (15:54 +0000)]
Fix warnings.

8 years agoFix weight processing
Vsevolod Stakhov [Fri, 15 Jan 2016 15:36:07 +0000 (15:36 +0000)]
Fix weight processing

8 years agoFix suffix/bits less URL BLs
Vsevolod Stakhov [Fri, 15 Jan 2016 14:09:40 +0000 (14:09 +0000)]
Fix suffix/bits less URL BLs

8 years agoFix prototype.
Vsevolod Stakhov [Fri, 15 Jan 2016 14:07:30 +0000 (14:07 +0000)]
Fix prototype.

8 years agoDo not free HS database after deserialization
Vsevolod Stakhov [Fri, 15 Jan 2016 13:46:17 +0000 (13:46 +0000)]
Do not free HS database after deserialization

8 years agoFix a huge memory leak in hyperscan
Vsevolod Stakhov [Fri, 15 Jan 2016 13:41:38 +0000 (13:41 +0000)]
Fix a huge memory leak in hyperscan

8 years agoFix a stupid error in symbols groups parsing
Vsevolod Stakhov [Fri, 15 Jan 2016 00:32:20 +0000 (00:32 +0000)]
Fix a stupid error in symbols groups parsing

Issue: #482
Reported by: @rafaelabdo

8 years agoImprove unknown results report for surbl
Vsevolod Stakhov [Fri, 15 Jan 2016 00:24:56 +0000 (00:24 +0000)]
Improve unknown results report for surbl

8 years agoFix format argument for inserting shingles
Vsevolod Stakhov [Thu, 14 Jan 2016 23:51:42 +0000 (23:51 +0000)]
Fix format argument for inserting shingles

Issue: #478

8 years agoRemove events when 0 or error are returned
Vsevolod Stakhov [Thu, 14 Jan 2016 23:51:24 +0000 (23:51 +0000)]
Remove events when 0 or error are returned

8 years agoEnable redis conditional missed somehow
Vsevolod Stakhov [Thu, 14 Jan 2016 17:22:39 +0000 (17:22 +0000)]
Enable redis conditional missed somehow

8 years agoFix potential misuse of unions
Vsevolod Stakhov [Thu, 14 Jan 2016 17:08:30 +0000 (17:08 +0000)]
Fix potential misuse of unions

Issue: #478
Reported by: @moisseev

8 years agoAdd periodic checks for hyperscan files
Vsevolod Stakhov [Thu, 14 Jan 2016 16:27:00 +0000 (16:27 +0000)]
Add periodic checks for hyperscan files

8 years agoAnother fix to always-malloc mode
Vsevolod Stakhov [Thu, 14 Jan 2016 14:38:21 +0000 (14:38 +0000)]
Another fix to always-malloc mode

8 years agoFix issues with freeing of bad rdns requests
Vsevolod Stakhov [Thu, 14 Jan 2016 14:15:01 +0000 (14:15 +0000)]
Fix issues with freeing of bad rdns requests

8 years agoFix format string
Vsevolod Stakhov [Thu, 14 Jan 2016 14:12:08 +0000 (14:12 +0000)]
Fix format string

8 years agoFix issues with debug mode of mempool
Vsevolod Stakhov [Thu, 14 Jan 2016 14:11:50 +0000 (14:11 +0000)]
Fix issues with debug mode of mempool

8 years agoAllow processing images urls for SURBL
Vsevolod Stakhov [Thu, 14 Jan 2016 13:30:55 +0000 (13:30 +0000)]
Allow processing images urls for SURBL

8 years agoAllow configurations with no classifiers
Vsevolod Stakhov [Thu, 14 Jan 2016 11:53:38 +0000 (11:53 +0000)]
Allow configurations with no classifiers

8 years agoFix percentages for bayes confidence
Vsevolod Stakhov [Thu, 14 Jan 2016 09:04:16 +0000 (09:04 +0000)]
Fix percentages for bayes confidence

8 years agoDo not treat bad backend as an assert
Vsevolod Stakhov [Wed, 13 Jan 2016 20:08:49 +0000 (20:08 +0000)]
Do not treat bad backend as an assert

8 years agoAdd documentation for new statistics
Vsevolod Stakhov [Wed, 13 Jan 2016 07:55:24 +0000 (07:55 +0000)]
Add documentation for new statistics

8 years agoAdd extra sleep to avoid race condition
Vsevolod Stakhov [Wed, 13 Jan 2016 00:14:05 +0000 (00:14 +0000)]
Add extra sleep to avoid race condition

When there are no expressions to compile it is possible that hs_helper
will send notice to no workers. So this sleep should resolve the most of
cases where this race occurs.

8 years agoAdd more details to the guide
Vsevolod Stakhov [Tue, 12 Jan 2016 18:19:42 +0000 (18:19 +0000)]
Add more details to the guide

8 years agoAdd globbing support
Vsevolod Stakhov [Tue, 12 Jan 2016 17:40:57 +0000 (17:40 +0000)]
Add globbing support

8 years agoImprove error reporting
Vsevolod Stakhov [Tue, 12 Jan 2016 15:17:26 +0000 (15:17 +0000)]
Improve error reporting

8 years agoUpdate surbl documentation
Vsevolod Stakhov [Tue, 12 Jan 2016 14:40:12 +0000 (14:40 +0000)]
Update surbl documentation

8 years agoEnable hiredis for travis
Vsevolod Stakhov [Mon, 11 Jan 2016 20:35:11 +0000 (20:35 +0000)]
Enable hiredis for travis

8 years agoFix include path for embedded hiredis
Vsevolod Stakhov [Mon, 11 Jan 2016 20:34:31 +0000 (20:34 +0000)]
Fix include path for embedded hiredis

8 years agoRemove deprecated random id
Vsevolod Stakhov [Mon, 11 Jan 2016 19:14:24 +0000 (19:14 +0000)]
Remove deprecated random id

8 years agoStart SA migrating guide
Vsevolod Stakhov [Mon, 11 Jan 2016 19:10:47 +0000 (19:10 +0000)]
Start SA migrating guide

8 years agoRemove unused var.
Vsevolod Stakhov [Mon, 11 Jan 2016 17:30:12 +0000 (17:30 +0000)]
Remove unused var.

8 years agoFix format strings
Vsevolod Stakhov [Mon, 11 Jan 2016 17:26:31 +0000 (17:26 +0000)]
Fix format strings

8 years agoUpdate from publicsuffix
Vsevolod Stakhov [Mon, 11 Jan 2016 16:54:10 +0000 (16:54 +0000)]
Update from publicsuffix

8 years agoRemove hiredis from depends
Vsevolod Stakhov [Mon, 11 Jan 2016 16:34:34 +0000 (16:34 +0000)]
Remove hiredis from depends

8 years agoFix GNU version of strerror_r (hiredis is broken)
Vsevolod Stakhov [Mon, 11 Jan 2016 16:21:43 +0000 (16:21 +0000)]
Fix GNU version of strerror_r (hiredis is broken)

8 years agoTry to fix brain damage of cmake
Vsevolod Stakhov [Mon, 11 Jan 2016 16:08:30 +0000 (16:08 +0000)]
Try to fix brain damage of cmake

8 years agoEmbed hiredis as it is broken literally everywhere
Vsevolod Stakhov [Mon, 11 Jan 2016 16:04:50 +0000 (16:04 +0000)]
Embed hiredis as it is broken literally everywhere

8 years agoEnable per-users learn cache
Vsevolod Stakhov [Mon, 11 Jan 2016 15:16:09 +0000 (15:16 +0000)]
Enable per-users learn cache

8 years agoIncompatible change: sqlite3 and per_user behaviour
Vsevolod Stakhov [Mon, 11 Jan 2016 14:54:33 +0000 (14:54 +0000)]
Incompatible change: sqlite3 and per_user behaviour

Now both redis and sqlite3 follows the common principles for per-user
statistics:

1) If per-user statistics is enabled check per-user tokens ONLY
2) If per-user statistics is not enabled then check common tokens ONLY

If you need old behaviour, then you'd need to use separate classifier
for per-user statistics.

8 years agoImplement `per_user` for redis backend
Vsevolod Stakhov [Mon, 11 Jan 2016 14:51:19 +0000 (14:51 +0000)]
Implement `per_user` for redis backend

8 years agoAdd generic routine to get task's recipient
Vsevolod Stakhov [Mon, 11 Jan 2016 14:12:35 +0000 (14:12 +0000)]
Add generic routine to get task's recipient

8 years agoFix relearning for sqlite3 cache
Vsevolod Stakhov [Mon, 11 Jan 2016 13:31:10 +0000 (13:31 +0000)]
Fix relearning for sqlite3 cache

8 years agoFix query
Vsevolod Stakhov [Mon, 11 Jan 2016 11:28:50 +0000 (11:28 +0000)]
Fix query

8 years agoRework cache API slightly
Vsevolod Stakhov [Mon, 11 Jan 2016 11:18:28 +0000 (11:18 +0000)]
Rework cache API slightly

8 years agoImplement redis cache operations
Vsevolod Stakhov [Mon, 11 Jan 2016 10:40:19 +0000 (10:40 +0000)]
Implement redis cache operations

8 years agoWrite initialization for redis cache
Vsevolod Stakhov [Mon, 11 Jan 2016 09:54:59 +0000 (09:54 +0000)]
Write initialization for redis cache

8 years agoMerge pull request #476 from moisseev/patch-1
Vsevolod Stakhov [Sun, 10 Jan 2016 23:52:18 +0000 (23:52 +0000)]
Merge pull request #476 from moisseev/patch-1

Add new Message-ID regexp for Thunderbird

8 years agoAdd skeleton of redis cache
Vsevolod Stakhov [Sun, 10 Jan 2016 23:51:32 +0000 (23:51 +0000)]
Add skeleton of redis cache

8 years agoFix processing of caches
Vsevolod Stakhov [Sun, 10 Jan 2016 23:39:46 +0000 (23:39 +0000)]
Fix processing of caches

8 years agoFix caches initialization.
Vsevolod Stakhov [Sun, 10 Jan 2016 23:27:51 +0000 (23:27 +0000)]
Fix caches initialization.

8 years agoFix sqlite cache
Vsevolod Stakhov [Sun, 10 Jan 2016 23:20:13 +0000 (23:20 +0000)]
Fix sqlite cache

8 years agoRework caches API
Vsevolod Stakhov [Sun, 10 Jan 2016 22:34:19 +0000 (22:34 +0000)]
Rework caches API

8 years agoAdd new Message-ID regexp for Thunderbird 476/head
Alexander Moisseev [Sun, 10 Jan 2016 16:30:17 +0000 (19:30 +0300)]
Add new Message-ID regexp for Thunderbird

Thunderbird version 46 and later is using new securely random Message-ID to avoid fingerprinting.
https://bugzilla.mozilla.org/show_bug.cgi?id=902580
SeaMonkey (at least currentnightly build 2.42a1) is not affected by this change.

8 years agoUse constants instead of magic numbers
Vsevolod Stakhov [Sat, 9 Jan 2016 23:41:52 +0000 (23:41 +0000)]
Use constants instead of magic numbers

8 years agoFix unlearning in sqlite3 cache.
Vsevolod Stakhov [Sat, 9 Jan 2016 22:13:25 +0000 (22:13 +0000)]
Fix unlearning in sqlite3 cache.

8 years agoFix strange artefact
Vsevolod Stakhov [Sat, 9 Jan 2016 22:03:24 +0000 (22:03 +0000)]
Fix strange artefact