c77bb502e9
Store transaction type bit on transaction end
...
When the transaction ends, it's good to know what type of a transaction
just ended. Currently, this will be used by readwritesplit to detect when
a read-only transaction ends.
2017-01-24 20:36:39 +02:00
81be935fa9
Track transaction end as well as start
...
The COMMIT and ROLLBACK are now detected. This can be used to route the
trailing end of a transaction to a specific server.
2017-01-24 20:36:39 +02:00
fe1863bb49
Remove bitmask.h & .c, since the container is no longer used
2017-01-24 14:28:28 +02:00
b187afdcf4
Move config_runtime.h and externcmd.h to core
...
+ some cleanup
2017-01-24 13:05:21 +02:00
641896872e
Rename GW_AUTHENTICATOR and GW_BITMASK + cleanup
2017-01-24 10:03:36 +02:00
126d9be749
Remove noisy logging
2017-01-23 15:31:01 +02:00
72aebbdbb3
Add missing include file
2017-01-23 15:29:23 +02:00
47d21bd519
Masking: Change "rules_file" parameter to "rules"
...
The firewall filter and the cache have similar rules files and
they use "rules". To be consistent, the masking filter should
use "rules" as well.
2017-01-23 15:17:23 +02:00
ead0d4fe3e
No point storing version info in transient storage
...
As the RocksDB storage is re-created at each startup it does not
make sense to store version information in it.
2017-01-23 15:09:13 +02:00
6a90b0c629
Ok to continue even if storage directory is created at startup
...
Due to some refactoring that possibility had been lost.
2017-01-23 15:08:57 +02:00
eb05132a5c
Cache: Use MXS_MODULE_PARAM_SIZE
2017-01-23 11:01:57 +02:00
50f594fa4e
Fix ccrfilter parameters
...
The filter used the value of `count` for the `time` parameter.
The `options` parameter used the old-style parsing of the options and the
`match` and `exclude` parameters didn't use config_copy_string.
2017-01-22 09:24:00 +02:00
03402a86ed
Check that ccrfilter time is enabled before using it
...
The filter calculated a time difference which was negative if the filter
was not configured to use time intervals.
Added more info level logging to help determine how the filter behaves.
2017-01-22 09:24:00 +02:00
4e6fde8a23
Use query type instead of operation for ccrfilter
...
The query operation not being a select is too strict and not very
precise. Only queries that actually modify data should trigger the adding
of routing hints.
2017-01-22 09:24:00 +02:00
8cffa4ad58
Divide poll.h to core and public headers
...
Also some cleanup of other headers.
2017-01-20 17:15:27 +02:00
468411250d
Fix old header names in modules
...
Some of the modules still used the gw_authenticator.h name.
2017-01-20 16:57:04 +02:00
7824c98dcc
Maxrows filter is now the core
2017-01-20 15:46:03 +01:00
b4d7739bdc
namedserverfilter.c: removed unused var
...
Removed unused var in namedserverfilter.c
2017-01-20 14:40:29 +01:00
872bbd1ab3
Make cache part of the core
2017-01-20 13:30:00 +02:00
be1bdfaa92
Mark masking as part of the core
2017-01-20 13:30:00 +02:00
57b530a2e8
MXS-1065: add wildcards support to source option in namedfilter
...
It’s possible to add % wildcards in the ‘source’ option of
namedserverfilter.
Allowed values, for an IP address only are:
X.%.%.%
X.Y.%.%
X.Y.Z.%
The match any ‘%’ is not allowed
2017-01-20 12:15:20 +01:00
6e38276a20
Rename files, removing "gw"-prefix
...
Also gwdirs.h.in -> paths.h.in
2017-01-20 12:55:52 +02:00
ffc68a688f
Fix mqfilter build failure
...
It called an internal session function for no real reason.
2017-01-20 09:09:56 +02:00
eff34b91fb
Move modules.h to core/maxscale
...
Also remove some unnecessary includes + cleanup
2017-01-19 15:53:25 +02:00
53c5b475ad
More cleanup of monitor.h
...
Move some more functions into core header + miscellaneous cleanup
2017-01-19 15:32:40 +02:00
02a8f7492e
Divide session.h to internal and interface headers
...
Definitions and function used by core are in
server/core/maxscale/session.h
Definitions and function used by plugins are in
include/maxscale/session.h
2017-01-19 15:19:40 +02:00
c9a61fec6d
Masking: Use common constants
...
- Response related constants moved from ComPacket to ComResponse
- Constants defined using defines from .../maxscale/protocol/mysql.h
2017-01-19 14:52:13 +02:00
6499994af8
Cache: Use existing defines
2017-01-19 14:52:13 +02:00
1077b313a4
Cache: Handle large packets
...
Basically the only thing that needs to be done is not to mistake
a 8 byte length encoded integer as an EOF packet.
2017-01-19 14:52:13 +02:00
8aa76727d2
Remove explicit long indicator of size defines
2017-01-19 10:42:05 +02:00
31c8481f6c
Fix cache parameter default value
2017-01-19 09:26:37 +02:00
8c236c1cdc
Define ComEOF packet length in terms of MYSQL_EOF_PACKET_LEN
2017-01-19 09:26:37 +02:00
fed61fde98
Disable prepared statement execution in dbfwfilter
...
The dbfwfilter doesn't parse prepared statements for all rules which
requires that they are disabled.
2017-01-19 08:57:15 +02:00
cfcd1dc38f
Maxrows filter uses new constants: MYSQL_EOF_PACKET_LEN and MYSQL_OK_PACKET_MIN_LEN
...
New constants MYSQL_EOF_PACKET_LEN, MYSQL_OK_PACKET_MIN_LEN are now
used by max rows filter
2017-01-18 15:47:04 +01:00
e4d6af37a9
Masking: Distinguish between EOF and 8 byte integer
...
When processing the response to a COM_QUERY, the rows will be
terminated by an EOF packet. However, as the type byte of an
EOF packet is 0xFE and the identifying byte of an 8 byte length
encoded integer is also 0xFE it is not possible to distinguish
the two except by also looking at packet length.
2017-01-18 14:31:48 +02:00
00f77bbe69
Fix some leftovers from the SESSION->MXS_SESSION and related renames
...
Renames only.
2017-01-18 11:50:52 +02:00
fbb63f4eb8
Masking: Handle larger than 16MB payloads
...
Larger than 16MB payloads can either be ignored or then they may
cause the session to be aborted.
2017-01-18 08:45:51 +02:00
969e423eb2
Masking: Add large_payload parameter
...
The masking filter will assume payloads less than 2^24 - 1. The
behaviour if payloads larger than than are encountered can be
configured.
The actual implementation follows in a subsequent change.
2017-01-18 08:44:04 +02:00
16a76fcd28
Rename qc_get_type() to qc_get_type_mask()
...
To make it plain that it is a mask that is returned and not a
specific value from the enum qc_query_type_t.
2017-01-18 08:34:53 +02:00
86c97a2109
Analyze binary prepared statements as well
...
Now that the query classifier can be given COM_STMT_PREPARE packets
in addition to COM_QUERY packets, binary prepared statements will
be subject to the same analyses as any other statement.
2017-01-18 08:34:53 +02:00
f7892843b5
Handle prepared named statements in firewall filter
...
Binary prepared statements need to be addressed separately.
2017-01-18 08:34:53 +02:00
5fc7b277da
Change SESSION to MXS_SESSION
...
Some modules didn't use the new MXS_SESSION structure.
2017-01-18 08:31:47 +02:00
19b678abfe
MXS-406: check for log message is now fixed
...
Log message now appears with the right variables check
2017-01-17 16:06:11 +01:00
c62be62618
Add missing galeramon modifications
...
The changes for MXS-406 were lost when the file was formatted and the
changes were rebased.
2017-01-17 16:57:21 +02:00
fb771c8a2e
Rename public types and constants in session.h
...
Preparing to split session.h into module and core sections.
2017-01-17 16:30:14 +02:00
680401cf8e
Rename public types and constants in monitor.h
...
Preparing to split monitor.h into module and core sections. Also
changed a few comments in monitor.h.
2017-01-17 15:47:13 +02:00
f9440a6b35
Parse only valid packets in dbfwfilter
...
The filter attempted to parse all packets that were routed through the
filter.
2017-01-17 14:48:43 +02:00
a48be9badf
Format router modules
...
Formatted router modules with Astyle.
2017-01-17 14:48:43 +02:00
735674bb1b
Format monitor modules
...
Formatted monitor modules with Astyle.
2017-01-17 14:48:41 +02:00
c25b7629f4
Format filter modules
...
Formatted filter modules with Astyle.
2017-01-17 14:47:50 +02:00