PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) ssl: clear the error queue before SSL_read/write/accept(). PR60223
- trunk patch: http://svn.apache.org/r1769332
- 2.4.x patch: https://home.apache.org/~jchampion/patches/2.4.x-ssl-error-queue.patch
- +1: jchampion, rpluem, wrowe
-
*) CMake: fix various issues for Windows/Visual Studio build environments.
PR59685.
trunk patch: http://svn.apache.org/r1752331
break;
}
+ /* We rely on SSL_get_error() after the read, which requires an empty
+ * error queue before the read in order to work properly.
+ */
+ ERR_clear_error();
+
/* SSL_read may not read because we haven't taken enough data
* from the stack. This is where we want to consider all of
* the blocking and SPECULATIVE semantics
return APR_EGENERAL;
}
+ /* We rely on SSL_get_error() after the write, which requires an empty error
+ * queue before the write in order to work properly.
+ */
+ ERR_clear_error();
+
outctx = (bio_filter_out_ctx_t *)filter_ctx->pbioWrite->ptr;
res = SSL_write(filter_ctx->pssl, (unsigned char *)data, len);
return APR_SUCCESS;
}
+ /* We rely on SSL_get_error() after the accept, which requires an empty
+ * error queue before the accept in order to work properly.
+ */
+ ERR_clear_error();
+
if ((n = SSL_accept(filter_ctx->pssl)) <= 0) {
bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)
(filter_ctx->pbioRead->ptr);