From: tb Date: Fri, 15 Dec 2023 22:24:15 +0000 (+0000) Subject: Remove the string_table test X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=510d2225e9c9a4c7219160349a32416a0a367b4a;p=openbsd Remove the string_table test If it wasn't for security/xca, all of the ASN1_STRING_TABLE API would hit the attic before long. API design by a trained professional... The table can at least be made immutable, which in turn makes this test entirely pointless. --- diff --git a/regress/lib/libcrypto/asn1/Makefile b/regress/lib/libcrypto/asn1/Makefile index d00d41a95e9..173a51f4423 100644 --- a/regress/lib/libcrypto/asn1/Makefile +++ b/regress/lib/libcrypto/asn1/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.25 2023/10/11 12:49:00 tb Exp $ +# $OpenBSD: Makefile,v 1.26 2023/12/15 22:24:15 tb Exp $ PROGS = \ asn1api \ @@ -12,7 +12,6 @@ PROGS = \ asn1time \ asn1x509 \ rfc5280time \ - string_table \ x509_algor DPADD+= ${LIBCRYPTO} diff --git a/regress/lib/libcrypto/asn1/string_table.c b/regress/lib/libcrypto/asn1/string_table.c deleted file mode 100644 index e80cf0f2069..00000000000 --- a/regress/lib/libcrypto/asn1/string_table.c +++ /dev/null @@ -1,128 +0,0 @@ -/* $OpenBSD: string_table.c,v 1.1 2021/12/11 22:58:48 schwarze Exp $ */ -/* - * Copyright (c) 2021 Ingo Schwarze - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -static int errcount; - -static void -report(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vwarnx(fmt, ap); - va_end(ap); - - errcount++; -} - -static void -stable_check(const char *testname, ASN1_STRING_TABLE *have, - ASN1_STRING_TABLE *want, unsigned long want_flags) -{ - if (have == NULL) { - report("%s returned NULL", testname); - return; - } - if (have->nid != want->nid) - report("%s nid %d, expected %d", testname, - have->nid, want->nid); - if (have->minsize != want->minsize) - report("%s minsize %ld, expected %ld", testname, - have->minsize, want->minsize); - if (have->maxsize != want->maxsize) - report("%s maxsize %ld, expected %ld", testname, - have->maxsize, want->maxsize); - if (have->mask != want->mask) - report("%s mask %lu, expected %lu", testname, - have->mask, want->mask); - if (have->flags != want_flags) - report("%s flags %lu, expected %lu", testname, - have->flags, want_flags); -} - -int -main(void) -{ - ASN1_STRING_TABLE orig, mine, *have; - int irc; - - orig.nid = NID_name; - orig.minsize = 1; - orig.maxsize = ub_name; - orig.mask = DIRSTRING_TYPE; - orig.flags = 0; - - mine.nid = NID_name; - mine.minsize = 4; - mine.maxsize = 64; - mine.mask = B_ASN1_PRINTABLESTRING; - mine.flags = STABLE_NO_MASK; - - /* Original entry. */ - - have = ASN1_STRING_TABLE_get(orig.nid); - stable_check("orig", have, &orig, 0); - - /* Copy, but don't really change. */ - - irc = ASN1_STRING_TABLE_add(orig.nid, -1, -1, 0, 0); - if (irc != 1) - report("set noop returned %d, expected 1", irc); - have = ASN1_STRING_TABLE_get(orig.nid); - stable_check("noop", have, &orig, STABLE_FLAGS_MALLOC); - - /* Change entry. */ - - irc = ASN1_STRING_TABLE_add(mine.nid, mine.minsize, mine.maxsize, - mine.mask, mine.flags); - if (irc != 1) - report("set returned %d, expected 1", irc); - have = ASN1_STRING_TABLE_get(mine.nid); - stable_check("set", have, &mine, STABLE_FLAGS_MALLOC | STABLE_NO_MASK); - - /* New entry. */ - - mine.nid = NID_title; - irc = ASN1_STRING_TABLE_add(mine.nid, mine.minsize, mine.maxsize, - mine.mask, mine.flags); - if (irc != 1) - report("new returned %d, expected 1", irc); - have = ASN1_STRING_TABLE_get(mine.nid); - stable_check("new", have, &mine, STABLE_FLAGS_MALLOC | STABLE_NO_MASK); - - /* Back to the initial state. */ - - ASN1_STRING_TABLE_cleanup(); - have = ASN1_STRING_TABLE_get(orig.nid); - stable_check("back", have, &orig, 0); - if (ASN1_STRING_TABLE_get(mine.nid) != NULL) - report("deleted entry is not NULL"); - - switch (errcount) { - case 0: - return 0; - case 1: - errx(1, "one error"); - default: - errx(1, "%d errors", errcount); - } -}