Hi, Peter!
On Oct 13, Peter Laursen wrote:
> To make it clear: it is not acceptable/not a usable solution for us if it
> is a requirement that a MariaDB server is installed on user's system. The
> client (in case SQLyog - but it could be any client) should work for
> connection to remote servers with no server at all installed on client
> machine.
Yes, I understand (and agree!).
MariaDB server is not needed. You only need mysql_clear_password.dll
that is put in the location where the client library expects it to. And
you can set this location with
mysql_options(..., MYSQL_PLUGIN_DIR, "path");
Another option would be to compile the plugin into SQLyog. It's doable
too, but you need the source for the plugin (because it's not part of
the libmysqlclient). Luckily, the whole source of the plugin is:
=========================================================
static int clear_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql)
{
int res= vio->write_packet(vio, (const unsigned char *) mysql->passwd,
strlen(mysql->passwd) + 1);
return res ? CR_ERROR : CR_OK;
}
mysql_declare_client_plugin(AUTHENTICATION)
"mysql_clear_password", "Georgi Kodinov",
"Clear password authentication plugin",
{0,1,0}, "GPL", NULL, NULL, NULL, NULL,
clear_password_auth_client
mysql_end_client_plugin;
=========================================================
If you want it to be part of SQLyog, you put this code somewhere and call
mysql_client_register_plugin(MYSQL*, _mysql_client_plugin_declaration_);
Then you won't need a separate mysql_clear_password.dll
Regards,
Sergei