Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.4, 10.5, 10.6
-
Component/s: Prepared Statements
-
Labels: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
-