Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
Sergei Golubchik
Revert "MDEV-39622 OBJECT_INSTANCE_BEGIN in P_S are unstable, difficult to compare"

Let's use MySQL's fix for compatibility

This reverts commit 11c41cd93d2c3732862ba043afd18508021440c0.
Marko Mäkelä
squash! e16b1b4e2739be7bc8e91643b0a71e1f04a1b02f

Ensure the minimum file size
Marko Mäkelä
fixup! e16b1b4e2739be7bc8e91643b0a71e1f04a1b02f

Try harder to fix a hang of mariabackup.huge_lsn,SERVER,strict_full_crc32
Oleksandr Byelkin
Merge fix
Marko Mäkelä
fixup! bfed32bb60c003fbe974f60f925c8da20ef35adf
forkfun
on rpm: don't set mysql user's $HOME to datadir

useradd set --home to %{mysqldatadir}, matching datadir.
Set --home to /nonexistent (as in deb)
Oleksandr Byelkin
Merge branch 'bb-10.11-release' into bb-11.4-release
Marko Mäkelä
fixup! a8fcc6617fe752014462a8b57e79c4102144dd14
Oleksandr Byelkin
Merge branch '11.4' into bb-11.4-release
Sergei Golubchik
MDEV-40637 CONNECT crashes on double(255,50) in DOS table

cap the length correctly
Sergei Golubchik
BUG#39449066 Refactor performance schema OBJECT_INSTANCE_BEGIN columns

Fix for MariaDB 10.6
Vladislav Vaintroub
MDEV-33387 - multifactor authentication

Support "AND" between authentication plugins in CREATE/ALTER USER, so
that a user must pass every factor to log in (multi-factor auth), in
addition to the existing "OR" (alternative plugins). Mixing AND and OR
in one user definition is rejected.

  CREATE USER u IDENTIFIED VIA mysql_native_password AS PASSWORD('...')
                      AND some_other_plugin USING '...';

Grammar and storage
  - USER_AUTH gets a logical_operator (NONE/OR/AND) telling how each factor
    combines with the next; the parser tags the factor list and rejects a
    mix of AND/OR.
  - The operator is persisted in mysql.global_priv: the factor array is
    stored under "auth_and" (mirroring the existing "auth_or"). ALTER USER
    that collapses a multi-factor account back to a single plugin removes
    the stale "auth_and"/"auth_or" key.
  - SHOW CREATE USER prints " AND " between factors.
  - Two password-based (hashing) plugins in one AND chain are rejected;
    at most one factor may carry a password hash.

Authentication protocol
  - New client capability CLIENT_MULTI_FACTOR_AUTHENTICATION and an
    AuthNextFactor (0x02) command that tells the client to proceed to the
    next factor after the current one succeeded. send_plugin_request_packet
    becomes send_change_plugin_packet, handling both the auth-switch (0xFE)
    and next-factor (0x02) commands. Clients that do not announce the
    capability fall back to an auth switch.
  - acl_authenticate() runs the factors sequentially for AND (every factor
    must return CR_OK), while OR keeps its "first success wins" behavior.
  - The in-server client (sql-common/client.c, used by mariadb-backup,
    replication, etc.) also handles AuthNextFactor: it advertises the new
    capability, recognises the 0x02 packet in run_plugin_auth(), and uses
    the same is_auth_switch_command() helper (with AUTH_SWITCH_PLUGIN_PACKET
    and AUTH_NEXT_FACTOR_PACKET symbolic constants) as libmariadb does.

TLS server-identity via password hash
  - When the connection uses a self-signed certificate and no CA is
    configured, the server sends a fingerprint challenge in the OK packet,
    computed from the certificate fingerprint and the password hash. For a
    multi-factor account the salt of the first password-hashing factor is
    used. The client recomputes it and, on a match, trusts the certificate
    even with --ssl-verify-server-cert, so password-based verification of
    the server does not raise a certificate error.

Tests
  - New plugins suite tests: mfa (portable machinery: AuthNextFactor round
    trip, non-hashing factor, auth_and persistence and ALTER round-trip,
    distinct per-factor secrets, negative cases, TLS fingerprint),
    mfa_unix (unix_socket + password), mfa_win (named_pipe/gssapi +
    password), mfa_unix_pam (password + PAM PIN).
  - auth_gssapi multiauth trimmed to the OR cases it still owns.

Client side changes are in the bundled libmariadb (submodule bump).

Assisted-by: Claude:claude-haiku-4.5-20251001

MDEV-33387 fix --plugin-dir for mariabackup tests
PranavKTiwari
CIDR
Oleksandr Byelkin
Merge branch '10.6' into 10.11
Yuchen Pei
MDEV-40486 Length check for vector fields in CREATE TABLE ... SELECT

The changes of MDEV-39558 2b6529426a7e7c65d286e093d84138be9dcc34a3
added length check assertion in Field_varstring constructors, and
length check in type inference for SELECT set operations, to emit
errors before reaching the assertions.

That change caused an error to turn into an assertion failure in a
separate path, when the length limit violation is not detected before
tripping the assertion. So in this patch we fix it by adding an
earlier length check in that path.

The reason that we place this check inside
Item_func_vec_fromtext::fix_length_and_dec rather than say
`create_field_for_create_select is for consistency:

If

create table t1 as select
vec_fromtext(concat('[',group_concat(1),']')) as c1 from seq_1_to_64;

fails due to length limit violation, then so should

create table t1 (v vector(64) not null);
insert into t1 select vec_fromtext(concat('[',group_concat(1),']'))
from seq_1_to_64;

Also use max_char_length() instead of max_length. This is a more
accurate length of characters. And add handling of empty string edge
case. Added testcases accordingly.

The change that uses max_char_length() causes side effects where
creating a table using a VEC_FROMTEXT(CHAR(1)) would result in a
0-dimensional vector field. This is accurate but 0-dim vector table
fields should not be allowed. So we add a check for that too, as well
as exceptions of NULL and (?) prepared statement placeholders.
Sergei Golubchik
MDEV-40629 environment injection via wsrep bootstrap in the service file

* don't create mariadb-wsrep-new-cluster in the mariadbd-writable path,
  the server should not be able to poison the environment with OUTFILE.
  Create it in /run
* As in /run it must be deleted by root, let galera_new_cluster delete
  it, not the service
* wsrep-start-position cannot be created by root, so avoid a file
  for it at all

Assisted-By: Claude:claude-5-opus
Sergei Golubchik
don't put WITH_WSREP into my_config.h

it confuses plugins, when installed
bsrikanth-mariadb
MDEV-40383:innodb_gis.point_basic fails on replay

There are 2 problems: -
1. The REPLACE statement that is recorded doesn't store the
  value of geometry type field correctly.
2. The table definition that got recorded has fields with non-null constraint,
  and no default value is specified.
  Also, the "REPLACE INTO" statement that gets stored in the context,
  doesn't have any value specified for these non-null fields.

Solution is to: -
1. When using REPLACE INTO statement, store all the non-numeric values in HEX,
  whenever conversion from field's charset to output's charset is lossy.
2. Instead of storing only the column values that were projected in the
  query, store all the non-virtual column values into the recorded
  REPLACE INTO statement.

Implementation details: -
1. Introduce a new method is_charset_conversion_lossless() in filesort.cc,
  to check if the output charset to which field's data is being written to,
  results in a lossless conversion. If so, non-numeric values being witten
  using REPLACE INTO statement are stored in string representation,
  else they are converted to HEX.
2. Modify join_read_const(), and join_read_system() methods in sql_select.cc,
  and opt_sum_query() method in opt_sum.cc the following way: -
    a. Extend the read_set to make sure, we read all the non-virtual column
        using Optimizer_context_recorder::prepare_captured_row_read().
        This method also saves the original read_set.
    b. Read the row.
    c. Dump the row into the context when no error is noticed while
        reading. Irrespective of the error, restore back the read_set state to
        the original using Optimizer_context_recorder::finish_captured_row_read()
drrtuy
fix: MDEV-40610 fix for SQL injection in DEFAULT expression.
Marko Mäkelä
squash! e16b1b4e2739be7bc8e91643b0a71e1f04a1b02f

Aria_backup::is_db_file(): Filter out #sql file names.
Oleksandr Byelkin
Merge branch '10.11' into bb-10.11-release
Sergei Golubchik
MDEV-40362 fix test

followup for f277eefa424
Sergei Golubchik
MDEV-40636 CSV crashes on DELETE

chain_size is the number of tina_set elements, not number of bytes

Assisted-By: Claude:claude-5-opus
sjaakola
MDEV-36677 rsync sst fails with different innodb_log_group_home_dir and datadir

Backported the fix done by Pekka Lampio for mariaDB 11.4 in PR
https://github.com/mariadb-corporation/codership-mariadb-server/pull/543

The PR has a fix for wsrep_sst_rsync script and new mtr test:
galera_3nodes.galera_mdev_36677" to check that the rsync SST method of Galera
works correctly also when the joiner node store InnoDB log files in a dedicated
directory separate from the data dictionary

Note: merging this PR to 11.4 may not be fully functional as there are other
changes in the rsync SST script. Take a look at the original 11.4 PR when merging.
PranavKTiwari
Fixed macor
Sergei Golubchik
MDEV-40571 insufficient validation of frm data when opening a table

numerous checks that the frm is valid, no OOB reads,
values make sense (number of keyparts not less than number of keys,
no keys means no keyparts, number of long unique fields is not larger than
number of fields, fields values in the record don't overlap and don't
go over record ends, and so on). most asserts were changed to if()'s
Sergei Golubchik
cleanup: sys_vars.secure_file_priv test
Fariha Shaikh
MDEV-39459 Fix bad sync pattern for chain replication MTR tests

In chain replication (1->2->3), syncing only server_3 after
save_master_gtid on server_1 does not guarantee server_2 has committed,
because server_2's binlog dump thread can send events to server_3 before
commit_ordered() completes on server_2.

Fix affected rpl tests by syncing server_2 before server_3, and update
result files accordingly.

All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer Amazon Web
Services, Inc.
Sergei Golubchik
MDEV-40589 default exclude list for secure-file-priv

don't allow to access /proc if secure-file-priv="",
set secure-file-priv=/ to access everything and disable the exclude list

remove test for a conditon that can no longer happen
Marko Mäkelä
fixup! cb5a92348ebb37ab690338c0391b717ae66c6fb8
Alexey Botchkov
MDEV-39750 ExtractValue does not control recursion depth.

Stack exhaustive test shouldn't be ran with the ASAN/UBSAN.
sjaakola
MDEV-37013 crash in applying FK cascade with virtual column

Added a simplified version of the Stefan Frye's test scenario
drrtuy
fix: MDEV-40386 disable MTR tests for MSAN builds b/c MSAN build is unstable.
Oleksandr Byelkin
Merge fix