Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
2.0.0-rc
-
None
Description
When the server advertises the PLUGIN_AUTH_LENENC_CLIENT_DATA capability (bit 21), the authentication data length in the handshake response and COM_CHANGE_USER packet must be encoded as a length-encoded integer, which supports values greater than 255.
The pure-Python connector was ignoring this capability and always falling through to the SECURE_CONNECTION branch, which writes the length as a single byte. This silently truncates passwords whose encoded auth data exceeds 255 bytes, causing authentication failures.