Commit Graph

153 Commits

Author SHA1 Message Date
cf547b9532 Merge branch '2.2' into develop 2018-03-26 10:03:20 +03:00
d948fb2dfc MXS-1733 Add documentation 2018-03-26 10:02:57 +03:00
8a397f574f Expose modutil_get_canonical in luafilter
Exposing the canonicalization code in the luafilter allows it to be used
on the Lua side of things. This should enable some pretty cool stuff to be
done with it.
2018-03-21 14:15:13 +02:00
51251fd9f3 MXS-1475 Introduce @maxscale.cache.[soft_ttl|hard_ttl]
Now it is possible to control the soft and hard ttl of the
cache on a session basis. That is, it is possible to use
different TTLs for different SELECTs.
2018-03-16 14:34:04 +02:00
82b55ff362 MXS-1475 Add @maxscale.cache.[populate|use]
The earlier @maxscale.cache.enabled has now been replaced with
@maxscale.cache.populate and @maxscale.cache.use that provide
for more flexibility.

With the former it is possible to control in what circumstances
the cache is populated and with the latter one when it is used.
Together they can be used for having a completely client driven
caching.
2018-03-16 14:34:04 +02:00
23b8939e20 MXS-1475 Update cache documentation 2018-03-16 14:34:04 +02:00
fcde23e6fe Merge branch '2.2' into develop 2018-02-08 18:40:29 +02:00
5a33a5a013 Merge branch '2.1' into 2.2 2018-02-08 18:39:45 +02:00
5f4c723fef Fix typo in QLAfilter documentation
The readconnroute module name was written as readconnrouter, with an extra
`r` at the end.
2018-02-08 15:23:39 +02:00
771716e9db Merge branch '2.2' into develop 2018-02-05 10:22:43 +02:00
0db538db9a MXS-1583 Treat independent 'users' line in OR-fashion
If there are several 'users' lines in a rule file, for a particular
user, the rules each matching line will be checked independently
until a rule match is found.

That is, the rules of each 'users' line are treated in an OR-fashion
with respect to each other.
2018-01-29 15:25:21 +02:00
af70b00197 Merge branch '2.2' into develop 2018-01-24 10:23:51 +02:00
b8e72c939d Be specific about the dangers of obfuscation 2018-01-22 13:19:03 +02:00
998652bf24 Merge branch '2.2' into develop 2018-01-19 11:47:45 +02:00
d928f69cc7 Update and extend luafilter documentation
Fixed the exposed function name and added minimal configuration and script
examples.
2018-01-18 12:22:04 +02:00
ae949881a9 MXS-1511: Add documentation about new parameters 2018-01-17 10:21:50 +02:00
b8e15d2bea Reformat and tune QLA filter documentation
No additions, just tidying up.
2018-01-17 10:21:50 +02:00
ba195bbc7e Merge branch '2.2' into develop 2018-01-10 15:34:28 +02:00
d64868f058 Change MySQL[Client|Backend] to MariaDB[Client|Backend] 2018-01-05 10:01:50 +02:00
e8f52951d1 Merge branch '2.2' into develop 2018-01-03 14:07:09 +02:00
9689271a34 MXS-1541: Use session ID in topfilter
The topfilter now uses the session ID as the filename suffix.
2018-01-03 08:56:41 +02:00
5220d827bd MXS-701: Binlog Filter Documentation: first version of the doc
MXS-701: Binlog Filter Documentation: first version of the doc
2017-12-11 16:04:32 +01:00
032b2f3846 MXS-1333: QLAFilter, add option to log execution time
Adds an option 'reply_time' to log_data. When enabled, query execution time
in milliseconds is logged. Execution time is measured as the time between
routeQuery and the first clientReply.
2017-11-15 16:56:39 +02:00
3215458b30 MXS-1461 Introduce 'not_function' rule
Using 'not_function' it is possible to match functions other than
a specific set of ones. That will make it significantly easier to
allow certain functions to be used with certain columns.

The special handling of no arguments to `function` in conjunction
with an allowing filter has been removed. The same effect can now
be achieved, without special handling, using `not_function`, no
arguments and a blocking filter.

Implementation will follow in a subsequent commit.
2017-11-14 13:03:07 +02:00
f52a0acbbe MXS-1474 Document and act in the same way
From the documentation:

   * `never`: When there is an active transaction, no data will be returned
     from the cache, but all requests will always be sent to the backend.
     The cache will be populated inside _explicitly_ read-only transactions.
     Inside transactions that are not explicitly read-only, the cache will
     be populated _until_ the first non-SELECT statement.
   * `read_only_transactions`: The cache will be used and populated inside
     _explicitly_ read-only transactions. Inside transactions that are not
     explicitly read-only, the cache will be populated, but not used
     _until_ the first non-SELECT statement.
   * `all_transactions`: The cache will be used and populated inside
     _explicitly_ read-only transactions. Inside transactions that are not
     explicitly read-only, the cache will be used and populated _until_ the
     first non-SELECT statement.
2017-10-31 10:58:03 +02:00
5068d49cf7 MXS-1474 Update cache documentation 2017-10-31 10:58:03 +02:00
e6af3c3f26 MXS-1474 Update the cache documentation
Introduce the configuration parameter `cache_inside_transactions`.
2017-10-31 10:58:03 +02:00
501c35d7b2 Correct typo in cache documentation 2017-10-19 11:40:21 +03:00
7b6680b8fa Merge branch '2.1' into 2.2 2017-09-27 13:04:14 +03:00
23fb0bf928 MXS-1449 Firewall: Allow 'USE <db>'
When the database firewall filter is used in white-list mode,
'USE <db>' should be allowed. When connecting, it is always
possible to specify the database anyway so restricting
'USE <db>' serves no purpose.
2017-09-27 12:59:20 +03:00
68baf582c8 Deprecate deny and allow in dbfwfilter rules
The `deny` and `allow` tokens are replaced with `match` which better
describes the action. Use of the old tokens causes a warning to be logged.
2017-09-08 09:31:38 +03:00
1fcf4ef59a MXS-1346: Allow combination of function and columns rules
The `function` type rule can now be combined with the `columns` type rule
to form a new rule which matches if specific columns use specific
functions.
2017-09-08 09:31:37 +03:00
ad4e8dad94 MXS-1364 Drop the usage field
But for the most trivial statements did not really provide
useful information.

The arguments of the "function" '=' are now reported.
2017-08-24 09:58:18 +03:00
64642a4d6d MXS-1346: Add new rule to dbfwfilter documentation
Added the new rule to the documentation and mentioned it in the release
notes.
2017-08-24 09:46:03 +03:00
b768d3ca76 MXS-1356: Allow tee filter to be disabled at runtime
Disabling the tee filter at runtime is desirable for cases where the
branched service is not always needed. Migrations and pre-production
setups are one where changes to the branched service are expected and
splitting the queries would result in an error.
2017-08-11 04:09:08 +03:00
ebe9596966 MXS-1345: Allow an empty list of functions
The function type rule now accepts an empty list of functions, allowing
all functions to be blocked by defining an empty function type rule and
setting action=allow.
2017-08-10 09:51:31 +03:00
741c6d9aaf Documentation update for obfuscation method
Example changed to reflect new algorithm output
2017-07-18 11:18:32 +02:00
ac142a1b71 Documentation update with 'obfuscate' rule and 'match' option in 'replace' rule
Documentation update with 'obfuscate' rule and 'match' option in
'replace' rule
2017-07-17 12:16:43 +02:00
674b3887c9 MXS-1301: function matches functionless queries in accept mode
A function type rule matches a query if the query uses a function defined
in the rule. This is the desired behavior for blacklist mode operation
with `action=block`.

When in whitelist mode, all queries must match a rule to be allowed
through. For function type rules, this fact is problematic as queries that
don't use functions are blocked. The desired behavior is to allow the use
of certain functions while preventing the use of others.

The allowed set of functions should always contain the "empty set" (no
functions are used) when the filter is in whitelist mode.
2017-06-30 11:07:18 +03:00
77f44ba92b Add missing match/exclude functionality to tee
The tee filter was missing the match/exclude functionality that was in the
previous implementation. The filter was upgraded to use PCRE2 regular
expressions instead of POSIX regular expressions.

Documented that the match/exclude patterns should use PCRE2 syntax.
2017-06-22 10:39:24 +03:00
bff5e96b1a Query hint to influence Consistent Critical Read Filter
MXS-1067. The CCRFilter will now look at the hints in a write-type
query. The parameter-value combinations "ccr=match" and "ccr=ignore"
are recognized and will override any regex match and ignore settings.

For the hints to work, the HintFilter needs to be present in the filter
chain before the CCRFilter.

Also ran astyle and updated documentation.
2017-06-12 10:51:41 +03:00
476fda9082 Merge branch '2.1' into develop 2017-06-05 13:50:05 +03:00
2990edc424 Update MaskingFilter documentation 2017-06-05 13:47:39 +03:00
7fab3f5d1d MXS-1267: Use local client in tee
The tee filter now uses the local client class to clone the queries. This
imposes some restrictions on how the filter can be used but also makes
MaxScale as a whole more robust.
2017-06-02 13:07:02 +03:00
92b6caa334 Merge branch '2.1' into develop 2017-05-26 15:25:04 +03:00
dfb6fc02c7 Update dbfwfilter documentation
Added examples to each rule.
2017-05-25 09:39:46 +03:00
8a2112cce6 Remove trailing whitespace from documentation
Removed trailing whitespace from all documents.
2017-05-17 13:52:04 +03:00
322983a5f4 Merge branch '2.1' into develop 2017-05-17 13:48:52 +03:00
047ac55a40 minor docs fixes 2017-05-15 08:42:29 +03:00
b85b4010f2 docs typos fixing 2017-05-15 08:42:29 +03:00