From: Tobias Brunner Date: Fri, 24 Mar 2023 16:00:10 +0000 (+0100) Subject: asn1: Allow suppressing log messages when parsing algorithm identifiers X-Git-Tag: 5.9.11dr2~3^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1326f805a8e4c2e7bfda8a5bc2d224f44d27398f;p=thirdparty%2Fstrongswan.git asn1: Allow suppressing log messages when parsing algorithm identifiers --- diff --git a/src/libstrongswan/asn1/asn1.c b/src/libstrongswan/asn1/asn1.c index ef1dd9eaab..cf684e7203 100644 --- a/src/libstrongswan/asn1/asn1.c +++ b/src/libstrongswan/asn1/asn1.c @@ -648,18 +648,27 @@ int asn1_parse_algorithmIdentifier(chunk_t blob, int level0, chunk_t *parameters if (asn1_unwrap(&blob, &blob) == ASN1_SEQUENCE) { - DBG2(DBG_ASN, "L%d - algorithmIdentifier:", level0); + if (level0 >= 0) + { + DBG2(DBG_ASN, "L%d - algorithmIdentifier:", level0); + } if (asn1_unwrap(&blob, &object) == ASN1_OID) { - DBG2(DBG_ASN, "L%d - algorithm:", level0+1); - asn1_debug_simple_object(object, ASN1_OID, FALSE); + if (level0 >= 0) + { + DBG2(DBG_ASN, "L%d - algorithm:", level0+1); + asn1_debug_simple_object(object, ASN1_OID, FALSE); + } alg = asn1_known_oid(object); if (blob.len) { - DBG2(DBG_ASN, "L%d - parameters:", level0+1); - DBG3(DBG_ASN, "%B", &blob); + if (level0 >= 0) + { + DBG2(DBG_ASN, "L%d - parameters:", level0+1); + DBG3(DBG_ASN, "%B", &blob); + } if (parameters) { *parameters = blob; diff --git a/src/libstrongswan/asn1/asn1.h b/src/libstrongswan/asn1/asn1.h index cb5d86c5c9..a94c82e302 100644 --- a/src/libstrongswan/asn1/asn1.h +++ b/src/libstrongswan/asn1/asn1.h @@ -163,7 +163,7 @@ int asn1_unwrap(chunk_t *blob, chunk_t *content); * Parses an ASN.1 algorithmIdentifier object * * @param blob ASN.1 coded blob - * @param level0 top-most level offset + * @param level0 top-most level offset (-1 to suppress log messages) * @param params returns optional [ASN.1 coded] parameters * @return known OID index or OID_UNKNOWN */ diff --git a/src/libstrongswan/tests/suites/test_asn1.c b/src/libstrongswan/tests/suites/test_asn1.c index 7cedf8e0f3..fc207355d7 100644 --- a/src/libstrongswan/tests/suites/test_asn1.c +++ b/src/libstrongswan/tests/suites/test_asn1.c @@ -81,11 +81,11 @@ START_TEST(test_asn1_parse_algorithmIdentifier) parameters = chunk_empty; if (i == 2) { - alg = asn1_parse_algorithmIdentifier(algid, 0, NULL); + alg = asn1_parse_algorithmIdentifier(algid, _i, NULL); } else { - alg = asn1_parse_algorithmIdentifier(algid, 0, ¶meters); + alg = asn1_parse_algorithmIdentifier(algid, _i, ¶meters); if (test[i].empty) { ck_assert(parameters.len == 0 && parameters.ptr == NULL); @@ -824,7 +824,7 @@ Suite *asn1_suite_create() suite_add_tcase(s, tc); tc = tcase_create("parse_algorithmIdentifier"); - tcase_add_test(tc, test_asn1_parse_algorithmIdentifier); + tcase_add_loop_test(tc, test_asn1_parse_algorithmIdentifier, -1, 1); suite_add_tcase(s, tc); tc = tcase_create("known_oid");