Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
451e3c8c
Commit
451e3c8c
authored
Aug 26, 2001
by
tonu@x153.internalnet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some warning fixes and some SSL testprograms check-in
parent
b4815e5e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
258 additions
and
69 deletions
+258
-69
SSL/run-client
SSL/run-client
+9
-0
SSL/run-server
SSL/run-server
+9
-0
extra/resolveip.c
extra/resolveip.c
+1
-0
myisam/mi_open.c
myisam/mi_open.c
+1
-1
mysys/my_compress.c
mysys/my_compress.c
+1
-0
mysys/string.c
mysys/string.c
+1
-1
strings/ctype.c
strings/ctype.c
+1
-0
vio/test-ssl.c
vio/test-ssl.c
+131
-0
vio/test-sslclient.c
vio/test-sslclient.c
+32
-20
vio/test-sslserver.c
vio/test-sslserver.c
+72
-47
No files found.
SSL/run-client
0 → 100755
View file @
451e3c8c
#! /bin/sh
cmd
()
{
echo
$*
$*
}
client/mysql
--port
=
4407
--socket
=
/tmp/test.mysql.sock
--ssl-ca
=
SSL/cacert.pem
--ssl-cert
=
SSL/client-cert.pem
--ssl-key
=
SSL/client-key.pem
--debug
=
'd:t:O,/tmp/client.trace'
-h
127.0.0.1
--execute
=
"select version()"
SSL/run-server
0 → 100755
View file @
451e3c8c
#! /bin/sh
cmd
()
{
echo
$*
$*
}
cmd sql/mysqld
--port
=
4407
--socket
=
/tmp/test.mysql.sock
--ssl-ca
=
SSL/cacert.pem
--ssl-cert
=
SSL/server-cert.pem
--ssl-key
=
SSL/server-key.pem
--skip-grant
--debug
=
'd:t:O,/tmp/mysqld.trace'
>
& /tmp/mysqld.output
extra/resolveip.c
View file @
451e3c8c
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include <netdb.h>
#include <netdb.h>
#include <m_ctype.h>
#include <m_ctype.h>
#include <my_sys.h>
#include <my_sys.h>
#include <m_string.h>
#include <getopt.h>
#include <getopt.h>
#if !defined(_AIX) && !defined(HAVE_UNIXWARE7_THREADS) && !defined(HAVE_UNIXWARE7_POSIX) && !defined(h_errno)
#if !defined(_AIX) && !defined(HAVE_UNIXWARE7_THREADS) && !defined(HAVE_UNIXWARE7_POSIX) && !defined(h_errno)
...
...
myisam/mi_open.c
View file @
451e3c8c
...
@@ -1017,7 +1017,7 @@ The argument file_to_dup is here for the future if there would on some OS
...
@@ -1017,7 +1017,7 @@ The argument file_to_dup is here for the future if there would on some OS
exist a dup()-like call that would give us two different file descriptors.
exist a dup()-like call that would give us two different file descriptors.
*************************************************************************/
*************************************************************************/
int
mi_open_datafile
(
MI_INFO
*
info
,
MYISAM_SHARE
*
share
,
File
file_to_dup
)
int
mi_open_datafile
(
MI_INFO
*
info
,
MYISAM_SHARE
*
share
,
File
file_to_dup
__attribute__
((
unused
))
)
{
{
#ifdef USE_RAID
#ifdef USE_RAID
if
(
share
->
base
.
raid_type
)
if
(
share
->
base
.
raid_type
)
...
...
mysys/my_compress.c
View file @
451e3c8c
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#ifdef HAVE_COMPRESS
#ifdef HAVE_COMPRESS
#include <my_sys.h>
#include <my_sys.h>
#include <zlib.h>
#include <zlib.h>
#include <m_string.h>
/*
/*
** This replaces the packet with a compressed packet
** This replaces the packet with a compressed packet
...
...
mysys/string.c
View file @
451e3c8c
...
@@ -51,7 +51,7 @@ my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
...
@@ -51,7 +51,7 @@ my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
my_bool
dynstr_set
(
DYNAMIC_STRING
*
str
,
const
char
*
init_str
)
my_bool
dynstr_set
(
DYNAMIC_STRING
*
str
,
const
char
*
init_str
)
{
{
uint
length
;
uint
length
=
0
;
DBUG_ENTER
(
"dynstr_set"
);
DBUG_ENTER
(
"dynstr_set"
);
if
(
init_str
&&
(
length
=
(
uint
)
strlen
(
init_str
)
+
1
)
>
str
->
max_length
)
if
(
init_str
&&
(
length
=
(
uint
)
strlen
(
init_str
)
+
1
)
>
str
->
max_length
)
...
...
strings/ctype.c
View file @
451e3c8c
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include <global.h>
#include <global.h>
#include <m_ctype.h>
#include <m_ctype.h>
#include <m_string.h>
/* generated by make, using conf_to_src */
/* generated by make, using conf_to_src */
#include "ctype_extra_sources.c"
#include "ctype_extra_sources.c"
...
...
vio/test-ssl.c
0 → 100644
View file @
451e3c8c
#include <global.h>
#ifdef HAVE_OPENSSL
#include <my_sys.h>
#include <m_string.h>
#include <m_ctype.h>
#include "mysql.h"
#include "errmsg.h"
#include <my_dir.h>
#ifndef __GNU_LIBRARY__
#define __GNU_LIBRARY__ // Skip warnings in getopt.h
#endif
#include <getopt.h>
#include <signal.h>
#include <violite.h>
const
char
*
VER
=
"0.1"
;
#ifndef DBUG_OFF
const
char
*
default_dbug_option
=
"d:t:O,-"
;
#endif
void
fatal_error
(
const
char
*
r
)
{
perror
(
r
);
exit
(
0
);
}
void
print_usage
()
{
printf
(
"viossl-test: testing SSL virtual IO. Usage:
\n
"
);
printf
(
"viossl-test server-key server-cert client-key client-cert [CAfile] [CApath]
\n
"
);
}
int
main
(
int
argc
,
char
**
argv
)
{
char
*
server_key
=
0
,
*
server_cert
=
0
;
char
*
client_key
=
0
,
*
client_cert
=
0
;
char
*
ca_file
=
0
,
*
ca_path
=
0
;
int
child_pid
,
sv
[
2
];
struct
st_VioSSLAcceptorFd
*
ssl_acceptor
=
0
;
struct
st_VioSSLConnectorFd
*
ssl_connector
=
0
;
Vio
*
client_vio
=
0
,
*
server_vio
=
0
;
MY_INIT
(
argv
[
0
]);
DBUG_PROCESS
(
argv
[
0
]);
DBUG_PUSH
(
default_dbug_option
);
if
(
argc
<
5
)
{
print_usage
();
return
1
;
}
server_key
=
argv
[
1
];
server_cert
=
argv
[
2
];
client_key
=
argv
[
3
];
client_cert
=
argv
[
4
];
if
(
argc
>
5
)
ca_file
=
argv
[
5
];
if
(
argc
>
6
)
ca_path
=
argv
[
6
];
printf
(
"Server key/cert : %s/%s
\n
"
,
server_key
,
server_cert
);
printf
(
"Client key/cert : %s/%s
\n
"
,
client_key
,
client_cert
);
if
(
ca_file
!=
0
)
printf
(
"CAfile : %s
\n
"
,
ca_file
);
if
(
ca_path
!=
0
)
printf
(
"CApath : %s
\n
"
,
ca_path
);
if
(
socketpair
(
PF_UNIX
,
SOCK_STREAM
,
IPPROTO_IP
,
sv
)
==-
1
)
fatal_error
(
"socketpair"
);
ssl_acceptor
=
new_VioSSLAcceptorFd
(
server_key
,
server_cert
,
ca_file
,
ca_path
);
ssl_connector
=
new_VioSSLConnectorFd
(
client_key
,
client_cert
,
ca_file
,
ca_path
);
client_vio
=
(
struct
st_vio
*
)
my_malloc
(
sizeof
(
struct
st_vio
),
MYF
(
0
));
client_vio
->
sd
=
sv
[
0
];
client_vio
->
vioblocking
(
client_vio
,
0
);
sslconnect
(
ssl_connector
,
client_vio
);
server_vio
=
(
struct
st_vio
*
)
my_malloc
(
sizeof
(
struct
st_vio
),
MYF
(
0
));
server_vio
->
sd
=
sv
[
1
];
server_vio
->
vioblocking
(
client_vio
,
0
);
sslaccept
(
ssl_acceptor
,
server_vio
);
printf
(
"Socketpair: %d , %d
\n
"
,
client_vio
->
sd
,
server_vio
->
sd
);
child_pid
=
fork
();
if
(
child_pid
==-
1
)
{
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
fatal_error
(
"fork"
);
}
if
(
child_pid
==
0
)
{
//child, therefore, client
char
xbuf
[
100
];
int
r
=
client_vio
->
read
(
client_vio
,
xbuf
,
sizeof
(
xbuf
));
if
(
r
<=
0
)
{
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
fatal_error
(
"client:SSL_read"
);
}
xbuf
[
r
]
=
0
;
printf
(
"client:got %s
\n
"
,
xbuf
);
my_free
((
gptr
)
client_vio
,
MYF
(
0
));
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
}
else
{
const
char
*
s
=
"Huhuhuh"
;
int
r
=
server_vio
->
write
(
server_vio
,(
gptr
)
s
,
strlen
(
s
));
if
(
r
<=
0
)
{
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
fatal_error
(
"server:SSL_write"
);
}
my_free
((
gptr
)
server_vio
,
MYF
(
0
));
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
}
return
0
;
}
#else
/* HAVE_OPENSSL */
int
main
()
{
return
0
;
}
#endif
/* HAVE_OPENSSL */
vio/test-sslclient.c
View file @
451e3c8c
...
@@ -28,45 +28,57 @@ fatal_error( const char* r)
...
@@ -28,45 +28,57 @@ fatal_error( const char* r)
}
}
int
int
main
(
int
argc
,
main
(
int
argc
__attribute__
((
unused
))
,
char
**
argv
)
char
**
argv
)
{
{
char
*
client_key
=
0
,
*
client_cert
=
0
;
char
client_key
[]
=
"../SSL/client-key.pem"
,
client_cert
[]
=
"../SSL/client-cert.pem"
;
char
*
ca_file
=
0
,
*
ca_path
=
0
;
char
ca_file
[]
=
"../SSL/cacert.pem"
,
*
ca_path
=
0
;
struct
st_VioSSLConnectorFd
*
ssl_connector
=
0
;
struct
st_VioSSLConnectorFd
*
ssl_connector
=
0
;
struct
sockaddr_in
sa
;
Vio
*
client_vio
=
0
;
Vio
*
client_vio
=
0
;
int
err
;
char
xbuf
[
100
]
=
"Ohohhhhoh1234"
;
MY_INIT
(
argv
[
0
]);
MY_INIT
(
argv
[
0
]);
DBUG_PROCESS
(
argv
[
0
]);
DBUG_PROCESS
(
argv
[
0
]);
DBUG_PUSH
(
default_dbug_option
);
DBUG_PUSH
(
default_dbug_option
);
client_key
=
"../SSL/client-key.pem"
;
client_cert
=
"../SSL/client-cert.pem"
;
ca_file
=
"../SSL/cacert.pem"
;
printf
(
"Client key/cert : %s/%s
\n
"
,
client_key
,
client_cert
);
printf
(
"Client key/cert : %s/%s
\n
"
,
client_key
,
client_cert
);
if
(
ca_file
!=
0
)
if
(
ca_file
!=
0
)
printf
(
"CAfile : %s
\n
"
,
ca_file
);
printf
(
"CAfile : %s
\n
"
,
ca_file
);
if
(
ca_path
!=
0
)
if
(
ca_path
!=
0
)
printf
(
"CApath : %s
\n
"
,
ca_path
);
printf
(
"CApath : %s
\n
"
,
ca_path
);
ssl_connector
=
new_VioSSLConnectorFd
(
client_key
,
client_cert
,
ca_file
,
ca_path
);
ssl_connector
=
new_VioSSLConnectorFd
(
client_key
,
client_cert
,
ca_file
,
ca_path
);
if
(
!
ssl_connector
)
{
fatal_error
(
"client:new_VioSSLConnectorFd failed"
);
}
client_vio
=
(
struct
st_vio
*
)
my_malloc
(
sizeof
(
struct
st_vio
),
MYF
(
0
));
/* ----------------------------------------------- */
client_vio
->
vioblocking
(
client_vio
,
0
);
/* Create a socket and connect to server using normal socket calls. */
sslconnect
(
ssl_connector
,
client_vio
);
client_vio
=
vio_new
(
socket
(
AF_INET
,
SOCK_STREAM
,
0
),
VIO_TYPE_TCPIP
,
TRUE
);
memset
(
&
sa
,
'\0'
,
sizeof
(
sa
));
sa
.
sin_family
=
AF_INET
;
sa
.
sin_addr
.
s_addr
=
inet_addr
(
"127.0.0.1"
);
/* Server IP */
sa
.
sin_port
=
htons
(
1111
);
/* Server Port number */
err
=
connect
(
client_vio
->
sd
,
(
struct
sockaddr
*
)
&
sa
,
sizeof
(
sa
));
{
/* ----------------------------------------------- */
char
xbuf
[
100
];
/* Now we have TCP conncetion. Start SSL negotiation. */
int
r
=
client_vio
->
read
(
client_vio
,
xbuf
,
sizeof
(
xbuf
));
read
(
client_vio
->
sd
,
xbuf
,
sizeof
(
xbuf
));
if
(
r
<=
0
)
{
sslconnect
(
ssl_connector
,
client_vio
);
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
err
=
client_vio
->
read
(
client_vio
,
xbuf
,
sizeof
(
xbuf
));
fatal_error
(
"client:SSL_read"
);
if
(
err
<=
0
)
{
}
xbuf
[
r
]
=
0
;
printf
(
"client:got %s
\n
"
,
xbuf
);
my_free
((
gptr
)
client_vio
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
fatal_error
(
"client:SSL_read"
);
}
}
xbuf
[
err
]
=
0
;
printf
(
"client:got %s
\n
"
,
xbuf
);
my_free
((
gptr
)
client_vio
,
MYF
(
0
));
my_free
((
gptr
)
ssl_connector
,
MYF
(
0
));
return
0
;
return
0
;
}
}
#else
/* HAVE_OPENSSL */
#else
/* HAVE_OPENSSL */
...
...
vio/test-sslserver.c
View file @
451e3c8c
...
@@ -20,40 +20,68 @@ const char *VER="0.1";
...
@@ -20,40 +20,68 @@ const char *VER="0.1";
const
char
*
default_dbug_option
=
"d:t:O,-"
;
const
char
*
default_dbug_option
=
"d:t:O,-"
;
#endif
#endif
void
static
void
fatal_error
(
const
char
*
r
)
fatal_error
(
const
char
*
r
)
{
{
perror
(
r
);
perror
(
r
);
exit
(
0
);
exit
(
0
);
}
}
typedef
struct
{
int
sd
;
struct
st_VioSSLAcceptorFd
*
ssl_acceptor
;
}
TH_ARGS
;
static
void
do_ssl_stuff
(
TH_ARGS
*
args
)
{
const
char
*
s
=
"Huhuhuhuuu"
;
Vio
*
server_vio
;
int
err
;
DBUG_ENTER
(
"do_ssl_stuff"
);
server_vio
=
vio_new
(
args
->
sd
,
VIO_TYPE_TCPIP
,
TRUE
);
/* ----------------------------------------------- */
/* TCP connection is ready. Do server side SSL. */
err
=
write
(
server_vio
->
sd
,(
gptr
)
s
,
strlen
(
s
));
sslaccept
(
args
->
ssl_acceptor
,
server_vio
);
err
=
server_vio
->
write
(
server_vio
,(
gptr
)
s
,
strlen
(
s
));
DBUG_VOID_RETURN
;
}
static
void
*
client_thread
(
void
*
arg
)
{
my_thread_init
();
do_ssl_stuff
((
TH_ARGS
*
)
arg
);
}
int
int
main
(
int
argc
,
main
(
int
argc
__attribute__
((
unused
))
,
char
**
argv
)
char
**
argv
)
{
{
char
*
server_key
=
0
,
*
server_cert
=
0
;
char
server_key
[]
=
"../SSL/server-key.pem"
,
char
*
ca_file
=
0
,
*
ca_path
=
0
;
server_cert
[]
=
"../SSL/server-cert.pem"
;
struct
st_VioSSLAcceptorFd
*
ssl_acceptor
=
0
;
char
ca_file
[]
=
"../SSL/cacert.pem"
,
const
char
*
s
=
"Huhuhuhuuu"
;
*
ca_path
=
0
;
struct
st_VioSSLAcceptorFd
*
ssl_acceptor
;
pthread_t
th
;
TH_ARGS
th_args
;
struct
sockaddr_in
sa_serv
;
struct
sockaddr_in
sa_serv
;
struct
sockaddr_in
sa_cli
;
struct
sockaddr_in
sa_cli
;
int
listen_sd
;
int
listen_sd
;
size_t
client_len
;
int
err
;
int
err
;
size_t
client_len
;
int
reuseaddr
=
1
;
/* better testing, uh? */
Vio
*
client_vio
=
0
,
*
server_vio
=
0
;
MY_INIT
(
argv
[
0
]);
MY_INIT
(
argv
[
0
]);
DBUG_PROCESS
(
argv
[
0
]);
DBUG_PROCESS
(
argv
[
0
]);
DBUG_PUSH
(
default_dbug_option
);
DBUG_PUSH
(
default_dbug_option
);
server_key
=
"../SSL/server-key.pem"
;
server_cert
=
"../SSL/server-cert.pem"
;
ca_file
=
"../SSL/cacert.pem"
;
printf
(
"Server key/cert : %s/%s
\n
"
,
server_key
,
server_cert
);
printf
(
"Server key/cert : %s/%s
\n
"
,
server_key
,
server_cert
);
if
(
ca_file
!=
0
)
if
(
ca_file
!=
0
)
...
@@ -61,51 +89,48 @@ main( int argc,
...
@@ -61,51 +89,48 @@ main( int argc,
if
(
ca_path
!=
0
)
if
(
ca_path
!=
0
)
printf
(
"CApath : %s
\n
"
,
ca_path
);
printf
(
"CApath : %s
\n
"
,
ca_path
);
th_args
.
ssl_acceptor
=
ssl_acceptor
=
new_VioSSLAcceptorFd
(
server_key
,
server_cert
,
ca_file
,
ca_path
);
ssl_acceptor
=
new_VioSSLAcceptorFd
(
server_key
,
server_cert
,
ca_file
,
ca_path
);
/* ----------------------------------------------- */
/* Prepare TCP socket for receiving connections */
server_vio
=
(
struct
st_vio
*
)
my_malloc
(
sizeof
(
struct
st_vio
),
MYF
(
0
));
/* ----------------------------------------------- */
listen_sd
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
/* Prepare TCP socket for receiving connections */
setsockopt
(
listen_sd
,
SOL_SOCKET
,
SO_REUSEADDR
,
&
reuseaddr
,
sizeof
(
&
reuseaddr
));
listen_sd
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
memset
(
&
sa_serv
,
'\0'
,
sizeof
(
sa_serv
));
memset
(
&
sa_serv
,
'\0'
,
sizeof
(
sa_serv
));
sa_serv
.
sin_family
=
AF_INET
;
sa_serv
.
sin_family
=
AF_INET
;
sa_serv
.
sin_addr
.
s_addr
=
INADDR_ANY
;
sa_serv
.
sin_addr
.
s_addr
=
INADDR_ANY
;
sa_serv
.
sin_port
=
htons
(
1111
);
/* Server Port number */
sa_serv
.
sin_port
=
htons
(
1111
);
/* Server Port number */
err
=
bind
(
listen_sd
,
(
struct
sockaddr
*
)
&
sa_serv
,
err
=
bind
(
listen_sd
,
(
struct
sockaddr
*
)
&
sa_serv
,
sizeof
(
sa_serv
));
sizeof
(
sa_serv
));
/* Receive a TCP connection. */
/* Receive a TCP connection. */
err
=
listen
(
listen_sd
,
5
);
err
=
listen
(
listen_sd
,
5
);
client_len
=
sizeof
(
sa_cli
);
client_len
=
sizeof
(
sa_cli
);
th_args
.
sd
=
accept
(
listen_sd
,
(
struct
sockaddr
*
)
&
sa_cli
,
&
client_len
);
server_vio
->
sd
=
accept
(
listen_sd
,
(
struct
sockaddr
*
)
&
sa_cli
,
&
client_len
);
close
(
listen_sd
);
close
(
listen_sd
);
printf
(
"Connection from %lx, port %x
\n
"
,
printf
(
"Connection from %lx, port %x
\n
"
,
sa_cli
.
sin_addr
.
s_addr
,
sa_cli
.
sin_port
);
(
long
)
sa_cli
.
sin_addr
.
s_addr
,
sa_cli
.
sin_port
);
/* ----------------------------------------------- */
/* ----------------------------------------------- */
/* TCP connection is ready. Do server side SSL. */
/* TCP connection is ready. Do server side SSL. */
sslaccept
(
ssl_acceptor
,
server_vio
);
err
=
pthread_create
(
&
th
,
NULL
,
client_thread
,
(
void
*
)
&
th_args
);
DBUG_PRINT
(
"info"
,
(
"pthread_create: %d"
,
err
));
pthread_join
(
th
,
NULL
);
#if 0
if (err<=0) {
my_free((gptr)ssl_acceptor,MYF(0));
fatal_error("server:SSL_write");
}
#endif /* 0 */
{
err
=
server_vio
->
write
(
server_vio
,(
gptr
)
s
,
strlen
(
s
));
if
(
err
<=
0
)
{
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
fatal_error
(
"server:SSL_write"
);
return
0
;
}
}
my_free
((
gptr
)
server_vio
,
MYF
(
0
));
my_free
((
gptr
)
ssl_acceptor
,
MYF
(
0
));
}
}
#else
/* HAVE_OPENSSL */
#else
/* HAVE_OPENSSL */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment