mirror of
https://github.com/MariaDB/server.git
synced 2026-04-21 07:45:32 +02:00
fixes for MYSQL manager
mysys/md5.c: Rename: sql/md5.c -> mysys/md5.c include/md5.h: Rename: mysys/md5.h -> include/md5.h client/Makefile.am: added mysqlmanagerc include/Makefile.am: moved md5.h to include include/mysql.h: added mysqlmanager client code include/mysql_com.h: renamed connect2 to my_connect() and made it extern libmysql/Makefile.shared: added md5 to libmysqlclient libmysql/libmysql.c: connect2->my_connect mysys/Makefile.am: added md5 to client sql/Makefile.am: md5 -> mysys sql/handler.cc: fixed typo tools/managertest1.nc: cleanup tools/mysqlmanager.c: fixed bugs added md5 authentication BitKeeper/etc/ignore: Added client/mysqlmanagerc to the ignore list vio/test-ssl: no change
This commit is contained in:
parent
623a6e551a
commit
ba2c3fcd6a
17 changed files with 325 additions and 58 deletions
|
|
@ -28,7 +28,7 @@ noinst_HEADERS = global.h config-win.h \
|
|||
my_dir.h mysys_err.h my_base.h \
|
||||
my_nosys.h my_alarm.h queues.h \
|
||||
my_tree.h hash.h thr_alarm.h thr_lock.h \
|
||||
getopt.h t_ctype.h violite.h \
|
||||
getopt.h t_ctype.h violite.h md5.h \
|
||||
mysql_version.h.in
|
||||
|
||||
# mysql_version.h are generated
|
||||
|
|
|
|||
78
include/md5.h
Normal file
78
include/md5.h
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
|
||||
/* MD5.H - header file for MD5C.C
|
||||
*/
|
||||
|
||||
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
|
||||
rights reserved.
|
||||
|
||||
License to copy and use this software is granted provided that it
|
||||
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
||||
Algorithm" in all material mentioning or referencing this software
|
||||
or this function.
|
||||
|
||||
License is also granted to make and use derivative works provided
|
||||
that such works are identified as "derived from the RSA Data
|
||||
Security, Inc. MD5 Message-Digest Algorithm" in all material
|
||||
mentioning or referencing the derived work.
|
||||
|
||||
RSA Data Security, Inc. makes no representations concerning either
|
||||
the merchantability of this software or the suitability of this
|
||||
software for any particular purpose. It is provided "as is"
|
||||
without express or implied warranty of any kind.
|
||||
|
||||
These notices must be retained in any copies of any part of this
|
||||
documentation and/or software.
|
||||
*/
|
||||
|
||||
/* GLOBAL.H - RSAREF types and constants
|
||||
*/
|
||||
|
||||
/* PROTOTYPES should be set to one if and only if the compiler supports
|
||||
function argument prototyping.
|
||||
The following makes PROTOTYPES default to 0 if it has not already
|
||||
been defined with C compiler flags.
|
||||
*/
|
||||
|
||||
/* egcs 1.1.2 under linux didn't defined it.... :( */
|
||||
|
||||
#ifndef PROTOTYPES
|
||||
#define PROTOTYPES 1 /* Assume prototypes */
|
||||
#endif
|
||||
|
||||
/* POINTER defines a generic pointer type */
|
||||
typedef unsigned char *POINTER;
|
||||
|
||||
/* UINT2 defines a two byte word */
|
||||
typedef uint16 UINT2; /* Fix for MySQL / Alpha */
|
||||
|
||||
/* UINT4 defines a four byte word */
|
||||
typedef uint32 UINT4; /* Fix for MySQL / Alpha */
|
||||
|
||||
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
|
||||
If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
|
||||
returns an empty list.
|
||||
*/
|
||||
#if PROTOTYPES
|
||||
#define PROTO_LIST(list) list
|
||||
#else
|
||||
#define PROTO_LIST(list) ()
|
||||
#endif
|
||||
/* MD5 context. */
|
||||
typedef struct {
|
||||
UINT4 state[4]; /* state (ABCD) */
|
||||
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
|
||||
unsigned char buffer[64]; /* input buffer */
|
||||
} my_MD5_CTX;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void my_MD5Init PROTO_LIST ((my_MD5_CTX *));
|
||||
void my_MD5Update PROTO_LIST
|
||||
((my_MD5_CTX *, unsigned char *, unsigned int));
|
||||
void my_MD5Final PROTO_LIST ((unsigned char [16], my_MD5_CTX *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -220,7 +220,31 @@ typedef struct st_mysql_res {
|
|||
my_bool eof; /* Used my mysql_fetch_row */
|
||||
} MYSQL_RES;
|
||||
|
||||
#define MAX_MYSQL_MANAGER_ERR 256
|
||||
#define MAX_MYSQL_MANAGER_MSG 256
|
||||
|
||||
#define MANAGER_OK 200
|
||||
#define MANAGER_INFO 250
|
||||
#define MANAGER_ACCESS 401
|
||||
#define MANAGER_CLIENT_ERR 450
|
||||
#define MANAGER_INTERNAL_ERR 500
|
||||
|
||||
|
||||
|
||||
typedef struct st_mysql_manager
|
||||
{
|
||||
Vio* vio;
|
||||
char *host,*user,*passwd;
|
||||
unsigned int port;
|
||||
my_bool free_me;
|
||||
my_bool eof;
|
||||
int cmd_status;
|
||||
int last_errno;
|
||||
char* net_buf,*net_buf_pos,*net_data_end;
|
||||
int net_buf_size;
|
||||
char last_error[MAX_MYSQL_MANAGER_ERR];
|
||||
} MYSQL_MANAGER;
|
||||
|
||||
/* Set up and bring down the server; to ensure that applications will
|
||||
* work when linked against either the standard client library or the
|
||||
* embedded server library, these functions should be called. */
|
||||
|
|
@ -365,7 +389,18 @@ char * STDCALL mysql_odbc_escape_string(MYSQL *mysql,
|
|||
unsigned long *length));
|
||||
void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
|
||||
unsigned int STDCALL mysql_thread_safe(void);
|
||||
|
||||
MYSQL_MANAGER* STDCALL mysql_manager_init(MYSQL_MANAGER* con);
|
||||
MYSQL_MANAGER* STDCALL mysql_manager_connect(MYSQL_MANAGER* con,
|
||||
const char* host,
|
||||
const char* user,
|
||||
const char* passwd,
|
||||
unsigned int port);
|
||||
void STDCALL mysql_manager_close(MYSQL_MANAGER* con);
|
||||
int STDCALL mysql_manager_command(MYSQL_MANAGER* con,
|
||||
const char* cmd, int cmd_len);
|
||||
int STDCALL mysql_manager_fetch_line(MYSQL_MANAGER* con,
|
||||
char* res_buf,
|
||||
int res_buf_size);
|
||||
#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
|
||||
|
||||
#ifdef USE_OLD_FUNCTIONS
|
||||
|
|
|
|||
|
|
@ -164,6 +164,8 @@ int net_write_command(NET *net,unsigned char command,const char *packet,
|
|||
unsigned long len);
|
||||
int net_real_write(NET *net,const char *packet,unsigned long len);
|
||||
unsigned long my_net_read(NET *net);
|
||||
int my_connect(my_socket s, const struct sockaddr *name, uint namelen,
|
||||
uint timeout);
|
||||
|
||||
struct rand_struct {
|
||||
unsigned long seed1,seed2,max_value;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue