diff options
author | unknown <msvensson@neptunus.(none)> | 2005-09-15 09:46:10 +0200 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2005-09-15 09:46:10 +0200 |
commit | 3cf33e7a4a07b72e2c098c91a4da5cbb7f2a69c5 (patch) | |
tree | 64d420767c381b246f9fa49ca8df2c23a475ade0 /extra/yassl/src | |
parent | b34d5bd24733e2e50d4d32c37fa9ebc722177bf2 (diff) | |
download | mariadb-git-3cf33e7a4a07b72e2c098c91a4da5cbb7f2a69c5.tar.gz |
Bug #13029 YaSSL not compatibile w/ JSSE (Java implementation of SSL)
-Applied patch from Todd
extra/yassl/src/ssl.cpp:
Call processReply until clientFinishedComplete or error
Diffstat (limited to 'extra/yassl/src')
-rw-r--r-- | extra/yassl/src/ssl.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/extra/yassl/src/ssl.cpp b/extra/yassl/src/ssl.cpp index d37c44049b2..8cea205377e 100644 --- a/extra/yassl/src/ssl.cpp +++ b/extra/yassl/src/ssl.cpp @@ -171,13 +171,25 @@ int SSL_accept(SSL* ssl) sendServerHelloDone(*ssl); ssl->flushBuffer(); - processReply(*ssl); + // Java Client sends fragmented response + while (ssl->getStates().getServer() < + clientFinishedComplete) { + if (ssl->GetError()) break; + processReply(*ssl); + } } sendChangeCipher(*ssl); sendFinished(*ssl, server_end); ssl->flushBuffer(); - if (ssl->getSecurity().get_resuming()) - processReply(*ssl); + if (ssl->getSecurity().get_resuming()) { + + // Java Client sends fragmented response + while (ssl->getStates().getServer() < + clientFinishedComplete) { + if (ssl->GetError()) break; + processReply(*ssl); + } + } ssl->useLog().ShowTCP(ssl->getSocket().get_fd()); |