From a4b4d461dffde3f737495df66f54ea5eeb72eb0c Mon Sep 17 00:00:00 2001 From: tb Date: Sat, 2 Mar 2024 11:04:51 +0000 Subject: [PATCH] Remove lh stats This could have been removed in an earlier bump. Now it's time for it to say goodbye. ok jsing --- lib/libcrypto/Makefile | 3 +- lib/libcrypto/Symbols.list | 6 - lib/libcrypto/Symbols.namespace | 6 - lib/libcrypto/hidden/openssl/lhash.h | 8 +- lib/libcrypto/lhash/lh_stats.c | 263 --------------------------- lib/libcrypto/lhash/lhash.h | 18 +- lib/libcrypto/man/Makefile | 3 +- lib/libcrypto/man/lh_new.3 | 5 +- lib/libcrypto/man/lh_stats.3 | 206 --------------------- lib/libcrypto/stack/safestack.h | 56 +----- lib/libcrypto/util/mkstack.pl | 6 - 11 files changed, 7 insertions(+), 573 deletions(-) delete mode 100644 lib/libcrypto/lhash/lh_stats.c delete mode 100644 lib/libcrypto/man/lh_stats.3 diff --git a/lib/libcrypto/Makefile b/lib/libcrypto/Makefile index 457ff381c45..cc56c535911 100644 --- a/lib/libcrypto/Makefile +++ b/lib/libcrypto/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.170 2024/03/02 10:13:12 tb Exp $ +# $OpenBSD: Makefile,v 1.171 2024/03/02 11:04:51 tb Exp $ LIB= crypto LIBREBUILD=y @@ -428,7 +428,6 @@ SRCS+= hkdf_evp.c SRCS+= kdf_err.c # lhash/ -SRCS+= lh_stats.c SRCS+= lhash.c # md4/ diff --git a/lib/libcrypto/Symbols.list b/lib/libcrypto/Symbols.list index 608291d9541..644797f655e 100644 --- a/lib/libcrypto/Symbols.list +++ b/lib/libcrypto/Symbols.list @@ -3437,14 +3437,8 @@ lh_doall_arg lh_free lh_insert lh_new -lh_node_stats -lh_node_stats_bio -lh_node_usage_stats -lh_node_usage_stats_bio lh_num_items lh_retrieve -lh_stats -lh_stats_bio lh_strhash o2i_ECPublicKey o2i_SCT diff --git a/lib/libcrypto/Symbols.namespace b/lib/libcrypto/Symbols.namespace index aa81bc13f2d..9bf6384dd93 100644 --- a/lib/libcrypto/Symbols.namespace +++ b/lib/libcrypto/Symbols.namespace @@ -1653,12 +1653,6 @@ _libre_lh_doall _libre_lh_doall_arg _libre_lh_strhash _libre_lh_num_items -_libre_lh_stats -_libre_lh_node_stats -_libre_lh_node_usage_stats -_libre_lh_stats_bio -_libre_lh_node_stats_bio -_libre_lh_node_usage_stats_bio _libre_SM3_Init _libre_SM3_Update _libre_SM3_Final diff --git a/lib/libcrypto/hidden/openssl/lhash.h b/lib/libcrypto/hidden/openssl/lhash.h index 151f154a47b..eee272cf462 100644 --- a/lib/libcrypto/hidden/openssl/lhash.h +++ b/lib/libcrypto/hidden/openssl/lhash.h @@ -1,4 +1,4 @@ -/* $OpenBSD: lhash.h,v 1.2 2023/07/07 19:37:54 beck Exp $ */ +/* $OpenBSD: lhash.h,v 1.3 2024/03/02 11:04:51 tb Exp $ */ /* * Copyright (c) 2023 Bob Beck * @@ -34,11 +34,5 @@ LCRYPTO_USED(lh_doall); LCRYPTO_USED(lh_doall_arg); LCRYPTO_USED(lh_strhash); LCRYPTO_USED(lh_num_items); -LCRYPTO_USED(lh_stats); -LCRYPTO_USED(lh_node_stats); -LCRYPTO_USED(lh_node_usage_stats); -LCRYPTO_USED(lh_stats_bio); -LCRYPTO_USED(lh_node_stats_bio); -LCRYPTO_USED(lh_node_usage_stats_bio); #endif /* _LIBCRYPTO_LHASH_H */ diff --git a/lib/libcrypto/lhash/lh_stats.c b/lib/libcrypto/lhash/lh_stats.c deleted file mode 100644 index 123792a2ab8..00000000000 --- a/lib/libcrypto/lhash/lh_stats.c +++ /dev/null @@ -1,263 +0,0 @@ -/* $OpenBSD: lh_stats.c,v 1.13 2023/07/07 13:40:44 beck Exp $ */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include -#include -#include - -#include - -#ifndef OPENSSL_NO_BIO -#include -#endif -#include - -#ifdef OPENSSL_NO_BIO - -void -lh_stats(LHASH *lh, FILE *out) -{ - fprintf(out, "num_items = %lu\n", lh->num_items); - fprintf(out, "num_nodes = %u\n", lh->num_nodes); - fprintf(out, "num_alloc_nodes = %u\n", lh->num_alloc_nodes); - fprintf(out, "num_expands = %lu\n", lh->num_expands); - fprintf(out, "num_expand_reallocs = %lu\n", lh->num_expand_reallocs); - fprintf(out, "num_contracts = %lu\n", lh->num_contracts); - fprintf(out, "num_contract_reallocs = %lu\n", - lh->num_contract_reallocs); - fprintf(out, "num_hash_calls = %lu\n", lh->num_hash_calls); - fprintf(out, "num_comp_calls = %lu\n", lh->num_comp_calls); - fprintf(out, "num_insert = %lu\n", lh->num_insert); - fprintf(out, "num_replace = %lu\n", lh->num_replace); - fprintf(out, "num_delete = %lu\n", lh->num_delete); - fprintf(out, "num_no_delete = %lu\n", lh->num_no_delete); - fprintf(out, "num_retrieve = %lu\n", lh->num_retrieve); - fprintf(out, "num_retrieve_miss = %lu\n", lh->num_retrieve_miss); - fprintf(out, "num_hash_comps = %lu\n", lh->num_hash_comps); -#if 0 - fprintf(out, "p = %u\n", lh->p); - fprintf(out, "pmax = %u\n", lh->pmax); - fprintf(out, "up_load = %lu\n", lh->up_load); - fprintf(out, "down_load = %lu\n", lh->down_load); -#endif -} -LCRYPTO_ALIAS(lh_stats); - -void -lh_node_stats(LHASH *lh, FILE *out) -{ - LHASH_NODE *n; - unsigned int i, num; - - for (i = 0; i < lh->num_nodes; i++) { - for (n = lh->b[i], num = 0; n != NULL; n = n->next) - num++; - fprintf(out, "node %6u -> %3u\n", i, num); - } -} -LCRYPTO_ALIAS(lh_node_stats); - -void -lh_node_usage_stats(LHASH *lh, FILE *out) -{ - LHASH_NODE *n; - unsigned long num; - unsigned int i; - unsigned long total = 0, n_used = 0; - - for (i = 0; i < lh->num_nodes; i++) { - for (n = lh->b[i], num = 0; n != NULL; n = n->next) - num++; - if (num != 0) { - n_used++; - total += num; - } - } - fprintf(out, "%lu nodes used out of %u\n", n_used, lh->num_nodes); - fprintf(out, "%lu items\n", total); - if (n_used == 0) - return; - fprintf(out, "load %d.%02d actual load %d.%02d\n", - (int)(total / lh->num_nodes), - (int)((total % lh->num_nodes) * 100 / lh->num_nodes), - (int)(total / n_used), - (int)((total % n_used) * 100 / n_used)); -} -LCRYPTO_ALIAS(lh_node_usage_stats); - -#else - -void -lh_stats(const _LHASH *lh, FILE *fp) -{ - BIO *bp; - - bp = BIO_new(BIO_s_file()); - if (bp == NULL) - goto end; - BIO_set_fp(bp, fp, BIO_NOCLOSE); - lh_stats_bio(lh, bp); - BIO_free(bp); -end:; -} -LCRYPTO_ALIAS(lh_stats); - -void -lh_node_stats(const _LHASH *lh, FILE *fp) -{ - BIO *bp; - - bp = BIO_new(BIO_s_file()); - if (bp == NULL) - goto end; - BIO_set_fp(bp, fp, BIO_NOCLOSE); - lh_node_stats_bio(lh, bp); - BIO_free(bp); -end:; -} -LCRYPTO_ALIAS(lh_node_stats); - -void -lh_node_usage_stats(const _LHASH *lh, FILE *fp) -{ - BIO *bp; - - bp = BIO_new(BIO_s_file()); - if (bp == NULL) - goto end; - BIO_set_fp(bp, fp, BIO_NOCLOSE); - lh_node_usage_stats_bio(lh, bp); - BIO_free(bp); -end:; -} -LCRYPTO_ALIAS(lh_node_usage_stats); - - -void -lh_stats_bio(const _LHASH *lh, BIO *out) -{ - BIO_printf(out, "num_items = %lu\n", lh->num_items); - BIO_printf(out, "num_nodes = %u\n", lh->num_nodes); - BIO_printf(out, "num_alloc_nodes = %u\n", lh->num_alloc_nodes); - BIO_printf(out, "num_expands = %lu\n", lh->num_expands); - BIO_printf(out, "num_expand_reallocs = %lu\n", - lh->num_expand_reallocs); - BIO_printf(out, "num_contracts = %lu\n", lh->num_contracts); - BIO_printf(out, "num_contract_reallocs = %lu\n", - lh->num_contract_reallocs); - BIO_printf(out, "num_hash_calls = %lu\n", lh->num_hash_calls); - BIO_printf(out, "num_comp_calls = %lu\n", lh->num_comp_calls); - BIO_printf(out, "num_insert = %lu\n", lh->num_insert); - BIO_printf(out, "num_replace = %lu\n", lh->num_replace); - BIO_printf(out, "num_delete = %lu\n", lh->num_delete); - BIO_printf(out, "num_no_delete = %lu\n", lh->num_no_delete); - BIO_printf(out, "num_retrieve = %lu\n", lh->num_retrieve); - BIO_printf(out, "num_retrieve_miss = %lu\n", lh->num_retrieve_miss); - BIO_printf(out, "num_hash_comps = %lu\n", lh->num_hash_comps); -#if 0 - BIO_printf(out, "p = %u\n", lh->p); - BIO_printf(out, "pmax = %u\n", lh->pmax); - BIO_printf(out, "up_load = %lu\n", lh->up_load); - BIO_printf(out, "down_load = %lu\n", lh->down_load); -#endif -} -LCRYPTO_ALIAS(lh_stats_bio); - -void -lh_node_stats_bio(const _LHASH *lh, BIO *out) -{ - LHASH_NODE *n; - unsigned int i, num; - - for (i = 0; i < lh->num_nodes; i++) { - for (n = lh->b[i], num = 0; n != NULL; n = n->next) - num++; - BIO_printf(out, "node %6u -> %3u\n", i, num); - } -} -LCRYPTO_ALIAS(lh_node_stats_bio); - -void -lh_node_usage_stats_bio(const _LHASH *lh, BIO *out) -{ - LHASH_NODE *n; - unsigned long num; - unsigned int i; - unsigned long total = 0, n_used = 0; - - for (i = 0; i < lh->num_nodes; i++) { - for (n = lh->b[i], num = 0; n != NULL; n = n->next) - num++; - if (num != 0) { - n_used++; - total += num; - } - } - BIO_printf(out, "%lu nodes used out of %u\n", n_used, lh->num_nodes); - BIO_printf(out, "%lu items\n", total); - if (n_used == 0) - return; - BIO_printf(out, "load %d.%02d actual load %d.%02d\n", - (int)(total / lh->num_nodes), - (int)((total % lh->num_nodes) * 100 / lh->num_nodes), - (int)(total / n_used), - (int)((total % n_used) * 100 / n_used)); -} -LCRYPTO_ALIAS(lh_node_usage_stats_bio); - -#endif diff --git a/lib/libcrypto/lhash/lhash.h b/lib/libcrypto/lhash/lhash.h index 9c63657396b..8db0174a616 100644 --- a/lib/libcrypto/lhash/lhash.h +++ b/lib/libcrypto/lhash/lhash.h @@ -1,4 +1,4 @@ -/* $OpenBSD: lhash.h,v 1.12 2014/06/12 15:49:29 deraadt Exp $ */ +/* $OpenBSD: lhash.h,v 1.13 2024/03/02 11:04:51 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -179,16 +179,6 @@ void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); unsigned long lh_strhash(const char *c); unsigned long lh_num_items(const _LHASH *lh); -void lh_stats(const _LHASH *lh, FILE *out); -void lh_node_stats(const _LHASH *lh, FILE *out); -void lh_node_usage_stats(const _LHASH *lh, FILE *out); - -#ifndef OPENSSL_NO_BIO -void lh_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); -#endif - /* Type checking... */ #define LHASH_OF(type) struct lhash_st_##type @@ -217,12 +207,6 @@ void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) #define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) #define LHM_lh_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) -#define LHM_lh_node_stats_bio(type, lh, out) \ - lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) -#define LHM_lh_node_usage_stats_bio(type, lh, out) \ - lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) -#define LHM_lh_stats_bio(type, lh, out) \ - lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) #define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) DECLARE_LHASH_OF(OPENSSL_STRING); diff --git a/lib/libcrypto/man/Makefile b/lib/libcrypto/man/Makefile index 1123f1729ca..8cb8371076f 100644 --- a/lib/libcrypto/man/Makefile +++ b/lib/libcrypto/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.281 2024/01/22 13:44:59 job Exp $ +# $OpenBSD: Makefile,v 1.282 2024/03/02 11:04:51 tb Exp $ .include @@ -432,7 +432,6 @@ MAN= \ i2d_CMS_bio_stream.3 \ i2d_PKCS7_bio_stream.3 \ lh_new.3 \ - lh_stats.3 \ openssl.cnf.5 \ s2i_ASN1_INTEGER.3 \ x509v3.cnf.5 diff --git a/lib/libcrypto/man/lh_new.3 b/lib/libcrypto/man/lh_new.3 index d672b4d2d85..eea5c288a25 100644 --- a/lib/libcrypto/man/lh_new.3 +++ b/lib/libcrypto/man/lh_new.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: lh_new.3,v 1.10 2024/01/24 14:02:52 jsing Exp $ +.\" $OpenBSD: lh_new.3,v 1.11 2024/03/02 11:04:51 tb Exp $ .\" full merge up to: .\" OpenSSL doc/crypto/lhash.pod 1bc74519 May 20 08:11:46 2016 -0400 .\" selective merge up to: @@ -118,7 +118,7 @@ .\" copied and put under another distribution licence .\" [including the GNU Public Licence.] .\" -.Dd $Mdocdate: January 24 2024 $ +.Dd $Mdocdate: March 2 2024 $ .Dt LH_NEW 3 .Os .Sh NAME @@ -520,7 +520,6 @@ rather it would be used in the function passed to .Fn lh__new . .Sh SEE ALSO .Xr crypto 3 , -.Xr lh_stats 3 .Sh HISTORY .Fn lh_new , .Fn lh_free , diff --git a/lib/libcrypto/man/lh_stats.3 b/lib/libcrypto/man/lh_stats.3 deleted file mode 100644 index 5041721fe1b..00000000000 --- a/lib/libcrypto/man/lh_stats.3 +++ /dev/null @@ -1,206 +0,0 @@ -.\" $OpenBSD: lh_stats.3,v 1.7 2020/03/29 17:05:02 schwarze Exp $ -.\" OpenSSL e2f92610 May 18 11:44:05 2016 -0400 -.\" -.\" -------------------------------------------------------------------------- -.\" Major patches to this file were contributed by -.\" Ulf Moeller . -.\" -------------------------------------------------------------------------- -.\" Copyright (c) 2000 The OpenSSL Project. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" -.\" 3. All advertising materials mentioning features or use of this -.\" software must display the following acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" -.\" -.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to -.\" endorse or promote products derived from this software without -.\" prior written permission. For written permission, please contact -.\" openssl-core@openssl.org. -.\" -.\" 5. Products derived from this software may not be called "OpenSSL" -.\" nor may "OpenSSL" appear in their names without prior written -.\" permission of the OpenSSL Project. -.\" -.\" 6. Redistributions of any form whatsoever must retain the following -.\" acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -.\" OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" -------------------------------------------------------------------------- -.\" Parts of this file are derived from SSLeay documentation, -.\" which is covered by the following Copyright and license: -.\" -------------------------------------------------------------------------- -.\" -.\" Copyright (C) 1995-1998 Tim Hudson (tjh@cryptsoft.com) -.\" All rights reserved. -.\" -.\" This package is an SSL implementation written -.\" by Eric Young (eay@cryptsoft.com). -.\" The implementation was written so as to conform with Netscapes SSL. -.\" -.\" This library is free for commercial and non-commercial use as long as -.\" the following conditions are aheared to. The following conditions -.\" apply to all code found in this distribution, be it the RC4, RSA, -.\" lhash, DES, etc., code; not just the SSL code. The SSL documentation -.\" included with this distribution is covered by the same copyright terms -.\" except that the holder is Tim Hudson (tjh@cryptsoft.com). -.\" -.\" Copyright remains Eric Young's, and as such any Copyright notices in -.\" the code are not to be removed. -.\" If this package is used in a product, Eric Young should be given -.\" attribution as the author of the parts of the library used. -.\" This can be in the form of a textual message at program startup or -.\" in documentation (online or textual) provided with the package. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" "This product includes cryptographic software written by -.\" Eric Young (eay@cryptsoft.com)" -.\" The word 'cryptographic' can be left out if the rouines from the -.\" library being used are not cryptographic related :-). -.\" 4. If you include any Windows specific code (or a derivative thereof) -.\" from the apps directory (application code) you must include an -.\" acknowledgement: "This product includes software written by -.\" Tim Hudson (tjh@cryptsoft.com)" -.\" -.\" THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" The licence and distribution terms for any publically available version or -.\" derivative of this code cannot be changed. i.e. this code cannot simply be -.\" copied and put under another distribution licence -.\" [including the GNU Public Licence.] -.\" -.Dd $Mdocdate: March 29 2020 $ -.Dt LH_STATS 3 -.Os -.Sh NAME -.Nm lh_stats , -.Nm lh_node_stats , -.Nm lh_node_usage_stats , -.Nm lh_stats_bio , -.Nm lh_node_stats_bio , -.Nm lh_node_usage_stats_bio -.Nd LHASH statistics -.Sh SYNOPSIS -.In openssl/lhash.h -.Ft void -.Fo lh_stats -.Fa "LHASH *table" -.Fa "FILE *out" -.Fc -.Ft void -.Fo lh_node_stats -.Fa "LHASH *table" -.Fa "FILE *out" -.Fc -.Ft void -.Fo lh_node_usage_stats -.Fa "LHASH *table" -.Fa "FILE *out" -.Fc -.Ft void -.Fo lh_stats_bio -.Fa "LHASH *table" -.Fa "BIO *out" -.Fc -.Ft void -.Fo lh_node_stats_bio -.Fa "LHASH *table" -.Fa "BIO *out" -.Fc -.Ft void -.Fo lh_node_usage_stats_bio -.Fa "LHASH *table" -.Fa "BIO *out" -.Fc -.Sh DESCRIPTION -The -.Vt LHASH -structure records statistics about most aspects of accessing the hash -table. -.Pp -.Fn lh_stats -prints out statistics on the size of the hash table, how many entries -are in it, and the number and result of calls to the routines in this -library. -.Pp -.Fn lh_node_stats -prints the number of entries for each 'bucket' in the hash table. -.Pp -.Fn lh_node_usage_stats -prints out a short summary of the state of the hash table. -It prints the 'load' and the 'actual load'. -The load is the average number of data items per 'bucket' in the hash -table. -The 'actual load' is the average number of items per 'bucket', but only -for buckets which contain entries. -So the 'actual load' is the average number of searches that will need to -find an item in the hash table, while the 'load' is the average number -that will be done to record a miss. -.Pp -.Fn lh_stats_bio , -.Fn lh_node_stats_bio , -and -.Fn lh_node_usage_stats_bio -are the same as the above, except that the output goes to a -.Vt BIO . -.Sh SEE ALSO -.Xr BIO_new 3 , -.Xr lh_new 3 -.Sh HISTORY -.Fn lh_stats , -.Fn lh_node_stats , -.Fn lh_node_usage_stats -appeared in SSLeay 0.4. -.Fn lh_stats_bio , -.Fn lh_node_stats_bio , -and -.Fn lh_node_usage_stats_bio -first appeared in SSLeay 0.6.0. -These functions have been available since -.Ox 2.4 . -.Sh AUTHORS -.An Eric Young diff --git a/lib/libcrypto/stack/safestack.h b/lib/libcrypto/stack/safestack.h index 4f575ba947f..b64b865dc85 100644 --- a/lib/libcrypto/stack/safestack.h +++ b/lib/libcrypto/stack/safestack.h @@ -1,4 +1,4 @@ -/* $OpenBSD: safestack.h,v 1.29 2023/08/03 16:32:15 tb Exp $ */ +/* $OpenBSD: safestack.h,v 1.30 2024/03/02 11:04:52 tb Exp $ */ /* ==================================================================== * Copyright (c) 1999 The OpenSSL Project. All rights reserved. * @@ -1816,12 +1816,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) #define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) #define lh_ADDED_OBJ_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) -#define lh_ADDED_OBJ_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) -#define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) -#define lh_ADDED_OBJ_stats_bio(lh,out) \ - LHM_lh_stats_bio(ADDED_OBJ,lh,out) #define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) #define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) @@ -1834,12 +1828,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) #define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) #define lh_CONF_VALUE_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) -#define lh_CONF_VALUE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(CONF_VALUE,lh,out) -#define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) -#define lh_CONF_VALUE_stats_bio(lh,out) \ - LHM_lh_stats_bio(CONF_VALUE,lh,out) #define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) #define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) @@ -1852,12 +1840,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) #define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) #define lh_ERR_STATE_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) -#define lh_ERR_STATE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STATE,lh,out) -#define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) -#define lh_ERR_STATE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STATE,lh,out) #define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) #define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) @@ -1870,12 +1852,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) #define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) #define lh_ERR_STRING_DATA_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) -#define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) -#define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) -#define lh_ERR_STRING_DATA_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) #define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) #define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) @@ -1888,12 +1864,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) #define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) #define lh_EX_CLASS_ITEM_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) -#define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) -#define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) -#define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) #define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) #define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) @@ -1906,12 +1876,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) #define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) #define lh_FUNCTION_down_load(lh) LHM_lh_down_load(FUNCTION,lh) -#define lh_FUNCTION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(FUNCTION,lh,out) -#define lh_FUNCTION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) -#define lh_FUNCTION_stats_bio(lh,out) \ - LHM_lh_stats_bio(FUNCTION,lh,out) #define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) #define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) @@ -1924,12 +1888,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) #define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) #define lh_OBJ_NAME_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) -#define lh_OBJ_NAME_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OBJ_NAME,lh,out) -#define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) -#define lh_OBJ_NAME_stats_bio(lh,out) \ - LHM_lh_stats_bio(OBJ_NAME,lh,out) #define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) #define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) @@ -1942,12 +1900,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) #define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) #define lh_OPENSSL_STRING_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) -#define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) -#define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) -#define lh_OPENSSL_STRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_STRING,lh,out) #define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) #define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) @@ -1960,12 +1912,6 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) #define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) #define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) #define lh_SSL_SESSION_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) -#define lh_SSL_SESSION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(SSL_SESSION,lh,out) -#define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) -#define lh_SSL_SESSION_stats_bio(lh,out) \ - LHM_lh_stats_bio(SSL_SESSION,lh,out) #define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) #endif /* !defined HEADER_SAFESTACK_H */ diff --git a/lib/libcrypto/util/mkstack.pl b/lib/libcrypto/util/mkstack.pl index 77b0ec49430..30afae7802d 100644 --- a/lib/libcrypto/util/mkstack.pl +++ b/lib/libcrypto/util/mkstack.pl @@ -151,12 +151,6 @@ EOF #define lh_${type_thing}_error(lh) LHM_lh_error(${type_thing},lh) #define lh_${type_thing}_num_items(lh) LHM_lh_num_items(${type_thing},lh) #define lh_${type_thing}_down_load(lh) LHM_lh_down_load(${type_thing},lh) -#define lh_${type_thing}_node_stats_bio(lh,out) \\ - LHM_lh_node_stats_bio(${type_thing},lh,out) -#define lh_${type_thing}_node_usage_stats_bio(lh,out) \\ - LHM_lh_node_usage_stats_bio(${type_thing},lh,out) -#define lh_${type_thing}_stats_bio(lh,out) \\ - LHM_lh_stats_bio(${type_thing},lh,out) #define lh_${type_thing}_free(lh) LHM_lh_free(${type_thing},lh) EOF } -- 2.20.1