I could resolve the problem. It was not caused by a not correctly implemented locking of the SSL object so that multiple threads would have been able to operate concurrently on it. The problem was that I forked another process from within one thread, that also used the SSL connection. When the parent finished waiting for the forked child and tried to reuse the SSL connection the client obviously reported a bad record MAC because the record sequence number already has been incremented by the child. The child now does not use the SSL connection anymore and everything works fine. This was actually a quite stupid error but not so easy to track down.
Martin ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org