summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2023-07-28 10:33:13 +0000
committertb <>2023-07-28 10:33:13 +0000
commitd13035e40f9f0aeb77be3097963f11fabf83e401 (patch)
tree6ca61cb63c965a6e1ab24f4f13909d7067ef58fb
parenta6fe4431097f0743a991627e730ef8ceebc499b6 (diff)
downloadopenbsd-d13035e40f9f0aeb77be3097963f11fabf83e401.tar.gz
openbsd-d13035e40f9f0aeb77be3097963f11fabf83e401.tar.bz2
openbsd-d13035e40f9f0aeb77be3097963f11fabf83e401.zip
Remove more ASN1_BIT_STRING API
This removes ASN1_BIT_STRING_name_print(), ASN1_BIT_STRING_{num,set}_asc(). Before trust was properly handled using OIDs, there was a period where it used bit strings. The actual interfaces used in openssl x509 were removed, but the functions they wrapped remained unused for the next 24 years. ok jsing
-rw-r--r--src/lib/libcrypto/Symbols.list3
-rw-r--r--src/lib/libcrypto/Symbols.namespace3
-rw-r--r--src/lib/libcrypto/asn1/a_bitstr.c54
-rw-r--r--src/lib/libcrypto/asn1/asn1.h10
-rw-r--r--src/lib/libcrypto/hidden/openssl/asn1.h5
5 files changed, 3 insertions, 72 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index 110a3fa9c5..cffee7e000 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -29,11 +29,8 @@ ASN1_ANY_it
29ASN1_BIT_STRING_free 29ASN1_BIT_STRING_free
30ASN1_BIT_STRING_get_bit 30ASN1_BIT_STRING_get_bit
31ASN1_BIT_STRING_it 31ASN1_BIT_STRING_it
32ASN1_BIT_STRING_name_print
33ASN1_BIT_STRING_new 32ASN1_BIT_STRING_new
34ASN1_BIT_STRING_num_asc
35ASN1_BIT_STRING_set 33ASN1_BIT_STRING_set
36ASN1_BIT_STRING_set_asc
37ASN1_BIT_STRING_set_bit 34ASN1_BIT_STRING_set_bit
38ASN1_BMPSTRING_free 35ASN1_BMPSTRING_free
39ASN1_BMPSTRING_it 36ASN1_BMPSTRING_it
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index eada22cc44..3493ad8934 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -931,9 +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_name_print
935_libre_ASN1_BIT_STRING_num_asc
936_libre_ASN1_BIT_STRING_set_asc
937_libre_ASN1_INTEGER_new 934_libre_ASN1_INTEGER_new
938_libre_ASN1_INTEGER_free 935_libre_ASN1_INTEGER_free
939_libre_d2i_ASN1_INTEGER 936_libre_d2i_ASN1_INTEGER
diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c
index b985db60da..7ea3e12b91 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.40 2023/07/28 10:30:16 tb Exp $ */ 1/* $OpenBSD: a_bitstr.c,v 1.41 2023/07/28 10:33:13 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 *
@@ -163,58 +163,6 @@ ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
163LCRYPTO_ALIAS(ASN1_BIT_STRING_get_bit); 163LCRYPTO_ALIAS(ASN1_BIT_STRING_get_bit);
164 164
165int 165int
166ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
167 BIT_STRING_BITNAME *tbl, int indent)
168{
169 BIT_STRING_BITNAME *bnam;
170 char first = 1;
171
172 BIO_printf(out, "%*s", indent, "");
173 for (bnam = tbl; bnam->lname; bnam++) {
174 if (ASN1_BIT_STRING_get_bit(bs, bnam->bitnum)) {
175 if (!first)
176 BIO_puts(out, ", ");
177 BIO_puts(out, bnam->lname);
178 first = 0;
179 }
180 }
181 BIO_puts(out, "\n");
182 return 1;
183}
184LCRYPTO_ALIAS(ASN1_BIT_STRING_name_print);
185
186int
187ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
188 BIT_STRING_BITNAME *tbl)
189{
190 int bitnum;
191
192 bitnum = ASN1_BIT_STRING_num_asc(name, tbl);
193 if (bitnum < 0)
194 return 0;
195 if (bs) {
196 if (!ASN1_BIT_STRING_set_bit(bs, bitnum, value))
197 return 0;
198 }
199 return 1;
200}
201LCRYPTO_ALIAS(ASN1_BIT_STRING_set_asc);
202
203int
204ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
205{
206 BIT_STRING_BITNAME *bnam;
207
208 for (bnam = tbl; bnam->lname; bnam++) {
209 if (!strcmp(bnam->sname, name) ||
210 !strcmp(bnam->lname, name))
211 return bnam->bitnum;
212 }
213 return -1;
214}
215LCRYPTO_ALIAS(ASN1_BIT_STRING_num_asc);
216
217int
218i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp) 166i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp)
219{ 167{
220 int ret, j, bits, len; 168 int ret, j, bits, len;
diff --git a/src/lib/libcrypto/asn1/asn1.h b/src/lib/libcrypto/asn1/asn1.h
index 51fb2862cd..5eeee3317b 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.79 2023/07/28 10:30:16 tb Exp $ */ 1/* $OpenBSD: asn1.h,v 1.80 2023/07/28 10:33:13 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 *
@@ -577,14 +577,6 @@ int 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);
579 579
580#ifndef OPENSSL_NO_BIO
581int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
582 BIT_STRING_BITNAME *tbl, int indent);
583#endif
584int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl);
585int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
586 BIT_STRING_BITNAME *tbl);
587
588ASN1_INTEGER *ASN1_INTEGER_new(void); 580ASN1_INTEGER *ASN1_INTEGER_new(void);
589void ASN1_INTEGER_free(ASN1_INTEGER *a); 581void ASN1_INTEGER_free(ASN1_INTEGER *a);
590ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len); 582ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len);
diff --git a/src/lib/libcrypto/hidden/openssl/asn1.h b/src/lib/libcrypto/hidden/openssl/asn1.h
index 087d1294c1..fb1393f2a4 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.5 2023/07/28 10:30:16 tb Exp $ */ 1/* $OpenBSD: asn1.h,v 1.6 2023/07/28 10:33:13 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,9 +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_name_print);
65LCRYPTO_USED(ASN1_BIT_STRING_num_asc);
66LCRYPTO_USED(ASN1_BIT_STRING_set_asc);
67LCRYPTO_USED(ASN1_INTEGER_new); 64LCRYPTO_USED(ASN1_INTEGER_new);
68LCRYPTO_USED(ASN1_INTEGER_free); 65LCRYPTO_USED(ASN1_INTEGER_free);
69LCRYPTO_USED(d2i_ASN1_INTEGER); 66LCRYPTO_USED(d2i_ASN1_INTEGER);