-
Georgi Kodinov authored
Initial implementation. * added a new capabilities flag CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS * Added a new server option (and a read only global variable) disconnect-on-expired-password. Defailt is on. When off it will cause old clients to get a connection against an expired password account and get an error for every query that they try to execute that's not SET PASSWORD. * server will check for expired passwords at login and will refuse the login if the client didn't set CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS in the client hello packet and if the disconnect_on_expired_password server side option is set. A detailed error (ER_MUST_CHANGE_PASSWORD) will be sent in this case. * server always sets CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS in the server hello packet. libmysql never checks for it. * new mysql_options() option MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS to set the CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS flag. * mysql binary sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS if run in interactive mode * mysqladmin sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS if the first command is 'password' or 'old_password' * mysqltest sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS * test cases added (both mtr tests and some C test code) * existing test case results updated to reflect the new server command line option. * fixed the linux compilation problems and test failures
Georgi Kodinov authoredInitial implementation. * added a new capabilities flag CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS * Added a new server option (and a read only global variable) disconnect-on-expired-password. Defailt is on. When off it will cause old clients to get a connection against an expired password account and get an error for every query that they try to execute that's not SET PASSWORD. * server will check for expired passwords at login and will refuse the login if the client didn't set CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS in the client hello packet and if the disconnect_on_expired_password server side option is set. A detailed error (ER_MUST_CHANGE_PASSWORD) will be sent in this case. * server always sets CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS in the server hello packet. libmysql never checks for it. * new mysql_options() option MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS to set the CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS flag. * mysql binary sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS if run in interactive mode * mysqladmin sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS if the first command is 'password' or 'old_password' * mysqltest sets MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS * test cases added (both mtr tests and some C test code) * existing test case results updated to reflect the new server command line option. * fixed the linux compilation problems and test failures
Loading