[packages/percona-server/v5.0.x: 51/202] - official fix
glen
glen at pld-linux.org
Wed Oct 21 16:13:19 CEST 2015
commit 46da15402f1b556b161c92fb95ac31efe9333589
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Thu Feb 7 07:57:59 2008 +0000
- official fix
Changed files:
mysql-ssl.patch -> 1.1.2.3
mysql-ssl.patch | 76 ++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 53 insertions(+), 23 deletions(-)
---
diff --git a/mysql-ssl.patch b/mysql-ssl.patch
index b57b9d3..4404b93 100644
--- a/mysql-ssl.patch
+++ b/mysql-ssl.patch
@@ -1,7 +1,23 @@
-diff -urN mysql-5.0.51.org/vio/viossl.c mysql-5.0.51/vio/viossl.c
---- mysql-5.0.51.org/vio/viossl.c 2007-11-15 15:07:13.000000000 +0100
-+++ mysql-5.0.51/vio/viossl.c 2007-12-20 22:56:38.660942731 +0100
-@@ -172,20 +172,14 @@
+From: msvenssonDate: February 7 2008 8:48am
+Subject: bk commit into 5.0 tree (msvensson:1.2573) BUG#33050
+
+Below is the list of changes that have just been committed into a local
+5.0 repository of msvensson. When msvensson does a push these changes
+will be propagated to the main repository and, within 24 hours after the
+push, to the public repository.
+For information on how to access the public repository
+see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
+
+ChangeSet at stripped, 2008-02-07 08:48:28+01:00, msvensson at stripped +1 -0
+ Bug#33050 5.0.50 fails many SSL testcases
+
+ vio/viossl.c at stripped, 2008-02-07 08:48:27+01:00, msvensson at stripped +21 -14
+ Bug#33050 5.0.50 fails many SSL testcases
+
+diff -Nrup a/vio/viossl.c b/vio/viossl.c
+--- a/vio/viossl.c 2007-08-28 11:34:42 +02:00
++++ b/vio/viossl.c 2008-02-07 08:48:27 +01:00
+@@ -172,20 +172,15 @@ void vio_ssl_delete(Vio *vio)
vio_delete(vio);
}
@@ -11,48 +27,62 @@ diff -urN mysql-5.0.51.org/vio/viossl.c mysql-5.0.51/vio/viossl.c
- DBUG_RETURN(sslconnect(ptr, vio, timeout));
-}
-
--
+
-int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
-+static
-+int sslprocess(struct st_VioSSLFd *ptr, Vio *vio, long timeout, my_bool accept)
++static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
++ int (*connect_accept_func)(SSL*))
{
SSL *ssl;
my_bool unused;
my_bool was_blocking;
- DBUG_ENTER("sslconnect");
-+ DBUG_ENTER("sslprocess");
++ DBUG_ENTER("ssl_do");
DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d ctx: 0x%lx",
(long) ptr, vio->sd, (long) ptr->ssl_context));
-@@ -201,6 +195,12 @@
- }
- DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout));
- SSL_clear(ssl);
-+
-+ if (accept)
-+ SSL_set_accept_state(ssl);
-+ else
-+ SSL_set_connect_state(ssl);
-+
+@@ -204,13 +199,9 @@ int sslconnect(struct st_VioSSLFd *ptr,
SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
SSL_set_fd(ssl, vio->sd);
-@@ -258,6 +258,17 @@
- DBUG_RETURN(0);
+- /*
+- SSL_do_handshake will select between SSL_connect
+- or SSL_accept depending on server or client side
+- */
+- if (SSL_do_handshake(ssl) < 1)
++ if (connect_accept_func(ssl) < 1)
+ {
+- DBUG_PRINT("error", ("SSL_do_handshake failure"));
++ DBUG_PRINT("error", ("SSL_connect/accept failure"));
+ report_errors(ssl);
+ SSL_free(ssl);
+ vio_blocking(vio, was_blocking, &unused);
+@@ -259,6 +250,20 @@ int sslconnect(struct st_VioSSLFd *ptr,
}
+
+int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
+{
+ DBUG_ENTER("sslaccept");
-+ DBUG_RETURN(sslprocess(ptr, vio, timeout, TRUE));
++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_accept));
+}
+
++
+int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
+{
+ DBUG_ENTER("sslconnect");
-+ DBUG_RETURN(sslprocess(ptr, vio, timeout, FALSE));
++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_connect));
+}
-
++
++
int vio_ssl_blocking(Vio *vio __attribute__((unused)),
my_bool set_blocking_mode,
+ my_bool *old_mode)
+@@ -268,5 +273,7 @@ int vio_ssl_blocking(Vio *vio __attribut
+ /* Return error if we try to change to non_blocking mode */
+ return (set_blocking_mode ? 0 : 1);
+ }
++
++
+
+ #endif /* HAVE_OPENSSL */
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/percona-server.git/commitdiff/431f68fe79a66d5dfdd53f2655709e6c925fbc22
More information about the pld-cvs-commit
mailing list