mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
125e172a2b
Allow passwordless login in addition to usual login with password, when creating 'root' user during install. The effect of that change is that "local administrators" group are allowed to connect as root user. This is done via gssapi authentication plugin. Clients that are not aware of gssapi client plugin, can still login with password credentials.
65 lines
2.2 KiB
CMake
65 lines
2.2 KiB
CMake
|
|
SET(CPACK_RPM_gssapi-server_PACKAGE_SUMMARY "GSSAPI authentication plugin for MariaDB server" PARENT_SCOPE)
|
|
SET(CPACK_RPM_gssapi-server_PACKAGE_DESCRIPTION "The gssapi authentication plugin allows the user to authenticate with services
|
|
that use the Generic Security Services Application Program Interface (GSSAPI).
|
|
The gssapi authentication plugin is most often used for authenticating with Microsoft Active Directory." PARENT_SCOPE)
|
|
|
|
IF (WIN32)
|
|
SET(USE_SSPI 1)
|
|
ENDIF()
|
|
|
|
IF(USE_SSPI)
|
|
SET(GSSAPI_LIBS secur32)
|
|
ADD_DEFINITIONS(-DPLUGIN_SSPI)
|
|
SET(GSSAPI_CLIENT sspi_client.cc)
|
|
SET(GSSAPI_SERVER sspi_server.cc)
|
|
SET(GSSAPI_ERRMSG sspi_errmsg.cc)
|
|
ELSE()
|
|
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
FIND_PACKAGE(GSSAPI)
|
|
SET_PACKAGE_PROPERTIES(GSSAPI PROPERTIES TYPE OPTIONAL)
|
|
IF(GSSAPI_FOUND)
|
|
INCLUDE_DIRECTORIES(${GSSAPI_INCS})
|
|
ADD_DEFINITIONS(-DPLUGIN_GSSAPI)
|
|
SET(GSSAPI_CLIENT gssapi_client.cc)
|
|
SET(GSSAPI_SERVER gssapi_server.cc)
|
|
SET(GSSAPI_ERRMSG gssapi_errmsg.cc)
|
|
|
|
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
SET_SOURCE_FILES_PROPERTIES(
|
|
${GSSAPI_CLIENT} ${GSSAPI_SERVER} ${GSSAPI_ERRMSG}
|
|
PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations")
|
|
ENDIF()
|
|
SET(CMAKE_REQUIRED_INCLUDES ${GSSAPI_INCS})
|
|
SET(CMAKE_REQUIRED_LIBRARIES ${GSSAPI_LIBS})
|
|
SET(CMAKE_REQUIRED_FLAGS "-Werror -Wall")
|
|
INCLUDE(CheckCXXSymbolExists)
|
|
CHECK_CXX_SYMBOL_EXISTS(krb5_xfree "krb5.h" HAVE_KRB5_XFREE)
|
|
IF(HAVE_KRB5_XFREE)
|
|
ADD_DEFINITIONS(-DHAVE_KRB5_XFREE=1)
|
|
ENDIF()
|
|
MY_CHECK_AND_SET_COMPILER_FLAG(-Wl,--as-needed)
|
|
|
|
ELSE()
|
|
# Can't build plugin
|
|
RETURN()
|
|
ENDIF()
|
|
ENDIF ()
|
|
|
|
IF(WIN32)
|
|
SET(AUTH_GSSAPI_DEFAULT DEFAULT)
|
|
ELSE()
|
|
SET(AUTH_GSSAPI_DEFAULT)
|
|
ENDIF()
|
|
MYSQL_ADD_PLUGIN(auth_gssapi server_plugin.cc ${GSSAPI_SERVER} ${GSSAPI_ERRMSG}
|
|
LINK_LIBRARIES ${GSSAPI_LIBS}
|
|
${AUTH_GSSAPI_DEFAULT}
|
|
COMPONENT gssapi-server)
|
|
|
|
# disabled in favor of libmariadb/plugins/auth/auth_gssapi_client.c
|
|
#
|
|
#MYSQL_ADD_PLUGIN(auth_gssapi_client client_plugin.cc ${GSSAPI_CLIENT} ${GSSAPI_ERRMSG}
|
|
# LINK_LIBRARIES ${GSSAPI_LIBS COMPONENT ClientPlugins}
|
|
# COMPONENT gssapi-client
|
|
# CLIENT
|
|
# MODULE_ONLY)
|