Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4(EOL), 10.5, 10.6
-
None
Description
A user with an expired password connected to a server can't assign new password with the statement "SET password=..." if the statement is run in PS mode, for example when it is submitted to server via binary protocol.
Test case is below.
CREATE USER user1@localhost PASSWORD EXPIRE |
SET GLOBAL disconnect_on_expired_password=OFF; |
connect(con1,localhost,user1); |
connection con1; |
--error ER_MUST_CHANGE_PASSWORD
|
select 1; |
|
-- The following statement fails with the error ER_MUST_CHANGE_PASSWORD.
|
PREPARE stmt FROM "SET password=password('')"; |
In case the statement
SET password=password(''); |
is run as a regular statement it is executed successfully.
Attachments
Issue Links
- blocks
-
MDEV-16708 Unsupported commands for prepared statements
-
- Closed
-
- relates to
-
MDEV-25413 should_send_column_info(): Assertion `cmd == COM_STMT_EXECUTE || cmd == COM_STMT_PREPARE' failed
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue blocks |
Description |
A user with an expired password connected to a server can't assign new password with the statement "SET password=..." if the statement is run in PS mode, for example when it is submitted to server via binary protocol.
Test case is below. {code:sql} CREATE USER user1@localhost PASSWORD EXPIRE SET GLOBAL disconnect_on_expired_password=OFF; connect(con1,localhost,user1); connection con1; --error ER_MUST_CHANGE_PASSWORD select 1; -- The following statement fails with the error ER_MUST_CHANGE_PASSWORD. PREPARE stmt FROM "SET password=password('')"; {code} In case the statement "SET password=password('');" is run as a regular statement it is executed successfully. |
A user with an expired password connected to a server can't assign new password with the statement "SET password=..." if the statement is run in PS mode, for example when it is submitted to server via binary protocol.
Test case is below. {code:sql} CREATE USER user1@localhost PASSWORD EXPIRE SET GLOBAL disconnect_on_expired_password=OFF; connect(con1,localhost,user1); connection con1; --error ER_MUST_CHANGE_PASSWORD select 1; -- The following statement fails with the error ER_MUST_CHANGE_PASSWORD. PREPARE stmt FROM "SET password=password('')"; {code} In case the statement {code:sql} SET password=password(''); {code} is run as a regular statement it is executed successfully. |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Dmitry Shulga [ JIRAUSER47315 ] | Oleksandr Byelkin [ sanja ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Oleksandr Byelkin [ sanja ] | Dmitry Shulga [ JIRAUSER47315 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Fix Version/s | 10.4.19 [ 25205 ] | |
Fix Version/s | 10.5.10 [ 25204 ] | |
Fix Version/s | 10.6.0 [ 24431 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Link |
This issue relates to |
Workflow | MariaDB v3 [ 120280 ] | MariaDB v4 [ 159055 ] |
OK to push, but please merge all commits in one befor doing it.