Interesting stuff. I patched trunk and ran the test suite (using OpenSSL
0.9.8o).
All tests pass for MPMs prefork, worker,event on Solaris 10 (but maybe
you knew that already).
I didn't really check the intended functionality though.
Compilation showed two trivial warnings:
ssl_engine_io.c: In function `flush_coalesced_data':
ssl_engine_io.c:1348: warning: long unsigned int format, apr_size_t arg
(arg 8)
ssl_engine_io.c: In function `ssl_io_filter_coalesce':
ssl_engine_io.c:1422: warning: long unsigned int format, apr_size_t arg
(arg 8)
Both are about trace logging, using %lu for ctx->bytes resp. len. Using
APR_SIZE_T_FMT instead of "lu" fixes those.
There are some strange lines in the switch which is part of
bio_filter_out_ctrl() (the part starting with "PENDING"; note the
"break" in the previous line):
227 case BIO_CTRL_GET_CLOSE:
228 ret = (long)bio->shutdown;
229 break;
230 case BIO_CTRL_SET_CLOSE:
231 bio->shutdown = (int)num;
232 break;
233 /* _PENDING is interpreted as "pending to read" - since this
234 * is a *write* buffer, return zero. */
235 ret = 0L;
236 break;
...
Finally: I wasn't able to find eeeko, only eeko [1] and eeek [2]. Though
there is eeeko! [3].
Have a nice weekend
Rainer
[1] http://www.urbandictionary.com/define.php?term=eeko
[2] http://www.urbandictionary.com/define.php?term=eeek
[3] http://eeeko.com/