Skip to content

Commit 1201da9

Browse files
PS-9780 fix: Increase the max size of audit_log_filter rule
https://perconadev.atlassian.net/browse/PS-9780 Increased max allowed audit_log_filter rule size to 16384. 'audit_log_filter.udf_audit_log_filter_set_filter' MTR test case adjusted to check new limit.
1 parent 2df90d5 commit 1201da9

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

plugin/audit_log_filter/audit_table/base.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace audit_log_filter::audit_table {
2727
inline constexpr const size_t kAuditFieldLengthUsername = 32;
2828
inline constexpr const size_t kAuditFieldLengthUserhost = 255;
2929
inline constexpr const size_t kAuditFieldLengthFiltername = 255;
30-
inline constexpr const size_t kAuditFieldLengthFilter = 1024;
30+
inline constexpr const size_t kAuditFieldLengthFilter = 16 * 1024;
3131

3232
enum class TableResult { Ok, Fail, Found, NotFound };
3333

plugin/audit_log_filter/tests/mtr/r/udf_audit_log_filter_set_filter.result

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ SELECT audit_log_filter_set_filter('filter_1', '');
2222
ERROR HY000: Can't initialize function 'audit_log_filter_set_filter'; Wrong argument: empty filter definition
2323
#
2424
# Check too long argument
25+
SET @too_long_definition = REPEAT('a', 16385);
2526
SELECT audit_log_filter_set_filter('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', '{"filter": {"class": {"name": "connection"}}}');
2627
ERROR HY000: Can't initialize function 'audit_log_filter_set_filter'; Wrong argument: filter_name is too long, max length is 255
27-
SELECT audit_log_filter_set_filter('filter_1', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
28-
ERROR HY000: Can't initialize function 'audit_log_filter_set_filter'; Wrong argument: definition is too long, max length is 1024
28+
SELECT audit_log_filter_set_filter('filter_1', @too_long_definition);
29+
ERROR HY000: Can't initialize function 'audit_log_filter_set_filter'; Wrong argument: definition is too long, max length is 16384
2930
#
3031
# Filter validity check, incorrect JSON
3132
SELECT audit_log_filter_set_filter('filter_1', '{}');

plugin/audit_log_filter/tests/mtr/t/udf_audit_log_filter_set_filter.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ SELECT audit_log_filter_set_filter('filter_1', '');
2929
--echo #
3030
--echo # Check too long argument
3131
--let $too_long_name = `SELECT REPEAT('a', 256)`
32-
--let $too_long_definition = `SELECT REPEAT('a', 1025)`
32+
SET @too_long_definition = REPEAT('a', 16385);
3333
--error 1123
3434
--eval SELECT audit_log_filter_set_filter('$too_long_name', '{"filter": {"class": {"name": "connection"}}}')
3535
--error 1123
36-
--eval SELECT audit_log_filter_set_filter('filter_1', '$too_long_definition')
36+
SELECT audit_log_filter_set_filter('filter_1', @too_long_definition);
3737

3838
--disable_query_log
3939
call mtr.add_suppression("Wrong argument: incorrect rule definition");

0 commit comments

Comments
 (0)