summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2023-07-28 10:30:16 +0000
committertb <>2023-07-28 10:30:16 +0000
commita6fe4431097f0743a991627e730ef8ceebc499b6 (patch)
treebed307ec2023eb715c5a9083f129a7d671153bc5 /src
parent0c95ea0b6649ecf3b2740991ddf8d8f17000653d (diff)
downloadopenbsd-a6fe4431097f0743a991627e730ef8ceebc499b6.tar.gz
openbsd-a6fe4431097f0743a991627e730ef8ceebc499b6.tar.bz2
openbsd-a6fe4431097f0743a991627e730ef8ceebc499b6.zip
Remove ASN1_BIT_STRING_check
This was added with the TS code for no discernible reason. I could not find a single consumer. In the unlikely event that you need this, it is easy enough to write a better version of it yourself. ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.list1
-rw-r--r--src/lib/libcrypto/Symbols.namespace1
-rw-r--r--src/lib/libcrypto/asn1/a_bitstr.c29
-rw-r--r--src/lib/libcrypto/asn1/asn1.h4
-rw-r--r--src/lib/libcrypto/hidden/openssl/asn1.h3
5 files changed, 3 insertions, 35 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index f9f1b10c22..110a3fa9c5 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -26,7 +26,6 @@ ASIdentifiers_free
26ASIdentifiers_it 26ASIdentifiers_it
27ASIdentifiers_new 27ASIdentifiers_new
28ASN1_ANY_it 28ASN1_ANY_it
29ASN1_BIT_STRING_check
30ASN1_BIT_STRING_free 29ASN1_BIT_STRING_free
31ASN1_BIT_STRING_get_bit 30ASN1_BIT_STRING_get_bit
32ASN1_BIT_STRING_it 31ASN1_BIT_STRING_it
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 50803c59bb..eada22cc44 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -931,7 +931,6 @@ _libre_i2d_ASN1_BIT_STRING
931_libre_ASN1_BIT_STRING_set 931_libre_ASN1_BIT_STRING_set
932_libre_ASN1_BIT_STRING_set_bit 932_libre_ASN1_BIT_STRING_set_bit
933_libre_ASN1_BIT_STRING_get_bit 933_libre_ASN1_BIT_STRING_get_bit
934_libre_ASN1_BIT_STRING_check
935_libre_ASN1_BIT_STRING_name_print 934_libre_ASN1_BIT_STRING_name_print
936_libre_ASN1_BIT_STRING_num_asc 935_libre_ASN1_BIT_STRING_num_asc
937_libre_ASN1_BIT_STRING_set_asc 936_libre_ASN1_BIT_STRING_set_asc
diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c
index 8076723de8..b985db60da 100644
--- a/src/lib/libcrypto/asn1/a_bitstr.c
+++ b/src/lib/libcrypto/asn1/a_bitstr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_bitstr.c,v 1.39 2023/07/05 21:23:36 beck Exp $ */ 1/* $OpenBSD: a_bitstr.c,v 1.40 2023/07/28 10:30:16 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -162,33 +162,6 @@ ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
162} 162}
163LCRYPTO_ALIAS(ASN1_BIT_STRING_get_bit); 163LCRYPTO_ALIAS(ASN1_BIT_STRING_get_bit);
164 164
165/*
166 * Checks if the given bit string contains only bits specified by
167 * the flags vector. Returns 0 if there is at least one bit set in 'a'
168 * which is not specified in 'flags', 1 otherwise.
169 * 'len' is the length of 'flags'.
170 */
171int
172ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, const unsigned char *flags,
173 int flags_len)
174{
175 int i, ok;
176
177 /* Check if there is one bit set at all. */
178 if (!a || !a->data)
179 return 1;
180
181 /* Check each byte of the internal representation of the bit string. */
182 ok = 1;
183 for (i = 0; i < a->length && ok; ++i) {
184 unsigned char mask = i < flags_len ? ~flags[i] : 0xff;
185 /* We are done if there is an unneeded bit set. */
186 ok = (a->data[i] & mask) == 0;
187 }
188 return ok;
189}
190LCRYPTO_ALIAS(ASN1_BIT_STRING_check);
191
192int 165int
193ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, 166ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
194 BIT_STRING_BITNAME *tbl, int indent) 167 BIT_STRING_BITNAME *tbl, int indent)
diff --git a/src/lib/libcrypto/asn1/asn1.h b/src/lib/libcrypto/asn1/asn1.h
index bef5cb4808..51fb2862cd 100644
--- a/src/lib/libcrypto/asn1/asn1.h
+++ b/src/lib/libcrypto/asn1/asn1.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1.h,v 1.78 2023/07/28 10:02:11 tb Exp $ */ 1/* $OpenBSD: asn1.h,v 1.79 2023/07/28 10:30:16 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -576,8 +576,6 @@ extern const ASN1_ITEM ASN1_BIT_STRING_it;
576int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); 576int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length);
577int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); 577int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value);
578int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); 578int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n);
579int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a,
580 const unsigned char *flags, int flags_len);
581 579
582#ifndef OPENSSL_NO_BIO 580#ifndef OPENSSL_NO_BIO
583int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, 581int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
diff --git a/src/lib/libcrypto/hidden/openssl/asn1.h b/src/lib/libcrypto/hidden/openssl/asn1.h
index 2a1eda1a89..087d1294c1 100644
--- a/src/lib/libcrypto/hidden/openssl/asn1.h
+++ b/src/lib/libcrypto/hidden/openssl/asn1.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1.h,v 1.4 2023/07/28 10:02:11 tb Exp $ */ 1/* $OpenBSD: asn1.h,v 1.5 2023/07/28 10:30:16 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -61,7 +61,6 @@ LCRYPTO_USED(i2d_ASN1_BIT_STRING);
61LCRYPTO_USED(ASN1_BIT_STRING_set); 61LCRYPTO_USED(ASN1_BIT_STRING_set);
62LCRYPTO_USED(ASN1_BIT_STRING_set_bit); 62LCRYPTO_USED(ASN1_BIT_STRING_set_bit);
63LCRYPTO_USED(ASN1_BIT_STRING_get_bit); 63LCRYPTO_USED(ASN1_BIT_STRING_get_bit);
64LCRYPTO_USED(ASN1_BIT_STRING_check);
65LCRYPTO_USED(ASN1_BIT_STRING_name_print); 64LCRYPTO_USED(ASN1_BIT_STRING_name_print);
66LCRYPTO_USED(ASN1_BIT_STRING_num_asc); 65LCRYPTO_USED(ASN1_BIT_STRING_num_asc);
67LCRYPTO_USED(ASN1_BIT_STRING_set_asc); 66LCRYPTO_USED(ASN1_BIT_STRING_set_asc);