From 025f3b8ef1e0ff3017dd0079925fbf85f15a6d22 Mon Sep 17 00:00:00 2001 From: tb <> Date: Sun, 2 Jul 2023 17:12:17 +0000 Subject: Convert some tables to C99 initializers ok & "happy pirate day" beck --- src/lib/libcrypto/asn1/a_strnid.c | 156 +++++++++++++++++++++++++++++++++----- 1 file changed, 135 insertions(+), 21 deletions(-) (limited to 'src/lib/libcrypto/asn1/a_strnid.c') diff --git a/src/lib/libcrypto/asn1/a_strnid.c b/src/lib/libcrypto/asn1/a_strnid.c index 034c4d72c3..5d4e5ef8a0 100644 --- a/src/lib/libcrypto/asn1/a_strnid.c +++ b/src/lib/libcrypto/asn1/a_strnid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: a_strnid.c,v 1.25 2021/12/13 17:55:53 schwarze Exp $ */ +/* $OpenBSD: a_strnid.c,v 1.26 2023/07/02 17:12:17 tb Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ @@ -187,25 +187,139 @@ ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in, int inlen, /* This table must be kept in NID order */ static const ASN1_STRING_TABLE tbl_standard[] = { - {NID_commonName, 1, ub_common_name, DIRSTRING_TYPE, 0}, - {NID_countryName, 2, 2, B_ASN1_PRINTABLESTRING, STABLE_NO_MASK}, - {NID_localityName, 1, ub_locality_name, DIRSTRING_TYPE, 0}, - {NID_stateOrProvinceName, 1, ub_state_name, DIRSTRING_TYPE, 0}, - {NID_organizationName, 1, ub_organization_name, DIRSTRING_TYPE, 0}, - {NID_organizationalUnitName, 1, ub_organization_unit_name, DIRSTRING_TYPE, 0}, - {NID_pkcs9_emailAddress, 1, ub_email_address, B_ASN1_IA5STRING, STABLE_NO_MASK}, - {NID_pkcs9_unstructuredName, 1, -1, PKCS9STRING_TYPE, 0}, - {NID_pkcs9_challengePassword, 1, -1, PKCS9STRING_TYPE, 0}, - {NID_pkcs9_unstructuredAddress, 1, -1, DIRSTRING_TYPE, 0}, - {NID_givenName, 1, ub_name, DIRSTRING_TYPE, 0}, - {NID_surname, 1, ub_name, DIRSTRING_TYPE, 0}, - {NID_initials, 1, ub_name, DIRSTRING_TYPE, 0}, - {NID_serialNumber, 1, ub_serial_number, B_ASN1_PRINTABLESTRING, STABLE_NO_MASK}, - {NID_friendlyName, -1, -1, B_ASN1_BMPSTRING, STABLE_NO_MASK}, - {NID_name, 1, ub_name, DIRSTRING_TYPE, 0}, - {NID_dnQualifier, -1, -1, B_ASN1_PRINTABLESTRING, STABLE_NO_MASK}, - {NID_domainComponent, 1, -1, B_ASN1_IA5STRING, STABLE_NO_MASK}, - {NID_ms_csp_name, -1, -1, B_ASN1_BMPSTRING, STABLE_NO_MASK} + { + .nid = NID_commonName, + .minsize = 1, + .maxsize = ub_common_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_countryName, + .minsize = 2, + .maxsize = 2, + .mask = B_ASN1_PRINTABLESTRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_localityName, + .minsize = 1, + .maxsize = ub_locality_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_stateOrProvinceName, + .minsize = 1, + .maxsize = ub_state_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_organizationName, + .minsize = 1, + .maxsize = ub_organization_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_organizationalUnitName, + .minsize = 1, + .maxsize = ub_organization_unit_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_pkcs9_emailAddress, + .minsize = 1, + .maxsize = ub_email_address, + .mask = B_ASN1_IA5STRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_pkcs9_unstructuredName, + .minsize = 1, + .maxsize = -1, + .mask = PKCS9STRING_TYPE, + .flags = 0, + }, + { + .nid = NID_pkcs9_challengePassword, + .minsize = 1, + .maxsize = -1, + .mask = PKCS9STRING_TYPE, + .flags = 0, + }, + { + .nid = NID_pkcs9_unstructuredAddress, + .minsize = 1, + .maxsize = -1, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_givenName, + .minsize = 1, + .maxsize = ub_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_surname, + .minsize = 1, + .maxsize = ub_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_initials, + .minsize = 1, + .maxsize = ub_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_serialNumber, + .minsize = 1, + .maxsize = ub_serial_number, + .mask = B_ASN1_PRINTABLESTRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_friendlyName, + .minsize = -1, + .maxsize = -1, + .mask = B_ASN1_BMPSTRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_name, + .minsize = 1, + .maxsize = ub_name, + .mask = DIRSTRING_TYPE, + .flags = 0, + }, + { + .nid = NID_dnQualifier, + .minsize = -1, + .maxsize = -1, + .mask = B_ASN1_PRINTABLESTRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_domainComponent, + .minsize = 1, + .maxsize = -1, + .mask = B_ASN1_IA5STRING, + .flags = STABLE_NO_MASK, + }, + { + .nid = NID_ms_csp_name, + .minsize = -1, + .maxsize = -1, + .mask = B_ASN1_BMPSTRING, + .flags = STABLE_NO_MASK, + }, }; static int @@ -254,7 +368,7 @@ ASN1_STRING_TABLE_get(int nid) return sk_ASN1_STRING_TABLE_value(stable, idx); } return OBJ_bsearch_table(&fnd, tbl_standard, - sizeof(tbl_standard)/sizeof(ASN1_STRING_TABLE)); + sizeof(tbl_standard) / sizeof(tbl_standard[0])); } /* -- cgit v1.2.3-55-g6feb