123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- #ifndef MYSQL_PLUGIN_AUTH_INCLUDED
- #define MYSQL_PLUGIN_AUTH_INCLUDED
- #include <mysql/plugin.h>
- #define MYSQL_AUTHENTICATION_INTERFACE_VERSION 0x0101
- #include "plugin_auth_common.h"
- #define PASSWORD_USED_NO 0
- #define PASSWORD_USED_YES 1
- #define PASSWORD_USED_NO_MENTION 2
- #define AUTH_FLAG_PRIVILEGED_USER_FOR_PASSWORD_CHANGE (1L << 0)
- #define AUTH_FLAG_USES_INTERNAL_STORAGE (1L << 1)
- typedef struct st_mysql_server_auth_info
- {
-
- char *user_name;
-
- unsigned int user_name_length;
-
- const char *auth_string;
-
- unsigned long auth_string_length;
-
- char authenticated_as[MYSQL_USERNAME_LENGTH+1];
-
-
- char external_user[512];
-
- int password_used;
-
- const char *host_or_ip;
-
- unsigned int host_or_ip_length;
- } MYSQL_SERVER_AUTH_INFO;
- struct st_mysql_auth
- {
- int interface_version;
-
- const char *client_auth_plugin;
-
- int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, MYSQL_SERVER_AUTH_INFO *info);
-
- int (*generate_authentication_string)(char *outbuf,
- unsigned int *outbuflen, const char *inbuf, unsigned int inbuflen);
-
- int (*validate_authentication_string)(char* const inbuf, unsigned int buflen);
-
- int (*set_salt)(const char *password, unsigned int password_len,
- unsigned char* salt, unsigned char *salt_len);
-
- const unsigned long authentication_flags;
- };
- #endif
|