Commit 7a450cb1 authored by Sinisa@sinisa.nasamreza.org's avatar Sinisa@sinisa.nasamreza.org

Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0

into sinisa.nasamreza.org:/mnt/work/mysql-4.0
parents 0e289442 3b7d3391
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#ifndef _my_semaphore_h_ #ifndef _my_semaphore_h_
#define _my_semaphore_h_ #define _my_semaphore_h_
#ifdef THREAD
C_MODE_START C_MODE_START
#ifdef HAVE_SEMAPHORE_H #ifdef HAVE_SEMAPHORE_H
#include <semaphore.h> #include <semaphore.h>
...@@ -56,4 +58,7 @@ int sem_getvalue(sem_t * sem, unsigned int * sval); ...@@ -56,4 +58,7 @@ int sem_getvalue(sem_t * sem, unsigned int * sval);
#endif /* !__bsdi__ */ #endif /* !__bsdi__ */
C_MODE_END C_MODE_END
#endif /* THREAD */
#endif /* !_my_semaphore_h_ */ #endif /* !_my_semaphore_h_ */
...@@ -226,7 +226,7 @@ static bool check_user(THD *thd,enum_server_command command, const char *user, ...@@ -226,7 +226,7 @@ static bool check_user(THD *thd,enum_server_command command, const char *user,
} }
thd->master_access=acl_getroot(thd, thd->host, thd->ip, thd->user, thd->master_access=acl_getroot(thd, thd->host, thd->ip, thd->user,
passwd, thd->scramble, passwd, thd->scramble,
&thd->priv_user, &thd->priv_host, &thd->priv_user, thd->priv_host,
protocol_version == 9 || protocol_version == 9 ||
!(thd->client_capabilities & !(thd->client_capabilities &
CLIENT_LONG_PASSWORD),&ur); CLIENT_LONG_PASSWORD),&ur);
......
...@@ -93,13 +93,16 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, ...@@ -93,13 +93,16 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
rw_unlock(&share->key_root_lock[inx]); rw_unlock(&share->key_root_lock[inx]);
/* Calculate length of the found key; Used by mi_rnext_same */ /* Calculate length of the found key; Used by mi_rnext_same */
if ((keyinfo->flag & HA_VAR_LENGTH_KEY) && last_used_keyseg) if ((keyinfo->flag & HA_VAR_LENGTH_KEY) && last_used_keyseg &&
info->lastpos != HA_OFFSET_ERROR)
info->last_rkey_length= _mi_keylength_part(keyinfo, info->lastkey, info->last_rkey_length= _mi_keylength_part(keyinfo, info->lastkey,
last_used_keyseg); last_used_keyseg);
else else
info->last_rkey_length= pack_key_length; info->last_rkey_length= pack_key_length;
/* Check if we don't want to have record back, only error message */
if (!buf) if (!buf)
DBUG_RETURN(info->lastpos==HA_OFFSET_ERROR ? my_errno : 0); DBUG_RETURN(info->lastpos == HA_OFFSET_ERROR ? my_errno : 0);
if (!(*info->read_record)(info,info->lastpos,buf)) if (!(*info->read_record)(info,info->lastpos,buf))
{ {
...@@ -109,7 +112,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, ...@@ -109,7 +112,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
info->lastpos = HA_OFFSET_ERROR; /* Didn't find key */ info->lastpos = HA_OFFSET_ERROR; /* Didn't find key */
/* Store key for read next */ /* Store last used key as a base for read next */
memcpy(info->lastkey,key_buff,pack_key_length); memcpy(info->lastkey,key_buff,pack_key_length);
info->last_rkey_length= pack_key_length; info->last_rkey_length= pack_key_length;
bzero((char*) info->lastkey+pack_key_length,info->s->base.rec_reflength); bzero((char*) info->lastkey+pack_key_length,info->s->base.rec_reflength);
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <my_semaphore.h> #include <my_semaphore.h>
#include <errno.h> #include <errno.h>
#if !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H) #if !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H) && defined(THREAD)
int sem_init(sem_t * sem, int pshared, uint value) int sem_init(sem_t * sem, int pshared, uint value)
{ {
...@@ -101,4 +101,4 @@ int sem_getvalue(sem_t * sem, uint *sval) ...@@ -101,4 +101,4 @@ int sem_getvalue(sem_t * sem, uint *sval)
return 0; return 0;
} }
#endif /* !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H) */ #endif /* !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H) && defined(THREAD) */
...@@ -493,7 +493,7 @@ static int acl_compare(ACL_ACCESS *a,ACL_ACCESS *b) ...@@ -493,7 +493,7 @@ static int acl_compare(ACL_ACCESS *a,ACL_ACCESS *b)
ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user, ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user,
const char *password,const char *message, const char *password,const char *message,
char **priv_user, char **priv_host, char **priv_user, char *priv_host,
bool old_ver, USER_RESOURCES *mqh) bool old_ver, USER_RESOURCES *mqh)
{ {
ulong user_access=NO_ACCESS; ulong user_access=NO_ACCESS;
...@@ -623,7 +623,10 @@ ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user, ...@@ -623,7 +623,10 @@ ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user,
*mqh=acl_user->user_resource; *mqh=acl_user->user_resource;
if (!acl_user->user) if (!acl_user->user)
*priv_user=(char*) ""; // Change to anonymous user /* purecov: inspected */ *priv_user=(char*) ""; // Change to anonymous user /* purecov: inspected */
*priv_host=acl_user->host.hostname; if (acl_user->host.hostname)
strmake(priv_host, acl_user->host.hostname, MAX_HOSTNAME);
else
*priv_host= 0;
break; break;
} }
#ifndef ALLOW_DOWNGRADE_OF_USERS #ifndef ALLOW_DOWNGRADE_OF_USERS
......
...@@ -88,7 +88,7 @@ ulong acl_get(const char *host, const char *ip, const char *bin_ip, ...@@ -88,7 +88,7 @@ ulong acl_get(const char *host, const char *ip, const char *bin_ip,
const char *user, const char *db); const char *user, const char *db);
ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user, ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user,
const char *password,const char *scramble, const char *password,const char *scramble,
char **priv_user, char **priv_host, char **priv_user, char *priv_host,
bool old_ver, USER_RESOURCES *max); bool old_ver, USER_RESOURCES *max);
bool acl_check_host(const char *host, const char *ip); bool acl_check_host(const char *host, const char *ip);
bool check_change_password(THD *thd, const char *host, const char *user); bool check_change_password(THD *thd, const char *host, const char *user);
......
...@@ -351,7 +351,8 @@ class THD :public ilink ...@@ -351,7 +351,8 @@ class THD :public ilink
db - currently selected database db - currently selected database
ip - client IP ip - client IP
*/ */
char *host,*user,*priv_user,*priv_host,*db,*ip; char *host,*user,*priv_user,*db,*ip;
char priv_host[MAX_HOSTNAME];
/* remote (peer) port */ /* remote (peer) port */
uint16 peer_port; uint16 peer_port;
/* Points to info-string that will show in SHOW PROCESSLIST */ /* Points to info-string that will show in SHOW PROCESSLIST */
......
...@@ -206,7 +206,7 @@ static bool check_user(THD *thd,enum_server_command command, const char *user, ...@@ -206,7 +206,7 @@ static bool check_user(THD *thd,enum_server_command command, const char *user,
} }
thd->master_access=acl_getroot(thd, thd->host, thd->ip, thd->user, thd->master_access=acl_getroot(thd, thd->host, thd->ip, thd->user,
passwd, thd->scramble, passwd, thd->scramble,
&thd->priv_user, &thd->priv_host, &thd->priv_user, thd->priv_host,
protocol_version == 9 || protocol_version == 9 ||
!(thd->client_capabilities & !(thd->client_capabilities &
CLIENT_LONG_PASSWORD),&ur); CLIENT_LONG_PASSWORD),&ur);
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
#else #else
#define MAX_REFLENGTH 4 /* Max length for record ref */ #define MAX_REFLENGTH 4 /* Max length for record ref */
#endif #endif
#define MAX_HOSTNAME 61 /* len+1 in mysql.user */
#define MAX_FIELD_WIDTH 256 /* Max column width +1 */ #define MAX_FIELD_WIDTH 256 /* Max column width +1 */
#define MAX_TABLES (sizeof(table_map)*8-1) /* Max tables in join */ #define MAX_TABLES (sizeof(table_map)*8-1) /* Max tables in join */
......
...@@ -16,7 +16,7 @@ Copyright: GPL ...@@ -16,7 +16,7 @@ Copyright: GPL
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
Icon: mysql.gif Icon: mysql.gif
URL: http://www.mysql.com/ URL: http://www.mysql.com/
Packager: Lenz Grimmer <lenz@mysql.com> Packager: Lenz Grimmer <build@mysql.com>
Vendor: MySQL AB Vendor: MySQL AB
Requires: fileutils sh-utils Requires: fileutils sh-utils
Provides: msqlormysql MySQL-server mysql Provides: msqlormysql MySQL-server mysql
...@@ -146,7 +146,7 @@ languages and applications need to dynamically load and use MySQL. ...@@ -146,7 +146,7 @@ languages and applications need to dynamically load and use MySQL.
%package Max %package Max
Release: %{release} Release: %{release}
Summary: MySQL - server with Berkeley DB, RAID and UDF support Summary: MySQL - server with Berkeley BD and UDF support
Group: Applications/Databases Group: Applications/Databases
Provides: mysql-Max Provides: mysql-Max
Obsoletes: mysql-Max Obsoletes: mysql-Max
...@@ -154,7 +154,7 @@ Requires: MySQL >= 4.0 ...@@ -154,7 +154,7 @@ Requires: MySQL >= 4.0
%description Max %description Max
Optional MySQL server binary that supports additional features like Optional MySQL server binary that supports additional features like
Berkeley DB, RAID and User Defined Functions (UDF). Berkeley DB and User Defined Functions (UDFs).
To activate this binary, just install this package in addition to To activate this binary, just install this package in addition to
the standard MySQL package. the standard MySQL package.
...@@ -257,7 +257,6 @@ export PATH ...@@ -257,7 +257,6 @@ export PATH
BuildMySQL "--enable-shared \ BuildMySQL "--enable-shared \
--with-berkeley-db \ --with-berkeley-db \
--with-innodb \ --with-innodb \
--with-raid \
--with-server-suffix='-Max'" --with-server-suffix='-Max'"
# Save everything for debug # Save everything for debug
...@@ -536,6 +535,11 @@ fi ...@@ -536,6 +535,11 @@ fi
%changelog %changelog
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
- disabled MyISAM RAID (--with-raid) - it throws an assertion which
needs to be investigated first.
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com> * Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
- added missing file mysql_secure_installation to server subpackage - added missing file mysql_secure_installation to server subpackage
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment