Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libcrypt PR/56838: David A. Holland: namespace pollution...



details:   https://anonhg.NetBSD.org/src/rev/bdf8eae455b9
branches:  trunk
changeset: 366132:bdf8eae455b9
user:      christos <christos%NetBSD.org@localhost>
date:      Sun May 15 16:25:09 2022 +0000

description:
PR/56838: David A. Holland: namespace pollution in static libcrypt

diffstat:

 lib/libcrypt/Makefile    |   4 +-
 lib/libcrypt/namespace.h |  94 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 97 insertions(+), 1 deletions(-)

diffs (116 lines):

diff -r d1f69b2ecf58 -r bdf8eae455b9 lib/libcrypt/Makefile
--- a/lib/libcrypt/Makefile     Sun May 15 16:20:10 2022 +0000
+++ b/lib/libcrypt/Makefile     Sun May 15 16:25:09 2022 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.33 2021/11/01 03:09:58 agc Exp $
+#      $NetBSD: Makefile,v 1.34 2022/05/15 16:25:09 christos Exp $
 
 USE_FORT?=     yes     # cryptographic software
 
@@ -15,6 +15,8 @@
 SRCS=  crypt.c md5crypt.c bcrypt.c crypt-sha1.c util.c pw_gensalt.c
 SRCS+= hmac_sha1.c
 
+CPPFLAGS+= -include ${.CURDIR}/namespace.h
+
 .if defined(HAVE_ARGON2)
 ARGON2DIR=     ${NETBSDSRCDIR}/external/apache2/argon2
 .PATH: ${ARGON2DIR}/dist/phc-winner-argon2/src \
diff -r d1f69b2ecf58 -r bdf8eae455b9 lib/libcrypt/namespace.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/libcrypt/namespace.h  Sun May 15 16:25:09 2022 +0000
@@ -0,0 +1,94 @@
+/*     $NetBSD: namespace.h,v 1.1 2022/05/15 16:25:09 christos Exp $   */
+
+/*-
+ * Copyright (c) 2022 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Christos Zoulas.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``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 FOUNDATION 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.
+ */
+
+/* argon2b.c */
+#define        argon2_ctx      __libcrypt_internal_argon2_ctx
+#define        argon2_encodedlen       __libcrypt_internal_argon2_encodedlen
+#define        argon2_error_message    __libcrypt_internal_argon2_error_message
+#define        argon2_hash     __libcrypt_internal_argon2_hash
+#define        argon2_type2string      __libcrypt_internal_argon2_type2string
+#define        argon2_verify   __libcrypt_internal_argon2_verify
+#define        argon2_verify_ctx       __libcrypt_internal_argon2_verify_ctx
+#define        argon2d_ctx     __libcrypt_internal_argon2d_ctx
+#define        argon2d_hash_encoded    __libcrypt_internal_argon2d_hash_encoded
+#define        argon2d_hash_raw        __libcrypt_internal_argon2d_hash_raw
+#define        argon2d_verify  __libcrypt_internal_argon2d_verify
+#define        argon2d_verify_ctx      __libcrypt_internal_argon2d_verify_ctx
+#define        argon2i_ctx     __libcrypt_internal_argon2i_ctx
+#define        argon2i_hash_encoded    __libcrypt_internal_argon2i_hash_encoded
+#define        argon2i_hash_raw        __libcrypt_internal_argon2i_hash_raw
+#define        argon2i_verify  __libcrypt_internal_argon2i_verify
+#define        argon2i_verify_ctx      __libcrypt_internal_argon2i_verify_ctx
+#define        argon2id_ctx    __libcrypt_internal_argon2id_ctx
+#define        argon2id_hash_encoded   __libcrypt_internal_argon2id_hash_encoded
+#define        argon2id_hash_raw       __libcrypt_internal_argon2id_hash_raw
+#define        argon2id_verify __libcrypt_internal_argon2id_verify
+#define        argon2id_verify_ctx     __libcrypt_internal_argon2id_verify_ctx
+
+/* blake2b.c */
+#define        blake2b __libcrypt_internal_blake2b
+#define        blake2b_final   __libcrypt_internal_blake2b_final
+#define        blake2b_init    __libcrypt_internal_blake2b_init
+#define        blake2b_init_key        __libcrypt_internal_blake2b_init_key
+#define        blake2b_init_param      __libcrypt_internal_blake2b_init_param
+#define        blake2b_long    __libcrypt_internal_blake2b_long
+#define        blake2b_update  __libcrypt_internal_blake2b_update
+
+/* core.c */
+#define        allocate_memory __libcrypt_internal_allocate_memory
+#define        clear_internal_memory   __libcrypt_internal_clear_internal_memory
+#define        copy_block      __libcrypt_internal_copy_block
+#define        fill_first_blocks       __libcrypt_internal_fill_first_blocks
+#define        fill_memory_blocks      __libcrypt_internal_fill_memory_blocks
+#define        finalize        __libcrypt_internal_finalize
+#define        free_memory     __libcrypt_internal_free_memory
+#define        index_alpha     __libcrypt_internal_index_alpha
+#define        init_block_value        __libcrypt_internal_init_block_value
+#define        initial_hash    __libcrypt_internal_initial_hash
+#define        initialize      __libcrypt_internal_initialize
+#define        secure_wipe_memory      __libcrypt_internal_secure_wipe_memory
+#define        validate_inputs __libcrypt_internal_validate_inputs
+#define        xor_block       __libcrypt_internal_xor_block
+
+/* crypt-argon2.c */
+#define        estimate_argon2_params  __libcrypt_internal_estimate_argon2_params
+
+/* encoding.c */
+#define        b64len  __libcrypt_internal_b64len
+#define        decode_string   __libcrypt_internal_decode_string
+#define        encode_string   __libcrypt_internal_encode_string
+#define        numlen  __libcrypt_internal_numlen
+
+/* ref.c */
+#define        fill_segment    __libcrypt_internal_fill_segment
+
+/* util.c */
+#define        getnum  __libcrypt_internal_getnum



Home | Main Index | Thread Index | Old Index