From 3228d4664f5cbc8a4b11e8d1cf7aa6636946f529 Mon Sep 17 00:00:00 2001 From: tb <> Date: Sat, 2 Mar 2024 11:11:11 +0000 Subject: Make LHASH_OF() and STACK_OF() use opaque structs This removes internals of these two special snowflakes and will allow further simplifications. Unfortunately, there are some pieces of software that actually use LHASH_OF() (looking at you, pound, Ruby, and openssl(1)), so we get to keep exposing this garbage, at least for now. Expose lh_error() as a symbol to replace a macro reaching into _LHASH. lh_down_load() is no longer available. _LHASH and _STACK are now opaque, LHASH_NODE becomes internal-only. from jsing --- src/lib/libcrypto/stack/stack.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'src/lib/libcrypto/stack/stack.h') diff --git a/src/lib/libcrypto/stack/stack.h b/src/lib/libcrypto/stack/stack.h index 6bea6348f2..8b490c7225 100644 --- a/src/lib/libcrypto/stack/stack.h +++ b/src/lib/libcrypto/stack/stack.h @@ -1,4 +1,4 @@ -/* $OpenBSD: stack.h,v 1.9 2014/06/12 15:49:30 deraadt Exp $ */ +/* $OpenBSD: stack.h,v 1.10 2024/03/02 11:11:11 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -63,14 +63,7 @@ extern "C" { #endif -typedef struct stack_st { - int num; - char **data; - int sorted; - - int num_alloc; - int (*comp)(const void *, const void *); -} _STACK; /* Use STACK_OF(...) instead */ +typedef struct stack_st _STACK; #define M_sk_num(sk) ((sk) ? (sk)->num:-1) #define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) -- cgit v1.2.3-55-g6feb