MDEV-9618 solaris sparc build fails on 10.1.
Compiler there is strict about the C/C++ call model mixing in function variable assumptions. Fixed by adding some 'extern "C"' and changing '?' operator with 'if'.
This commit is contained in:
parent
5dd0c77e92
commit
a02d4023db
@ -23,6 +23,10 @@
|
|||||||
|
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MYSQL_AUDIT_CLASS_MASK_SIZE 1
|
#define MYSQL_AUDIT_CLASS_MASK_SIZE 1
|
||||||
|
|
||||||
#define MYSQL_AUDIT_INTERFACE_VERSION 0x0302
|
#define MYSQL_AUDIT_INTERFACE_VERSION 0x0302
|
||||||
@ -175,4 +179,8 @@ struct st_mysql_audit
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -31,6 +31,10 @@
|
|||||||
|
|
||||||
#include <mysql/plugin_auth_common.h>
|
#include <mysql/plugin_auth_common.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/* defines for MYSQL_SERVER_AUTH_INFO.password_used */
|
/* defines for MYSQL_SERVER_AUTH_INFO.password_used */
|
||||||
|
|
||||||
#define PASSWORD_USED_NO 0
|
#define PASSWORD_USED_NO 0
|
||||||
@ -122,5 +126,10 @@ struct st_mysql_auth
|
|||||||
*/
|
*/
|
||||||
int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, MYSQL_SERVER_AUTH_INFO *info);
|
int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, MYSQL_SERVER_AUTH_INFO *info);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,6 +27,10 @@
|
|||||||
|
|
||||||
#include <mysql/plugin.h>
|
#include <mysql/plugin.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MariaDB_ENCRYPTION_INTERFACE_VERSION 0x0300
|
#define MariaDB_ENCRYPTION_INTERFACE_VERSION 0x0300
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -114,5 +118,9 @@ struct st_mariadb_encryption
|
|||||||
*/
|
*/
|
||||||
unsigned int (*encrypted_length)(unsigned int slen, unsigned int key_id, unsigned int key_version);
|
unsigned int (*encrypted_length)(unsigned int slen, unsigned int key_id, unsigned int key_version);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -18,6 +18,10 @@
|
|||||||
#define _my_plugin_ftparser_h
|
#define _my_plugin_ftparser_h
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
API for Full-text parser plugin. (MYSQL_FTPARSER_PLUGIN)
|
API for Full-text parser plugin. (MYSQL_FTPARSER_PLUGIN)
|
||||||
*/
|
*/
|
||||||
@ -208,5 +212,9 @@ struct st_mysql_ftparser
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -26,6 +26,10 @@
|
|||||||
|
|
||||||
#include <mysql/plugin.h>
|
#include <mysql/plugin.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MariaDB_PASSWORD_VALIDATION_INTERFACE_VERSION 0x0100
|
#define MariaDB_PASSWORD_VALIDATION_INTERFACE_VERSION 0x0100
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,5 +45,10 @@ struct st_mariadb_password_validation
|
|||||||
int (*validate_password)(MYSQL_LEX_STRING *username,
|
int (*validate_password)(MYSQL_LEX_STRING *username,
|
||||||
MYSQL_LEX_STRING *password);
|
MYSQL_LEX_STRING *password);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
static plugin_ref encryption_manager= 0;
|
static plugin_ref encryption_manager= 0;
|
||||||
struct encryption_service_st encryption_handler;
|
struct encryption_service_st encryption_handler;
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
uint no_key(uint)
|
uint no_key(uint)
|
||||||
{
|
{
|
||||||
return ENCRYPTION_KEY_VERSION_INVALID;
|
return ENCRYPTION_KEY_VERSION_INVALID;
|
||||||
@ -41,6 +43,8 @@ static unsigned int get_length(unsigned int slen, unsigned int key_id,
|
|||||||
return my_aes_get_size(MY_AES_CBC, slen);
|
return my_aes_get_size(MY_AES_CBC, slen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} /* extern "C" */
|
||||||
|
|
||||||
int initialize_encryption_plugin(st_plugin_int *plugin)
|
int initialize_encryption_plugin(st_plugin_int *plugin)
|
||||||
{
|
{
|
||||||
if (encryption_manager)
|
if (encryption_manager)
|
||||||
@ -57,9 +61,15 @@ int initialize_encryption_plugin(st_plugin_int *plugin)
|
|||||||
st_mariadb_encryption *handle=
|
st_mariadb_encryption *handle=
|
||||||
(struct st_mariadb_encryption*) plugin->plugin->info;
|
(struct st_mariadb_encryption*) plugin->plugin->info;
|
||||||
|
|
||||||
encryption_handler.encryption_ctx_size_func=
|
/*
|
||||||
handle->crypt_ctx_size ? handle->crypt_ctx_size :
|
Copmiler on Spark doesn't like the '?' operator here as it
|
||||||
(uint (*)(unsigned int, unsigned int))my_aes_ctx_size;
|
belives the (uint (*)...) implies the C++ call model.
|
||||||
|
*/
|
||||||
|
if (handle->crypt_ctx_size)
|
||||||
|
encryption_handler.encryption_ctx_size_func= handle->crypt_ctx_size;
|
||||||
|
else
|
||||||
|
encryption_handler.encryption_ctx_size_func=
|
||||||
|
(uint (*)(unsigned int, unsigned int))my_aes_ctx_size;
|
||||||
|
|
||||||
encryption_handler.encryption_ctx_init_func=
|
encryption_handler.encryption_ctx_init_func=
|
||||||
handle->crypt_ctx_init ? handle->crypt_ctx_init : ctx_init;
|
handle->crypt_ctx_init ? handle->crypt_ctx_init : ctx_init;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user