Bug #109229 | older mysql client report different auth error msg info when connect to 8.0.22 | ||
---|---|---|---|
Submitted: | 29 Nov 2022 8:48 | Modified: | 30 Nov 2022 1:18 |
Reporter: | yuxiang jiang (OCA) | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | OS: | Any | |
Assigned to: | CPU Architecture: | Any |
[29 Nov 2022 8:48]
yuxiang jiang
[29 Nov 2022 13:01]
MySQL Verification Team
Hi Mr. jiang, Thank you for your bug report. However, we do not upgrade our clients from the obsolete versions to have the same features as the 8.0 clients. This is why our Reference Manual has so many references on the compatibility of features with older clients. Particularly with 5.6 or earlier, that are NOT maintained for a long time. Not a bug.
[30 Nov 2022 1:18]
yuxiang jiang
I think login with non-exist user should report the same error. Check the code below. Here we use random plugin for non-exist user. So when client has no caching_sha2_password plugin, client report error. This random action cause ambiguous auth report. if (unknown_accounts->find(key, value)) { user->plugin = Cached_authentication_plugins::cached_plugins_names[value]; } else { const int DECIMAL_SHIFT = 1000; const int random_number = static_cast<int>(my_rnd(rand) * DECIMAL_SHIFT); uint plugin_num = (uint)(random_number % ((uint)PLUGIN_LAST)); user->plugin = Cached_authentication_plugins::cached_plugins_names[plugin_num]; unknown_accounts->clear_if_greater(MAX_UNKNOWN_ACCOUNTS);