From db06cab2812484b360f2873ade2dd8277ad08a42 Mon Sep 17 00:00:00 2001
From: jsing <>
Date: Wed, 2 Nov 2016 11:21:05 +0000
Subject: Expand LHASH_OF, IMPLEMENT_LHASH_DOALL_ARG_FN and LHASH_DOALL_ARG_FN
 macros. Only change in generated assembly is due to line numbering.

---
 src/lib/libssl/ssl_lib.c  |  4 ++--
 src/lib/libssl/ssl_sess.c | 16 +++++++++++-----
 2 files changed, 13 insertions(+), 7 deletions(-)

(limited to 'src')

diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index 86cac6eace..ebe78808c5 100644
--- a/src/lib/libssl/ssl_lib.c
+++ b/src/lib/libssl/ssl_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssl_lib.c,v 1.120 2016/11/02 10:45:02 jsing Exp $ */
+/* $OpenBSD: ssl_lib.c,v 1.121 2016/11/02 11:21:05 jsing Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -1106,7 +1106,7 @@ SSL_callback_ctrl(SSL *s, int cmd, void (*fp)(void))
 	}
 }
 
-LHASH_OF(SSL_SESSION) *
+struct lhash_st_SSL_SESSION *
 SSL_CTX_sessions(SSL_CTX *ctx)
 {
 	return (ctx->sessions);
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c
index cd00b68ca9..f6e2642aeb 100644
--- a/src/lib/libssl/ssl_sess.c
+++ b/src/lib/libssl/ssl_sess.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssl_sess.c,v 1.52 2016/11/02 09:54:47 jsing Exp $ */
+/* $OpenBSD: ssl_sess.c,v 1.53 2016/11/02 11:21:05 jsing Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -890,7 +890,7 @@ SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len)
 typedef struct timeout_param_st {
 	SSL_CTX *ctx;
 	long time;
-	LHASH_OF(SSL_SESSION) *cache;
+	struct lhash_st_SSL_SESSION *cache;
 } TIMEOUT_PARAM;
 
 static void
@@ -909,8 +909,14 @@ timeout_doall_arg(SSL_SESSION *s, TIMEOUT_PARAM *p)
 	}
 }
 
-static
-IMPLEMENT_LHASH_DOALL_ARG_FN(timeout, SSL_SESSION, TIMEOUT_PARAM)
+static void
+timeout_LHASH_DOALL_ARG(void *arg1, void *arg2)
+{
+	SSL_SESSION *a = arg1;
+	TIMEOUT_PARAM *b = arg2;
+
+	timeout_doall_arg(a, b);
+}
 
 /* XXX 2038 */
 void
@@ -927,7 +933,7 @@ SSL_CTX_flush_sessions(SSL_CTX *s, long t)
 	CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
 	i = CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load;
 	CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = 0;
-	lh_SSL_SESSION_doall_arg(tp.cache, LHASH_DOALL_ARG_FN(timeout),
+	lh_SSL_SESSION_doall_arg(tp.cache, timeout_LHASH_DOALL_ARG,
 	TIMEOUT_PARAM, &tp);
 	CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = i;
 	CRYPTO_w_unlock(CRYPTO_LOCK_SSL_CTX);
-- 
cgit v1.2.3-55-g6feb