2010-12-24 03:54:59 +00:00
|
|
|
Prefix mysql_ to the real names of several symbols that have to be exported
|
2010-12-27 21:06:48 +00:00
|
|
|
from libmysqlclient because mysql-connector-odbc and/or PHP depend on them.
|
|
|
|
This limits the intrusion on application namespace.
|
2010-12-24 03:54:59 +00:00
|
|
|
|
2011-07-12 17:58:47 +00:00
|
|
|
Also, remove all traces of make_scrambled_password and
|
|
|
|
make_scrambled_password_323, so that references to these functions draw
|
|
|
|
compile-time warnings, per a suggestion from Paul Howarth in bug #690346.
|
|
|
|
It doesn't seem worth trying to get rid of all the internal symbols exposed
|
|
|
|
by mysql.h, but these two are relatively easy to get rid of.
|
2010-12-24 03:54:59 +00:00
|
|
|
|
2011-07-12 17:58:47 +00:00
|
|
|
|
|
|
|
diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin.cc
|
|
|
|
--- mysql-5.5.14.orig/client/mysqladmin.cc 2011-06-21 12:42:41.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/client/mysqladmin.cc 2011-07-12 12:19:59.578066771 -0400
|
|
|
|
@@ -20,6 +20,7 @@
|
|
|
|
#include <my_pthread.h> /* because of signal() */
|
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <mysql.h>
|
|
|
|
+#include <password.h> /* my_make_scrambled_password_323, my_make_scrambled_password */
|
|
|
|
#include <sql_common.h>
|
|
|
|
#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
|
|
|
|
|
|
|
|
@@ -975,9 +976,9 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (old)
|
|
|
|
- make_scrambled_password_323(crypted_pw, typed_password);
|
|
|
|
+ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password));
|
|
|
|
else
|
|
|
|
- make_scrambled_password(crypted_pw, typed_password);
|
|
|
|
+ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password));
|
|
|
|
}
|
|
|
|
else
|
|
|
|
crypted_pw[0]=0; /* No password */
|
|
|
|
diff -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h
|
|
|
|
--- mysql-5.5.14.orig/include/errmsg.h 2011-06-21 12:42:39.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/include/errmsg.h 2011-07-12 11:55:29.194204015 -0400
|
2010-12-27 21:06:48 +00:00
|
|
|
@@ -24,6 +24,7 @@
|
|
|
|
#endif
|
|
|
|
void init_client_errs(void);
|
|
|
|
void finish_client_errs(void);
|
|
|
|
+#define client_errors mysql_client_errors /* namespace sanity */
|
|
|
|
extern const char *client_errors[]; /* Error messages */
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
2011-07-12 17:58:47 +00:00
|
|
|
diff -Naur mysql-5.5.14.orig/include/my_sys.h mysql-5.5.14/include/my_sys.h
|
|
|
|
--- mysql-5.5.14.orig/include/my_sys.h 2011-06-21 12:42:39.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/include/my_sys.h 2011-07-12 11:55:29.195231427 -0400
|
|
|
|
@@ -223,6 +223,7 @@
|
2010-12-24 03:54:59 +00:00
|
|
|
|
|
|
|
/* charsets */
|
|
|
|
#define MY_ALL_CHARSETS_SIZE 2048
|
|
|
|
+#define default_charset_info mysql_default_charset_info /* namespace sanity */
|
|
|
|
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
|
|
|
|
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE];
|
|
|
|
extern CHARSET_INFO compiled_charsets[];
|
2011-07-12 17:58:47 +00:00
|
|
|
@@ -900,6 +901,9 @@
|
2010-12-24 03:54:59 +00:00
|
|
|
extern uint get_collation_number(const char *name);
|
|
|
|
extern const char *get_charset_name(uint cs_number);
|
|
|
|
|
|
|
|
+#define get_charset mysql_get_charset /* namespace sanity */
|
|
|
|
+#define get_charset_by_csname mysql_get_charset_by_csname
|
|
|
|
+
|
|
|
|
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,
|
2011-07-12 17:58:47 +00:00
|
|
|
diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp
|
|
|
|
--- mysql-5.5.14.orig/include/mysql.h.pp 2011-06-21 12:42:39.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/include/mysql.h.pp 2011-07-12 11:58:43.662068564 -0400
|
2010-12-24 03:54:59 +00:00
|
|
|
@@ -86,7 +86,7 @@
|
|
|
|
void my_net_local_init(NET *net);
|
|
|
|
void net_end(NET *net);
|
|
|
|
void net_clear(NET *net, my_bool clear_buffer);
|
|
|
|
-my_bool net_realloc(NET *net, size_t length);
|
|
|
|
+my_bool mysql_net_realloc(NET *net, size_t length);
|
|
|
|
my_bool net_flush(NET *net);
|
|
|
|
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
|
|
|
my_bool net_write_command(NET *net,unsigned char command,
|
2011-07-12 17:58:47 +00:00
|
|
|
@@ -128,13 +128,11 @@
|
|
|
|
double my_rnd(struct rand_struct *);
|
|
|
|
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
|
|
|
void hash_password(unsigned long *to, const char *password, unsigned int 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 unsigned char *reply, 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 unsigned char *reply, const char *message,
|
|
|
|
const unsigned char *hash_stage2);
|
|
|
|
diff -Naur mysql-5.5.14.orig/include/mysql_com.h mysql-5.5.14/include/mysql_com.h
|
|
|
|
--- mysql-5.5.14.orig/include/mysql_com.h 2011-06-21 12:42:39.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/include/mysql_com.h 2011-07-12 11:58:52.166065391 -0400
|
|
|
|
@@ -452,6 +452,7 @@
|
2010-12-24 03:54:59 +00:00
|
|
|
void my_net_local_init(NET *net);
|
|
|
|
void net_end(NET *net);
|
|
|
|
void net_clear(NET *net, my_bool clear_buffer);
|
|
|
|
+#define net_realloc mysql_net_realloc /* namespace sanity */
|
|
|
|
my_bool net_realloc(NET *net, size_t length);
|
|
|
|
my_bool net_flush(NET *net);
|
|
|
|
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
2011-07-12 17:58:47 +00:00
|
|
|
@@ -533,14 +534,12 @@
|
|
|
|
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
|
|
|
|
|
|
|
void hash_password(unsigned long *to, const char *password, unsigned int 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 unsigned char *reply, 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 unsigned char *reply, const char *message,
|
|
|
|
const unsigned char *hash_stage2);
|
|
|
|
diff -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c
|
|
|
|
--- mysql-5.5.14.orig/sql/password.c 2011-06-21 12:42:40.000000000 -0400
|
|
|
|
+++ mysql-5.5.14/sql/password.c 2011-07-12 11:59:29.194068612 -0400
|
|
|
|
@@ -154,23 +154,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI
|
|
|
|
- compatibility.
|
|
|
|
- In server code usage of my_make_scrambled_password_323() is preferred to
|
|
|
|
- avoid strlen().
|
|
|
|
- SYNOPSIS
|
|
|
|
- make_scrambled_password_323()
|
|
|
|
- to OUT store scrambled password here
|
|
|
|
- password IN NULL-terminated string with user-supplied password
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
-void make_scrambled_password_323(char *to, const char *password)
|
|
|
|
-{
|
|
|
|
- my_make_scrambled_password_323(to, password, strlen(password));
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
Scramble string with password.
|
|
|
|
Used in pre 4.1 authentication phase.
|
|
|
|
SYNOPSIS
|
|
|
|
@@ -433,23 +416,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
- Wrapper around my_make_scrambled_password() to maintain client lib ABI
|
|
|
|
- compatibility.
|
|
|
|
- In server code usage of my_make_scrambled_password() is preferred to
|
|
|
|
- avoid strlen().
|
|
|
|
- SYNOPSIS
|
|
|
|
- make_scrambled_password()
|
|
|
|
- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string
|
|
|
|
- password IN NULL-terminated password string
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
-void make_scrambled_password(char *to, const char *password)
|
|
|
|
-{
|
|
|
|
- my_make_scrambled_password(to, password, strlen(password));
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
Produce an obscure octet sequence from password and random
|
|
|
|
string, recieved from the server. This sequence corresponds to the
|
|
|
|
password, but password can not be easily restored from it. The sequence
|