Yes, the mysql.exe is the same version - I installed version 4.1.10 of the server (and binaries) from the Windows executable
myself, about two months ago.


I've tried setting MYSQL_SECURE_AUTH to both true and false, to see if it solves the problem, but it doesn't.

Not sure what else I can try. Any other ideas?

Gleb Paharenko wrote:

Hello.



Are you sure that mysql.exe is the same version as the server?

Check if you're able to connect to 3.23.xx server using API. What value

does your MYSQL_SECURE_AUTH option have? See:



 http://dev.mysql.com/doc/mysql/en/mysql-options.html









Nicholas Watmough <[EMAIL PROTECTED]> wrote:



I am have trouble connecting to the MySQL server 4.1 using the API,




though I have no trouble connecting using the same parameters from the




command line mysql.exe.








I'm using server version 4.1.10 on Windows Server 2003, which was




started with --old-password (to ensure back compatibility with legacy




PHP 4 applications). As a result my mysql server uses the older style,




16-bit password hashing.








I'm using mysql_real_connect, and linking with the libmysql.lib that




ships with ver 4.1.10.








When I connect using mysql_real_connect() to a database with a password,




it fails, and returns a "bad handshake" error.





However, when I connect using mysql_real_connect() to a database with no




password, it connects without a problem.








This makes me suspect that the client is incorrectly trying to hash with




the newer style 41-bit hashing, against a server using the 16-bit




hashing. Is there any way to tell the client to use older-style hashing?




One of the client flags seems to relate to this,





ie:





#define CLIENT_LONG_PASSWORD 1 /* New more secure passwords */




(mysql_com.h, line 107)








but this should mean that a value of 0 uses short passwords, and I'm




calling mysql_real_connect with a value of 0 for the client flag




argument (though I've also tried with 1 to see if that works).








I have no trouble connecting to the database using the same connection




parameters using the command line mysql.exe.








Do anyone have any idea what I should do?











*** code extract ***








MYSQL my;








mysql_init(&my);








if (!mysql_real_connect(&my, host, user, password, db, port, NULL, 0))





{





cerr << ...





exit(EXIT_FAILURE);





}





else





{





cerr << ...





exit(EXIT_SUCCESS);





}











-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to