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