Vsevolod Stakhov
9564581806
[Minor] Add const attribute
4 anos atrás
Vsevolod Stakhov
6ea707966a
[Rework] Split operations processing and add more debug logs
4 anos atrás
Vsevolod Stakhov
8139bbca9c
[Rework] Rework expressions processing
4 anos atrás
Vsevolod Stakhov
986426d29f
[Rework] Modernize logging for expressions
4 anos atrás
Vsevolod Stakhov
c97d6296c3
[Project] Support multiply, minus and divide operators in expressions
4 anos atrás
Vsevolod Stakhov
12fee52a2f
[Minor] Fix setting structure's fields
5 anos atrás
Vsevolod Stakhov
957e21258d
[Rework] Rework expression API
5 anos atrás
Vsevolod Stakhov
29a3b94f4d
[Minor] Allow to execute expressions with process closures
5 anos atrás
Vsevolod Stakhov
abaa90892c
[Minor] Fixes for the previous project
5 anos atrás
Vsevolod Stakhov
01e6bf680b
[Minor] Add more operations sanity check in expressions parser
5 anos atrás
Vsevolod Stakhov
ef337345b5
[Minor] Fix evals maths
5 anos atrás
Mikhail Galanin
a9bc3d63a3
[Minor] Use struct to pass parameters to process_atom() functions
5 anos atrás
Vsevolod Stakhov
6ac7be499b
[Minor] Fix printing of expressions limits
6 anos atrás
Vsevolod Stakhov
f6363ae05c
[Feature] Allow floating and negative values in expressions limits
6 anos atrás
Vsevolod Stakhov
3e15585024
[Fix] Further fixes around floating point expressions
6 anos atrás
Vsevolod Stakhov
b2b9cfa616
[Minor] Further portion of g_slice elimination
6 anos atrás
Vsevolod Stakhov
22d602b81f
[Feature] Use rdtsc where possible
6 anos atrás
Vsevolod Stakhov
b0bc4a9e9c
[Rework] Use floating point arithmetics in Rspamd expressions
6 anos atrás
Vsevolod Stakhov
3e7227fb5b
[Minor] Add guards when free an expresssion
7 anos atrás
Vsevolod Stakhov
20457a019f
[Fix] Fix memory corruprtion and leak
7 anos atrás
Vsevolod Stakhov
87be736a89
[Fix] More leaks eliminated
7 anos atrás
Vsevolod Stakhov
7da9a15f9b
[Fix] Fix memory leak in expression destroying
7 anos atrás
Vsevolod Stakhov
43566f1597
[Fix] Plug memory leak in expressions parsing during reload
7 anos atrás
Vsevolod Stakhov
5134580d74
[CritFix] Fix issue with expressions processing
If the first rule in A + B + C + D > X matched then it was counted like
`1 + 1` and not as `0 + 1` as the accumulator was incorrectly treated in
that case.
8 anos atrás
Vsevolod Stakhov
40237abf07
[Fix] Fix sorting of limits
8 anos atrás
Vsevolod Stakhov
54781dd54d
[Feature] Add tracking for rspamd expressions
8 anos atrás
Vsevolod Stakhov
fb236b262f
[Feature] Save operation node for expressions atoms
8 anos atrás
Vsevolod Stakhov
3256178a24
Fix couple of issues found by gcc-6
8 anos atrás
Vsevolod Stakhov
8766fba694
Switch the rest to apache 2
8 anos atrás
Vsevolod Stakhov
b5dfdb55e6
Do not re-set GError
8 anos atrás
Vsevolod Stakhov
4ec67ca54b
Fix issue with zero length atoms
8 anos atrás
Vsevolod Stakhov
e74409e4f5
Add function to traverse AST atoms
8 anos atrás
Vsevolod Stakhov
1ba46d50f4
Fix regexp_search invocation.
9 anos atrás
Vsevolod Stakhov
e94fe5faba
Fix comparision operators.
9 anos atrás
Vsevolod Stakhov
086f56ab61
Expression parsing errors are not asserts actually.
9 anos atrás
Vsevolod Stakhov
52153908f5
Fix AST processing for sole comparision rules.
9 anos atrás
Vsevolod Stakhov
2d18d5d8b0
Really use pcre jit...
9 anos atrás
Vsevolod Stakhov
40f832e8ad
Fix warnings.
9 anos atrás
Vsevolod Stakhov
002633d4ce
Initialize values for atom priorities.
9 anos atrás
Vsevolod Stakhov
6ebf1e5b30
Use advanced priorities when planning evaluation.
9 anos atrás
Vsevolod Stakhov
5e31d656fe
Implement resorting.
9 anos atrás
Vsevolod Stakhov
dca87323aa
Add priority resort logic.
9 anos atrás
Vsevolod Stakhov
b303477f7a
Add flags to expressions processing and noopt flag.
9 anos atrás
Vsevolod Stakhov
3cc4d4ac94
Fix AST cleanup.
9 anos atrás
Vsevolod Stakhov
7476eadbf9
Optimize expressions earlier.
9 anos atrás
Vsevolod Stakhov
31e833390f
Use AST for expressions processing.
9 anos atrás
Vsevolod Stakhov
2fe9547e96
Add AST processing routines.
9 anos atrás
Vsevolod Stakhov
3728212eee
More to priorities optimization.
9 anos atrás
Vsevolod Stakhov
6607a24cc8
Fix sorting.
9 anos atrás
Vsevolod Stakhov
e7249e4465
Fix order of N-ary operators merging.
9 anos atrás