rejectedsoftware/mysql-native — pull request #1 by Abscissa (2012-10-26 06:01:51+00:00)
Title: Fix incorrect error connecting to v4.1.1+ server (+ minor doc update)

Attempting to connect to a v5.0 MySQL server (and possibly others) resulted in an oddly contradictory "Server doesn't support protocol v4.1 passwords" error.

Turns out, this was a bug based on a misinterpretation of the protocol spec (or perhaps an outdated version of the spec). Specifically, the low bit of the server capabilities does *not* refer to the new 4.1+ style passwords (as was previously thought), but rather a later version of the *old*-style passwords (rather conflusingly). The flag itself was deprecated in v4.1.1 and, according top the spec, should be *assumed* to be ON. See:

- http://dev.mysql.com/doc/internals/en/connection-phase.html#capability-flags
- http://jan.kneschke.de/2012/2/23/client_long_password/

I also snuck in a few minor documentation updates:

- Fixed a few broken links to the protocol spec.
- Removed the blurb about "only compiled and tested on Ubuntu with D2.055" since that's no longer true. (I've been using it on Windows with DMD 2.059 and 2.060.)
- Added note that MySQL servers prior to v4.1.1 are not supported (which was already true anyway, the docs just didn't say so).