mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
6d7aceeead
into the server repository This patch adds client windows authentication plugin code to the client library libmysql (only on Windows platform). The plugin is compiled into the library and added to the list of built-in plugins. This way clients should be able to connect to a server which uses windows authentication plugin even as an SQL user which uses such authentication. Note: this makes the client library to depend on Secur32 Windows system library. When building clients, they must be linked against Secur32. Command mysql_config --libs correctly lists Secur32 as a required dependency.
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; version 2 of the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
#include <my_global.h>
|
|
#include <mysql.h>
|
|
#include <mysql/plugin_auth.h>
|
|
#include <mysql/client_plugin.h>
|
|
|
|
#include "common.h"
|
|
|
|
static int win_auth_client_plugin_init(char*, size_t, int, va_list)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
|
|
static int win_auth_client_plugin_deinit()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
|
|
int win_auth_handshake_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql);
|
|
|
|
|
|
/*
|
|
Client plugin declaration. This is added to mysql_client_builtins[]
|
|
in sql-common/client.c
|
|
*/
|
|
|
|
extern "C"
|
|
st_mysql_client_plugin_AUTHENTICATION win_auth_client_plugin=
|
|
{
|
|
MYSQL_CLIENT_AUTHENTICATION_PLUGIN,
|
|
MYSQL_CLIENT_AUTHENTICATION_PLUGIN_INTERFACE_VERSION,
|
|
"authentication_windows_client",
|
|
"Rafal Somla",
|
|
"Windows Authentication Plugin - client side",
|
|
{0,1,0},
|
|
"GPL",
|
|
NULL,
|
|
win_auth_client_plugin_init,
|
|
win_auth_client_plugin_deinit,
|
|
NULL, // option handling
|
|
win_auth_handshake_client
|
|
};
|