diff options
author | msvensson@pilot.(none) <> | 2007-08-28 10:35:55 +0200 |
---|---|---|
committer | msvensson@pilot.(none) <> | 2007-08-28 10:35:55 +0200 |
commit | 394d9a0e55d25e521b79099dc9679b6a515902f4 (patch) | |
tree | f8151b2611894cea059b705eb30ec897e2bded2e /extra/yassl/src | |
parent | f9c245611ecedcaa320442ccb306400653f15e9d (diff) | |
download | mariadb-git-394d9a0e55d25e521b79099dc9679b6a515902f4.tar.gz |
Import yaSSL version 1.7.2
- Fix bug#27265
- Support for fixing bug#18441
Diffstat (limited to 'extra/yassl/src')
-rw-r--r-- | extra/yassl/src/handshake.cpp | 4 | ||||
-rw-r--r-- | extra/yassl/src/socket_wrapper.cpp | 4 | ||||
-rw-r--r-- | extra/yassl/src/ssl.cpp | 6 | ||||
-rw-r--r-- | extra/yassl/src/yassl_int.cpp | 1 |
4 files changed, 11 insertions, 4 deletions
diff --git a/extra/yassl/src/handshake.cpp b/extra/yassl/src/handshake.cpp index 0cd0dfe9c7c..1d5a95820bb 100644 --- a/extra/yassl/src/handshake.cpp +++ b/extra/yassl/src/handshake.cpp @@ -719,6 +719,10 @@ int DoProcessReply(SSL& ssl) // add new data uint read = ssl.useSocket().receive(buffer.get_buffer() + buffSz, ready); + if (read == static_cast<uint>(-1)) { + ssl.SetError(receive_error); + return 0; + } buffer.add_size(read); uint offset = 0; const MessageFactory& mf = ssl.getFactory().getMessage(); diff --git a/extra/yassl/src/socket_wrapper.cpp b/extra/yassl/src/socket_wrapper.cpp index d53a109d70e..eee5d47377f 100644 --- a/extra/yassl/src/socket_wrapper.cpp +++ b/extra/yassl/src/socket_wrapper.cpp @@ -114,8 +114,6 @@ uint Socket::send(const byte* buf, unsigned int sz, int flags) const const byte* pos = buf; const byte* end = pos + sz; - assert(socket_ != INVALID_SOCKET); - while (pos != end) { int sent = ::send(socket_, reinterpret_cast<const char *>(pos), static_cast<int>(end - pos), flags); @@ -132,7 +130,6 @@ uint Socket::send(const byte* buf, unsigned int sz, int flags) const uint Socket::receive(byte* buf, unsigned int sz, int flags) { - assert(socket_ != INVALID_SOCKET); wouldBlock_ = false; int recvd = ::recv(socket_, reinterpret_cast<char *>(buf), sz, flags); @@ -163,7 +160,6 @@ bool Socket::wait() void Socket::shutDown(int how) { - assert(socket_ != INVALID_SOCKET); shutdown(socket_, how); } diff --git a/extra/yassl/src/ssl.cpp b/extra/yassl/src/ssl.cpp index c3d580a93ab..f09a43be56e 100644 --- a/extra/yassl/src/ssl.cpp +++ b/extra/yassl/src/ssl.cpp @@ -239,6 +239,12 @@ int SSL_set_fd(SSL* ssl, YASSL_SOCKET_T fd) } +YASSL_SOCKET_T SSL_get_fd(const SSL* ssl) +{ + return ssl->getSocket().get_fd(); +} + + int SSL_connect(SSL* ssl) { if (ssl->GetError() == YasslError(SSL_ERROR_WANT_READ)) diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp index f5ab2f200a5..0b6cb89e77e 100644 --- a/extra/yassl/src/yassl_int.cpp +++ b/extra/yassl/src/yassl_int.cpp @@ -773,6 +773,7 @@ void SSL::SetError(YasslError ye) // TODO: add string here } + // set the quiet shutdown mode (close_nofiy not sent or received on shutdown) void SSL::SetQuietShutdown(bool mode) { |