Browse Source

reduce surprise in choice of CASE/String/STRING by allowing all inputs to be in any case

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14877)
Michael Richardson 3 years ago
parent
commit
f60e35d01e
2 changed files with 5 additions and 3 deletions
  1. 2 1
      crypto/asn1/asn1_gen.c
  2. 3 2
      doc/man3/ASN1_generate_nconf.pod

+ 2 - 1
crypto/asn1/asn1_gen.c

@@ -10,6 +10,7 @@
 #include "internal/cryptlib.h"
 #include <openssl/asn1.h>
 #include <openssl/x509v3.h>
+#include "e_os.h" /* strncasecmp() */
 
 #define ASN1_GEN_FLAG           0x10000
 #define ASN1_GEN_FLAG_IMP       (ASN1_GEN_FLAG|1)
@@ -564,7 +565,7 @@ static int asn1_str2tag(const char *tagstr, int len)
 
     tntmp = tnst;
     for (i = 0; i < OSSL_NELEM(tnst); i++, tntmp++) {
-        if ((len == tntmp->len) && (strncmp(tntmp->strnam, tagstr, len) == 0))
+        if ((len == tntmp->len) && (strncasecmp(tntmp->strnam, tagstr, len) == 0))
             return tntmp->tag;
     }
 

+ 3 - 2
doc/man3/ASN1_generate_nconf.pod

@@ -42,8 +42,9 @@ I<value> and I<modifier> are explained below.
 
 =head2 Supported Types
 
-The supported types are listed below. Unless otherwise specified
-only the B<ASCII> format is permissible.
+The supported types are listed below.
+Case is not significant in the type names.
+Unless otherwise specified only the B<ASCII> format is permissible.
 
 =over 4