--- a/Plugins/Purple Service/libpurple_extensions/ssl-cdsa.c Mon May 26 13:04:27 2014 +0200
+++ b/Plugins/Purple Service/libpurple_extensions/ssl-cdsa.c Mon May 26 13:10:47 2014 +0200
@@ -231,7 +231,14 @@
rrtn = read(sock, currData, bytesToGo);
- rtn = errSSLClosedGraceful;
+ /* We got an EOF. However, when we have already read some bytes in a previous iteration of this loop, + * then we should return noErr to make sure CDSA processes all that data. + * When initLen is still equal to bytesToGo, we haven't read anything, so we can inform CDSA that we're + if (initLen == bytesToGo) { + rtn = errSSLClosedGraceful; /* this is guesswork... */