286f44ac80
Fix cdc add_user false error message
...
The success check was inverted for the adding of a user.
2017-01-25 11:11:42 +02:00
99f6d4678d
Make COMMIT/ROLLBACK a part of the transaction
...
The transaction tracking now flags the transaction as open even when a
COMMIT/ROLLBACK is received. The next statement after the transaction is
closed resets the transaction state to inactive. This means that the end
of the transaction belongs in the transaction.
This allows all statements that belong to a transaction to be detected
with the transaction tracking functions provided by the core. With this,
the routing modules should have an easier time handling transactions.
2017-01-24 20:36:39 +02:00
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