summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-05-16 16:40:34 +0300
committerunknown <monty@hundin.mysql.fi>2002-05-16 16:40:34 +0300
commit74d29a07712a0caf57fca62dacfeb14b110beca4 (patch)
tree2faca3f82fb3e3bf67884a8a3a9f34abbb0da83f /sql
parentc23bc103f0abf9ddfc0899d477398dd4c55d8c84 (diff)
parentd2b95cd7ab5b3ed450af572e9c77cd11d3c420ba (diff)
downloadmariadb-git-74d29a07712a0caf57fca62dacfeb14b110beca4.tar.gz
Merge work:/home/bk/mysql into hundin.mysql.fi:/my/bk/mysql
Diffstat (limited to 'sql')
-rw-r--r--sql/hostname.cc7
-rw-r--r--sql/mini_client.cc15
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/sql_acl.cc13
4 files changed, 19 insertions, 20 deletions
diff --git a/sql/hostname.cc b/sql/hostname.cc
index bc812341337..21dbd5a2bbe 100644
--- a/sql/hostname.cc
+++ b/sql/hostname.cc
@@ -171,17 +171,22 @@ my_string ip_to_hostname(struct in_addr *in, uint *errors)
{
DBUG_PRINT("error",("gethostbyname_r returned %d",tmp_errno));
add_wrong_ip(in);
+ my_gethostbyname_r_free();
DBUG_RETURN(0);
}
if (!hp->h_name[0])
{
DBUG_PRINT("error",("Got an empty hostname"));
add_wrong_ip(in);
+ my_gethostbyname_r_free();
DBUG_RETURN(0); // Don't allow empty hostnames
}
if (!(name=my_strdup(hp->h_name,MYF(0))))
+ {
+ my_gethostbyname_r_free();
DBUG_RETURN(0); // out of memory
-
+ }
+ my_gethostbyname_r_free();
#else
VOID(pthread_mutex_lock(&LOCK_hostname));
if (!(hp=gethostbyaddr((char*) in,sizeof(*in), AF_INET)))
diff --git a/sql/mini_client.cc b/sql/mini_client.cc
index 3dfd58375a5..8f703b80e3a 100644
--- a/sql/mini_client.cc
+++ b/sql/mini_client.cc
@@ -614,7 +614,6 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
memcpy_fixed(&sock_addr.sin_addr,&ip_addr,sizeof(ip_addr));
}
else
-#if defined(HAVE_GETHOSTBYNAME_R) && defined(_REENTRANT) && defined(THREAD)
{
int tmp_errno;
struct hostent tmp_hostent,*hp;
@@ -625,22 +624,12 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
{
net->last_errno=CR_UNKNOWN_HOST;
sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, tmp_errno);
+ my_gethostbyname_r_free();
goto error;
}
memcpy(&sock_addr.sin_addr,hp->h_addr, (size_t) hp->h_length);
+ my_gethostbyname_r_free();
}
-#else
- {
- struct hostent *hp;
- if (!(hp=gethostbyname(host)))
- {
- net->last_errno=CR_UNKNOWN_HOST;
- sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, socket_errno);
- goto error;
- }
- memcpy(&sock_addr.sin_addr,hp->h_addr, (size_t) hp->h_length);
- }
-#endif
sock_addr.sin_port = (ushort) htons((ushort) port);
if (mc_sock_connect(sock,(struct sockaddr *) &sock_addr, sizeof(sock_addr),
mysql->options.connect_timeout) <0)
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index ebb7592820b..9ac6ea6fff8 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3149,10 +3149,10 @@ struct show_var_st status_vars[]= {
{"Com_show_grants", (char*) (com_stat+(uint) SQLCOM_SHOW_GRANTS),SHOW_LONG},
{"Com_show_keys", (char*) (com_stat+(uint) SQLCOM_SHOW_KEYS),SHOW_LONG},
{"Com_show_logs", (char*) (com_stat+(uint) SQLCOM_SHOW_LOGS),SHOW_LONG},
- {"Com_show_master_stat", (char*) (com_stat+(uint) SQLCOM_SHOW_MASTER_STAT),SHOW_LONG},
+ {"Com_show_master_status", (char*) (com_stat+(uint) SQLCOM_SHOW_MASTER_STAT),SHOW_LONG},
{"Com_show_open_tables", (char*) (com_stat+(uint) SQLCOM_SHOW_OPEN_TABLES),SHOW_LONG},
{"Com_show_processlist", (char*) (com_stat+(uint) SQLCOM_SHOW_PROCESSLIST),SHOW_LONG},
- {"Com_show_slave_stat", (char*) (com_stat+(uint) SQLCOM_SHOW_SLAVE_STAT),SHOW_LONG},
+ {"Com_show_slave_status", (char*) (com_stat+(uint) SQLCOM_SHOW_SLAVE_STAT),SHOW_LONG},
{"Com_show_status", (char*) (com_stat+(uint) SQLCOM_SHOW_STATUS),SHOW_LONG},
{"Com_show_tables", (char*) (com_stat+(uint) SQLCOM_SHOW_TABLES),SHOW_LONG},
{"Com_show_variables", (char*) (com_stat+(uint) SQLCOM_SHOW_VARIABLES),SHOW_LONG},
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index e6b0248e29b..446076e0d55 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -983,12 +983,17 @@ static int replace_user_table(TABLE *table, const LEX_USER &combo,
char *password,empty_string[1];
DBUG_ENTER("replace_user_table");
+ password=empty_string;
+ empty_string[0]=0;
+
if (combo.password.str && combo.password.str[0])
- password=combo.password.str;
- else
{
- password=empty_string;
- empty_string[0]=0;
+ if (combo.password.length != HASH_PASSWORD_LENGTH)
+ {
+ my_error(ER_PASSWORD_NO_MATCH,MYF(0));
+ DBUG_RETURN(-1);
+ }
+ password=combo.password.str;
}
table->field[0]->store(combo.host.str,combo.host.length);