--- modules/ssl/ssl_engine_init.c.orig
+++ modules/ssl/ssl_engine_init.c
@@ -406,9 +406,11 @@ void ssl_init_Engine(server_rec *s, apr_pool_t *p)
             ssl_die();
         }
 
+#ifdef ENGINE_CTRL_CHIL_SET_FORKCHECK
         if (strEQ(mc->szCryptoDevice, "chil")) {
             ENGINE_ctrl(e, ENGINE_CTRL_CHIL_SET_FORKCHECK, 1, 0, 0);
         }
+#endif
 
         if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
             ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
--- support/ab.c.orig
+++ support/ab.c
@@ -2232,8 +2232,10 @@
                 } else if (strncasecmp(optarg, "SSL2", 4) == 0) {
                     meth = SSLv2_client_method();
 #endif
+#ifndef OPENSSL_NO_SSL3
                 } else if (strncasecmp(optarg, "SSL3", 4) == 0) {
                     meth = SSLv3_client_method();
+#endif
 #ifdef HAVE_TLSV1_X
                 } else if (strncasecmp(optarg, "TLS1.1", 6) == 0) {
                     meth = TLSv1_1_client_method();
--- modules/ssl/ssl_engine_vars.c.orig
+++ modules/ssl/ssl_engine_vars.c
@@ -836,7 +836,7 @@
     SSL_SESSION *pSession = SSL_get_session(ssl);
 
     if (pSession) {
-        switch (pSession->compress_meth) {
+        switch (SSL_SESSION_get_compress_id(pSession)) {
         case 0:
             /* default "NULL" already set */
             break;
--- modules/ssl/ssl_engine_rand.c.orig
+++ modules/ssl/ssl_engine_rand.c
@@ -83,7 +83,7 @@
                 nDone += ssl_rand_feedfp(p, fp, pRandSeed->nBytes);
                 ssl_util_ppclose(s, p, fp);
             }
-#ifdef HAVE_SSL_RAND_EGD
+#ifdef HAVE_RAND_EGD
             else if (pRandSeed->nSrc == SSL_RSSRC_EGD) {
                 /*
                  * seed in contents provided by the external
