1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-08 14:02:17 +03:00
Commit Graph

41 Commits

Author SHA1 Message Date
Georg Richter
a66f3fc302 Merge branch '3.3' into 3.4 2024-10-22 13:50:24 +02:00
Sergei Golubchik
6c0e755edf fix compilation errors with -flto
declare plugin structures using their correct type.
Fixes errors like

./libmariadb/libmariadb/ma_client_plugin.c:86:39: error: type of ‘pvio_socket_client_plugin’ does not match original declaration [-Werror=lto-type-mismatch]
./libmariadb/plugins/pvio/pvio_socket.c:141:21: note: type ‘struct MARIADB_PVIO_PLUGIN’ should match type ‘struct st_mysql_client_plugin’

Approved by: Georg Richter <georg@mariadb.com>
2024-10-17 10:02:07 +02:00
Vladislav Vaintroub
998a8da4b0 MDEV-33513 On Windows, build auth_gssapi_client statically and dynamically.
With normal client, statically linked plugin with be used
The DLL is for the obscure in-server client, which we never got rid off.

That client is used with mariabackup, replication, and some storage engines,
e.g connect and federated.
2024-07-28 09:38:52 +02:00
Georg Richter
d01d8c100a Follow up of fix for CONC-680:
mysql_old_password is disabled by default (setting DISABLED YES),
but can be used if the plugin was added to the list of restricted
authentication plugins (via mysql_optionsv using option
MARIADB_OPT_RESTRICTED_AUTH).
2024-03-15 14:41:53 +01:00
Vladislav Vaintroub
1437ff0470 MDEV-33513 On Windows, build auth_gssapi_client statically and dynamically.
With normal client, statically linked plugin with be used
The DLL is for the obscure in-server client, which we never got rid off.

That client is used with mariabackup, replication, and some storage engines,
e.g connect and federated.
2024-03-12 14:19:22 +01:00
Vladislav Vaintroub
8cf925f473 Workaround a CMake bug with Ninja generator. 2021-03-12 00:02:08 +01:00
Oleksandr Byelkin
59780f919e Revert "CONC-429: Don't allow to load unknown authentication plugins"
This reverts commit acc270b7d4.
2019-07-25 11:27:25 +02:00
Georg Richter
acc270b7d4 CONC-429: Don't allow to load unknown authentication plugins
If the server sends name of authentication plugin, the client needs to check
if this plugin is valid and authorized.
2019-07-22 07:27:48 +02:00
Vladislav Vaintroub
deeb32a86a Remove LIBRARY_OUTPUT_DIRECTORY from target properties for plugins
to fix windows build/test
2018-05-19 23:08:54 +00:00
Vladislav Vaintroub
dd3ab95c08 fix plugin library building on macOS
libraries that loaded dynamically at runtime, need to be MODULE, not SHARED.
They will also get .so extension, not .dylib
2018-05-19 18:50:33 +00:00
Vladislav Vaintroub
cbc9a71e1d attempt to fix C/C to build on older cmake 2018-05-19 15:32:39 +02:00
Georg Richter
89e27e9828 Windows build fix:
The msi installer package didn't contain all plugins
2018-04-23 03:47:07 +02:00
Georg Richter
50d48e91fa Reworked plugin interface
Plugin configuration happens now in CMakeLists.txt files in corresponding plugin directories.

plugins.cmake now contains REGISTER_PLUGIN_FUNCTION which accepts the following parameters:
  - TARGET: the name of the plugin (dynamic plugins will be named ${TARGET}.so (or .dll)
  - SOURCES: source files
  - LIBRARIES: additional libraries for linking
  - INCLUDES: include directories
  - CONFIGURATIONS: possible plugin configurations: valid arguments are DYNAMIC, STATIC, OFF
  - DEFAULT: default configuration (see CONFIGURATIONS)
  - COMPILE_OPTIONS: compiler flags

The default plugin configuration can be specified via cmake parameter -DCLIENT_PLUGIN_${TARGET}=[DYNAMIC|STATIC|OFF]
2018-04-07 07:14:43 +02:00
Georg Richter
8b04136823 Fixed windows build: taget name for sha256 password plugin wasn't specified 2017-07-19 11:29:42 +02:00
Georg Richter
b359d2d758 Fix for CONC-253:
Fixed compiler warnings in gssapi_client.c
  Since trace_example, aurora and replication plugins have experimental status, they are no longer build by default (=OFF).
2017-05-11 17:20:51 +02:00
Georg Richter
5c4cf7a9b6 Implementation of SHA256 authentication plugin (CONC-229).
On Windows the sha256 plugin doesn't need any external TLS/Crypto libraries, it uses windows cryto library. On non Windws platforms the plugin requires OpenSSL (GnuTLS doesn't support OAEP v2.0 padding yet)
2017-05-08 14:12:17 +02:00
Georg Richter
a54d8120bb Fix static build for dialog plugin 2017-01-18 16:08:21 +01:00
Sergei Golubchik
7a787b1e3e C/C integration in MariaDB Server builds
* make is usable as a CMake sub-project
  * put options in a separate namespace
  * but use parent project values when specified
* always specify COMPONENT when INSTALLing
* don't use PROJECT_SOURCE_DIR/PROJECT_BINARY_DIR

Also

* fix out-of-source builds (don't generate files
  in the CMAKE_SOURCE_DIR, always do it in CMAKE_BINARY_DIR)
* make subsequence cmake runs less verbose, use MESSAGE1
  to avoid repeating messages that didn't change
2016-09-05 19:15:58 +02:00
Vladislav Vaintroub
be73859c83 server integration 2016-08-11 16:35:42 +00:00
Georg Richter
f0601e0e40 Manual merge from 2.3 branch:
put cmake helper scripts under new BSD license
2016-07-09 10:53:09 +02:00
GeorgyKirichenko
56505d8fb6 Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR. Client library
can be used as subdirectory in another cmake project.
2016-04-27 17:54:07 +03:00
Georg Richter
0a187a0c3b Build remote_io as dynamic plugin to avoid build problems on several
machines with broken OpenSSL installation
2016-03-02 16:43:39 +01:00
Georg Richter
27a66aa11c 10.2 fixes
old pathword plugin is now static by default
prefixed PLUGINDIR (now MARIADB_PLUGINDIR)
2016-02-20 11:55:58 +01:00
Georg Richter
c014b9f6ae 10.2 integration fixes:
- renamed/prefixed password functions
- prepared statement fixes for mysql_client_test
2016-02-19 22:23:00 +01:00
Georg Richter
409d673291 10.2 - integration fixes
- enable data truncation reporting for ps by default
- added plugin protoype definitions to mysql.h10.2 - integration fixes
2016-02-18 10:45:26 +01:00
Georg Richter
4ca933bb81 Global cleanup:
removed global locks
  removed dead code and files
  removed dbug
2016-02-08 18:43:02 +01:00
Georg Richter
ccb8798f09 Added mysql_options4 (was #define before) 2016-02-02 10:11:15 +01:00
Georg Richter
17ab9f81ad Added missing FindGSSAPI.cmake for non windows builds 2016-01-23 15:57:33 +01:00
Georg Richter
f0215ab091 Added GSSAPI authentication plugin 2016-01-22 20:00:40 +01:00
Georg Richter
9a5904a52f Don't build remote io on Windows as "static", since curl libraries are
not installed by default on Windows
2016-01-18 11:32:41 +01:00
Georg Richter
fdaa90e647 Wix installer fixes
Added lib and lib/plugin to PATH
2016-01-18 10:34:45 +01:00
Georg Richter
e3d75b994d Build remoteio plugin as built-in (static) 2016-01-05 13:06:48 +01:00
Georg Richter
97a6aeafff - Fixed build errors for remote_io plugin
- Bumped client version number to 10.1.7
2016-01-03 17:29:44 +01:00
Georg Richter
2c8ef31641 renamed aurora test to t_aurora, since we already have a so target
aurora (if plugin was build dynamicilly)
2015-12-21 08:13:17 +01:00
Georg Richter
bec245a913 Initial aurora implementation 2015-12-10 12:52:51 +01:00
Georg Richter
630d742b89 Last push was incomplete, it contained only new file (old_password.c) 2015-11-02 14:58:04 +01:00
Georg Richter
301d0de34c Windows fixes:
fixed type mismatch warnings in client_plugin.c
 fixed prototypes and const/non const warnings in windows pvio
 removed debug from msi package
 added plugin dependencies for msi package
2015-11-01 08:34:12 +01:00
Georg Richter
7500f37150 - Renamed cio to pvio (pluggable virtual IO)
- minor fixes in windows schannel
2015-10-27 10:24:48 +01:00
Georg Richter
1f80dbdeab If configuration builds with remote_io plugin we need to find
CURL package first
2015-10-18 14:15:24 +02:00
Georg Richter
05659c872e More plugin configuration changes (last commit was incomplete) 2015-10-02 10:09:41 +02:00
Georg Richter
7609cbe121 - Changed plugin configuration for cmake
- Fixed/finished shared memory plugin for windows
2015-10-02 10:05:41 +02:00