Commit 1f8efacc authored by Rafal Somla's avatar Rafal Somla

Bug#13101974 SLAVE CAN'T CONNECT AS REPLICATION USER USING WINDOWS AUTH PLUGIN

Problem was that built-in client-side support for Windows Native Authentication (WNA) was included only in the client library, but not into the server code (which also uses some of the sources from the client library).

This is fixed by modyfying sql/CMakeLists.txt to include the client-side WNA plugin library and enable WNA related code by defining AUTHENTICATION_WIN macro.

Also, the logic of libmysql/CMakeLists.txt is simplified a bit.
parent e36692d0
...@@ -134,12 +134,6 @@ CACHE INTERNAL "Functions exported by client API" ...@@ -134,12 +134,6 @@ CACHE INTERNAL "Functions exported by client API"
) )
IF(WIN32)
ADD_SUBDIRECTORY(authentication_win)
SET(WITH_AUTHENTICATION_WIN 1)
ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
ENDIF(WIN32)
SET(CLIENT_SOURCES SET(CLIENT_SOURCES
get_password.c get_password.c
libmysql.c libmysql.c
...@@ -157,9 +151,15 @@ ADD_DEPENDENCIES(clientlib GenError) ...@@ -157,9 +151,15 @@ ADD_DEPENDENCIES(clientlib GenError)
SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBDL}) SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBDL})
IF(WITH_AUTHENTICATION_WIN) #
# On Windows platform client library includes the client-side
# Windows Native Authentication plugin.
#
IF(WIN32)
ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
ADD_SUBDIRECTORY(authentication_win)
LIST(APPEND LIBS auth_win_client) LIST(APPEND LIBS auth_win_client)
ENDIF(WITH_AUTHENTICATION_WIN) ENDIF()
# Merge several convenience libraries into one big mysqlclient # Merge several convenience libraries into one big mysqlclient
# and link them together into shared library. # and link them together into shared library.
......
...@@ -90,7 +90,14 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS} ...@@ -90,7 +90,14 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS}
${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${LIBWRAP} ${LIBCRYPT} ${LIBDL}
${SSL_LIBRARIES}) ${SSL_LIBRARIES})
#
# On Windows platform we compile in the clinet-side Windows Native Authentication
# plugin which is used by the client connection code included in the server.
#
IF(WIN32)
ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
TARGET_LINK_LIBRARIES(sql auth_win_client)
ENDIF()
IF(WIN32) IF(WIN32)
SET(MYSQLD_SOURCE main.cc nt_servc.cc nt_servc.h message.rc) SET(MYSQLD_SOURCE main.cc nt_servc.cc nt_servc.h message.rc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment