summaryrefslogtreecommitdiff
path: root/extra/yassl/src
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-09-15 09:46:10 +0200
committerunknown <msvensson@neptunus.(none)>2005-09-15 09:46:10 +0200
commit3cf33e7a4a07b72e2c098c91a4da5cbb7f2a69c5 (patch)
tree64d420767c381b246f9fa49ca8df2c23a475ade0 /extra/yassl/src
parentb34d5bd24733e2e50d4d32c37fa9ebc722177bf2 (diff)
downloadmariadb-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.cpp18
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());