cron2 has submitted this change. ( http://gerrit.openvpn.net/c/openvpn/+/1507?usp=email )
Change subject: ssl_verify_openssl: Clean up extract_x509_extension ...................................................................... ssl_verify_openssl: Clean up extract_x509_extension * Avoid sign-compare warning when comparing string lengths * Use the nicer alias rfc822Name instead of the general ia5 from the GENERAL_NAME union. * Use the official ASN1_STRING_length API instead of accessing the struct directly. * C11 changes Change-Id: I23cc00aee47aef007ab2e7d50b52c6de299505db Signed-off-by: Frank Lichtenheld <[email protected]> Acked-by: Arne Schwabe <[email protected]> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1507 Message-Id: <[email protected]> URL: https://www.mail-archive.com/[email protected]/msg35980.html Signed-off-by: Gert Doering <[email protected]> --- M src/openvpn/ssl_verify_openssl.c 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/openvpn/ssl_verify_openssl.c b/src/openvpn/ssl_verify_openssl.c index 58f665c..46401cd 100644 --- a/src/openvpn/ssl_verify_openssl.c +++ b/src/openvpn/ssl_verify_openssl.c @@ -118,16 +118,10 @@ return nid == NID_subject_alt_name || nid == NID_issuer_alt_name; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsign-compare" -#endif - static bool extract_x509_extension(X509 *cert, char *fieldname, char *out, size_t size) { bool retval = false; - char *buf = 0; if (!x509_username_field_ext_supported(fieldname)) { @@ -139,29 +133,28 @@ GENERAL_NAMES *extensions = X509_get_ext_d2i(cert, nid, NULL, NULL); if (extensions) { - int numalts; - int i; /* get amount of alternatives, * RFC2459 claims there MUST be at least * one, but we don't depend on it... */ - numalts = sk_GENERAL_NAME_num(extensions); + int numalts = sk_GENERAL_NAME_num(extensions); /* loop through all alternatives */ - for (i = 0; i < numalts; i++) + for (int i = 0; i < numalts; i++) { /* get a handle to alternative name number i */ const GENERAL_NAME *name = sk_GENERAL_NAME_value(extensions, i); + char *buf = NULL; switch (name->type) { case GEN_EMAIL: - if (ASN1_STRING_to_UTF8((unsigned char **)&buf, name->d.ia5) < 0) + if (ASN1_STRING_to_UTF8((unsigned char **)&buf, name->d.rfc822Name) < 0) { continue; } - if (strlen(buf) != name->d.ia5->length) + if ((ssize_t)strlen(buf) != ASN1_STRING_length(name->d.rfc822Name)) { msg(D_TLS_ERRORS, "ASN1 ERROR: string contained terminating zero"); OPENSSL_free(buf); @@ -175,7 +168,7 @@ break; default: - msg(D_TLS_DEBUG, "%s: ignoring general name field type %i", __func__, + msg(D_TLS_DEBUG, "%s: ignoring general name field type %d", __func__, name->type); break; } @@ -185,10 +178,6 @@ return retval; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - /* * Extract a field from an X509 subject name. * -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/1507?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I23cc00aee47aef007ab2e7d50b52c6de299505db Gerrit-Change-Number: 1507 Gerrit-PatchSet: 8 Gerrit-Owner: flichtenheld <[email protected]> Gerrit-Reviewer: plaisthos <[email protected]> Gerrit-CC: openvpn-devel <[email protected]>
_______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
