tdf#150082: LO Base MariaDB/MySQL connector don't accept auth via gssapi...

take 2 + add sspi support for Windows

Thank you Mike for the suggestion and explanation about error I had done on initial commit!

We need to link with Secur32 to have:
- AcquireCredentialsHandleA
- __imp__FreeCredentialsHandle
- _InitializeSecurityContextA
- __imp__DeleteSecurityContext
referenced by function _auth_client
without this, we've got for example on Windows Jenkins:
mariadb-connector-c.lib(sspi_client.o) : error LNK2019: unresolved external symbol _AcquireCredentialsHandleA@36 referenced in function _auth_client

Change-Id: I138224942f16c0c6a23bb2854ef0ca561e82b061
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167057
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
Julien Nabet 2024-05-03 15:00:22 +02:00
parent d700acbcba
commit 6d5d9eaa61
3 changed files with 13 additions and 11 deletions

View file

@ -31,6 +31,12 @@ $(eval $(call gb_Library_add_libs,mysqlc,\
$(eval $(call gb_Library_use_sdk_api,mysqlc))
ifeq ($(OS),WNT)
$(eval $(call gb_Library_use_system_win32_libs,mysqlc,\
Secur32 \
))
endif
$(eval $(call gb_Library_use_libraries,mysqlc,\
comphelper \
cppu \

View file

@ -53,11 +53,7 @@ $(eval $(call gb_StaticLibrary_add_generated_cobjects,mariadb-connector-c,\
UnpackedTarball/mariadb-connector-c/libmariadb/ma_net \
UnpackedTarball/mariadb-connector-c/libmariadb/ma_password \
UnpackedTarball/mariadb-connector-c/libmariadb/ma_pvio \
$(ifneq $(filter $(OS),WNT), \
UnpackedTarball/mariadb-connector-c/plugins/auth/auth_gssapi_client \
UnpackedTarball/mariadb-connector-c/plugins/auth/gssapi_client \
UnpackedTarball/mariadb-connector-c/plugins/auth/gssapi_errmsg \
) \
UnpackedTarball/mariadb-connector-c/plugins/auth/auth_gssapi_client \
UnpackedTarball/mariadb-connector-c/libmariadb/ma_sha1 \
UnpackedTarball/mariadb-connector-c/libmariadb/ma_stmt_codec \
UnpackedTarball/mariadb-connector-c/libmariadb/ma_string \
@ -77,8 +73,12 @@ $(eval $(call gb_StaticLibrary_add_generated_cobjects,mariadb-connector-c,\
UnpackedTarball/mariadb-connector-c/win-iconv/win_iconv \
UnpackedTarball/mariadb-connector-c/plugins/pvio/pvio_npipe \
UnpackedTarball/mariadb-connector-c/plugins/pvio/pvio_shmem \
UnpackedTarball/mariadb-connector-c/plugins/auth/sspi_client \
UnpackedTarball/mariadb-connector-c/plugins/auth/sspi_errmsg \
, \
UnpackedTarball/mariadb-connector-c/libmariadb/secure/openssl_crypt \
UnpackedTarball/mariadb-connector-c/plugins/auth/gssapi_client \
UnpackedTarball/mariadb-connector-c/plugins/auth/gssapi_errmsg \
) \
))

View file

@ -36,9 +36,7 @@ $(eval $(call gb_UnpackedTarball_set_post_action,mariadb-connector-c, \
extern struct st_mysql_client_plugin pvio_socket_client_plugin\; \
extern struct st_mysql_client_plugin caching_sha2_password_client_plugin\; \
extern struct st_mysql_client_plugin mysql_native_password_client_plugin\; \
$(ifneq $(filter WNT,$(OS)), \
extern struct st_mysql_client_plugin_AUTHENTICATION auth_gssapi_client_client_plugin\; \
) \
extern struct st_mysql_client_plugin_AUTHENTICATION auth_gssapi_client_client_plugin\; \
$(if $(filter WNT,$(OS)), \
extern struct st_mysql_client_plugin pvio_shmem_client_plugin\; \
extern struct st_mysql_client_plugin pvio_npipe_client_plugin\; \
@ -48,9 +46,7 @@ $(eval $(call gb_UnpackedTarball_set_post_action,mariadb-connector-c, \
(struct st_mysql_client_plugin *)\&pvio_socket_client_plugin$(COMMA) \
(struct st_mysql_client_plugin *)\&caching_sha2_password_client_plugin$(COMMA) \
(struct st_mysql_client_plugin *)\&mysql_native_password_client_plugin$(COMMA) \
$(ifneq $(filter WNT,$(OS)), \
(struct st_mysql_client_plugin_AUTHENTICATION *)\&auth_gssapi_client_client_plugin$(COMMA) \
) \
(struct st_mysql_client_plugin_AUTHENTICATION *)\&auth_gssapi_client_client_plugin$(COMMA) \
$(if $(filter WNT,$(OS)), \
(struct st_mysql_client_plugin *)\&pvio_shmem_client_plugin$(COMMA) \
(struct st_mysql_client_plugin *)\&pvio_npipe_client_plugin$(COMMA) \