]> git.pld-linux.org Git - packages/mysql.git/blame - mysql-ssl.patch
- fix SSL server side, too
[packages/mysql.git] / mysql-ssl.patch
CommitLineData
94d67168 1diff -urN mysql-5.0.51.org/vio/viossl.c mysql-5.0.51/vio/viossl.c
10474203 2--- mysql-5.0.51.org/vio/viossl.c 2007-11-15 15:07:13.000000000 +0100
94d67168
AM
3+++ mysql-5.0.51/vio/viossl.c 2007-12-20 22:56:38.660942731 +0100
4@@ -172,20 +172,14 @@
5 vio_delete(vio);
6 }
7
8-int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
9-{
10- DBUG_ENTER("sslaccept");
11- DBUG_RETURN(sslconnect(ptr, vio, timeout));
12-}
13-
14-
15-int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
16+static
17+int sslprocess(struct st_VioSSLFd *ptr, Vio *vio, long timeout, my_bool accept)
18 {
19 SSL *ssl;
20 my_bool unused;
21 my_bool was_blocking;
22
23- DBUG_ENTER("sslconnect");
24+ DBUG_ENTER("sslprocess");
25 DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d ctx: 0x%lx",
26 (long) ptr, vio->sd, (long) ptr->ssl_context));
27
28@@ -201,6 +195,12 @@
10474203 29 }
10474203
AM
30 DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout));
31 SSL_clear(ssl);
94d67168
AM
32+
33+ if (accept)
34+ SSL_set_accept_state(ssl);
35+ else
36+ SSL_set_connect_state(ssl);
37+
10474203 38 SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
94d67168
AM
39 SSL_set_fd(ssl, vio->sd);
40
41@@ -258,6 +258,17 @@
42 DBUG_RETURN(0);
43 }
44
45+int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
46+{
47+ DBUG_ENTER("sslaccept");
48+ DBUG_RETURN(sslprocess(ptr, vio, timeout, TRUE));
49+}
50+
51+int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
52+{
53+ DBUG_ENTER("sslconnect");
54+ DBUG_RETURN(sslprocess(ptr, vio, timeout, FALSE));
55+}
56
57 int vio_ssl_blocking(Vio *vio __attribute__((unused)),
58 my_bool set_blocking_mode,
This page took 0.030932 seconds and 4 git commands to generate.