summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2003-09-09 22:26:19 +0300
committerbell@sanja.is.com.ua <>2003-09-09 22:26:19 +0300
commitad07ffbf6dcd589b12ee69eb5670e4ea88efa23c (patch)
tree47d59fda36f5521a5dd083c51d5e5dd1fed3da89 /include
parent48825fe40bb6e7a1f07fe50f7b19270db64dc157 (diff)
parenta0bf98b7a4999fba4f402904a5149611975a72b9 (diff)
downloadmariadb-git-ad07ffbf6dcd589b12ee69eb5670e4ea88efa23c.tar.gz
merge
Diffstat (limited to 'include')
-rw-r--r--include/errmsg.h1
-rw-r--r--include/my_pthread.h1
-rw-r--r--include/my_sys.h9
-rw-r--r--include/myisam.h2
-rw-r--r--include/mysql.h14
-rw-r--r--include/mysql_com.h60
-rw-r--r--include/mysqld_error.h6
-rw-r--r--include/thr_alarm.h2
8 files changed, 55 insertions, 40 deletions
diff --git a/include/errmsg.h b/include/errmsg.h
index 1f4e6e12f00..a354c125e36 100644
--- a/include/errmsg.h
+++ b/include/errmsg.h
@@ -86,3 +86,4 @@ extern const char *client_errors[]; /* Error messages */
#define CR_SHARED_MEMORY_CONNECT_SET_ERROR 2045
#define CR_CONN_UNKNOW_PROTOCOL 2046
#define CR_INVALID_CONN_HANDLE 2047
+#define CR_MYSQL_SERVER_INIT_MISSED 2048
diff --git a/include/my_pthread.h b/include/my_pthread.h
index d8374cad314..f4976abee10 100644
--- a/include/my_pthread.h
+++ b/include/my_pthread.h
@@ -111,7 +111,6 @@ void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/
#endif
#define pthread_self() win_pthread_self
#define HAVE_LOCALTIME_R 1
-#define HAVE_GMTIME_R 1
#define _REENTRANT 1
#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
diff --git a/include/my_sys.h b/include/my_sys.h
index 688e8bfc9e3..4e727af3aa8 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -213,7 +213,7 @@ extern uint get_charset_number(const char *cs_name);
extern const char *get_charset_name(uint cs_number);
extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
-extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
+extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
uint cs_flags, myf my_flags);
extern void free_charsets(void);
extern char *get_charsets_dir(char *buf);
@@ -507,6 +507,8 @@ typedef struct st_keycache
ulonglong size;
} KEY_CACHE;
+typedef uint32 ha_checksum;
+
#include <my_alloc.h>
/* Prototypes for mysys and my_func functions */
@@ -749,10 +751,11 @@ extern void print_defaults(const char *conf_file, const char **groups);
extern my_bool my_compress(byte *, ulong *, ulong *);
extern my_bool my_uncompress(byte *, ulong *, ulong *);
extern byte *my_compress_alloc(const byte *packet, ulong *len, ulong *complen);
-extern ulong checksum(const byte *mem, uint count);
+extern ha_checksum my_checksum(ha_checksum crc, const byte *mem, uint count);
extern uint my_bit_log2(ulong value);
-uint my_count_bits(ulonglong v);
+extern uint my_count_bits(ulonglong v);
extern void my_sleep(ulong m_seconds);
+extern ulong crc32(ulong crc, const uchar *buf, uint len);
#ifdef __WIN__
extern my_bool have_tcpip; /* Is set if tcpip is used */
diff --git a/include/myisam.h b/include/myisam.h
index e85d3057672..0ffcdae8567 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -53,8 +53,6 @@ extern "C" {
#define mi_portable_sizeof_char_ptr 8
-typedef uint32 ha_checksum;
-
/* Param to/from mi_info */
typedef struct st_mi_isaminfo /* Struct from h_info */
diff --git a/include/mysql.h b/include/mysql.h
index 8e8ffc2b788..2e23a1e2f98 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -229,7 +229,9 @@ typedef struct st_mysql
enum mysql_status status;
my_bool free_me; /* If free in mysql_close */
my_bool reconnect; /* set to 1 if automatic reconnect */
- char scramble_buff[21]; /* New protocol requires longer scramble*/
+
+ /* session-wide random string */
+ char scramble[SCRAMBLE_LENGTH+1];
/*
Set if this is the original connection, not a master or a slave we have
@@ -541,16 +543,16 @@ typedef struct st_mysql_stmt
typedef struct st_mysql_methods
{
- my_bool STDCALL (*read_query_result)(MYSQL *mysql);
- my_bool STDCALL (*advanced_command)(MYSQL *mysql,
+ my_bool (STDCALL *read_query_result)(MYSQL *mysql);
+ my_bool (STDCALL *advanced_command)(MYSQL *mysql,
enum enum_server_command command,
const char *header,
unsigned long header_length,
const char *arg,
unsigned long arg_length, my_bool skip_check);
- MYSQL_RES * STDCALL (*store_result)(MYSQL *mysql);
- MYSQL_RES * STDCALL (*use_result)(MYSQL *mysql);
- void STDCALL (*fetch_lengths)(unsigned long *to, MYSQL_ROW column, uint field_count);
+ MYSQL_RES * (STDCALL *store_result)(MYSQL *mysql);
+ MYSQL_RES * (STDCALL *use_result)(MYSQL *mysql);
+ void (STDCALL *fetch_lengths)(unsigned long *to, MYSQL_ROW column, uint field_count);
} MYSQL_METHODS;
MYSQL_STMT * STDCALL mysql_prepare(MYSQL * mysql, const char *query,
diff --git a/include/mysql_com.h b/include/mysql_com.h
index b1c94e5c735..b8dc877f125 100644
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -49,8 +49,15 @@ enum enum_server_command
};
-#define SCRAMBLE_LENGTH 8
-#define SCRAMBLE41_LENGTH 20
+/*
+ Length of random string sent by server on handshake; this is also length of
+ obfuscated password, recieved from client
+*/
+#define SCRAMBLE_LENGTH 20
+#define SCRAMBLE_LENGTH_323 8
+/* length of password stored in the db: new passwords are preceeded with '*' */
+#define SCRAMBLED_PASSWORD_CHAR_LENGTH (SCRAMBLE_LENGTH*2+1)
+#define SCRAMBLED_PASSWORD_CHAR_LENGTH_323 (SCRAMBLE_LENGTH_323*2)
#define NOT_NULL_FLAG 1 /* Field can't be NULL */
@@ -302,31 +309,34 @@ extern "C" {
extern unsigned long max_allowed_packet;
extern unsigned long net_buffer_length;
-void randominit(struct rand_struct *,unsigned long seed1,
- unsigned long seed2);
+/*
+ These functions are used for authentication by client and server and
+ implemented in sql/password.c
+*/
+
+void randominit(struct rand_struct *, unsigned long seed1,
+ unsigned long seed2);
double my_rnd(struct rand_struct *);
-void make_scrambled_password(char *to,const char *password,
- my_bool force_old_scramble,struct rand_struct *rand_st);
-int get_password_length(my_bool force_old_scramble);
-char get_password_version(const char* password);
-void create_random_string(int length,struct rand_struct *rand_st,char* target);
-my_bool validate_password(const char* password, const char* message,
- unsigned long* salt);
-void password_hash_stage1(char *to, const char *password);
-void password_hash_stage2(char *to,const char *salt);
-void password_crypt(const char* from,char* to, const char* password,int length);
-void get_hash_and_password(unsigned long* salt, unsigned char pversion,char* hash,
- unsigned char* bin_password);
-void get_salt_from_password(unsigned long *res,const char *password);
-void create_key_from_old_password(const char* password,char* key);
-void make_password_from_salt(char *to, unsigned long *hash_res,
- unsigned char password_version);
-char *scramble(char *to,const char *message,const char *password,
- my_bool old_ver);
-my_bool check_scramble(const char *, const char *message,
- unsigned long *salt,my_bool old_ver);
+void create_random_string(char *to, uint length, struct rand_struct *rand_st);
+
+void hash_password(unsigned long *to, const char *password, uint password_len);
+void make_scrambled_password_323(char *to, const char *password);
+void scramble_323(char *to, const char *message, const char *password);
+my_bool check_scramble_323(const char *, const char *message,
+ unsigned long *salt);
+void get_salt_from_password_323(unsigned long *res, const char *password);
+void make_password_from_salt_323(char *to, const unsigned long *salt);
+
+void make_scrambled_password(char *to, const char *password);
+void scramble(char *to, const char *message, const char *password);
+my_bool check_scramble(const char *reply, const char *message,
+ const unsigned char *hash_stage2);
+void get_salt_from_password(unsigned char *res, const char *password);
+void make_password_from_salt(char *to, const unsigned char *hash_stage2);
+
+/* end of password.c */
+
char *get_tty_password(char *opt_message);
-void hash_password(unsigned long *result, const char *password);
const char *mysql_errno_to_sqlstate(unsigned int mysql_errno);
/* Some other useful functions */
diff --git a/include/mysqld_error.h b/include/mysqld_error.h
index 861e0314e28..c863a6c9854 100644
--- a/include/mysqld_error.h
+++ b/include/mysqld_error.h
@@ -289,5 +289,7 @@
#define ER_CANT_AGGREGATE_NCOLLATIONS 1270
#define ER_VARIABLE_IS_NOT_STRUCT 1271
#define ER_UNKNOWN_COLLATION 1272
-#define ER_WARN_FIELD_RESOLVED 1273
-#define ER_ERROR_MESSAGES 274
+#define ER_SLAVE_IGNORED_SSL_PARAMS 1273
+#define ER_SERVER_IS_IN_SECURE_AUTH_MODE 1274
+#define ER_WARN_FIELD_RESOLVED 1275
+#define ER_ERROR_MESSAGES 276
diff --git a/include/thr_alarm.h b/include/thr_alarm.h
index 439f046252f..8ff4472f700 100644
--- a/include/thr_alarm.h
+++ b/include/thr_alarm.h
@@ -100,7 +100,7 @@ typedef struct st_alarm {
#define thr_alarm_init(A) (*(A))=0
#define thr_alarm_in_use(A) (*(A)!= 0)
void init_thr_alarm(uint max_alarm);
-bool thr_alarm(thr_alarm_t *alarmed, uint sec, ALARM *buff);
+my_bool thr_alarm(thr_alarm_t *alarmed, uint sec, ALARM *buff);
void thr_alarm_kill(pthread_t thread_id);
void thr_end_alarm(thr_alarm_t *alarmed);
void end_thr_alarm(my_bool free_structures);