summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2012-11-19 18:13:49 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2012-11-19 18:13:49 +0100
commit784412eb380cf86a40937574588d9ef11da31124 (patch)
tree4c6e8fad32d9f5f18279274c310c9e2f25554aa1
parent04b490cab2022bf5664696d549a72e3b2a9e8cdf (diff)
downloadgnutls-784412eb380cf86a40937574588d9ef11da31124.tar.gz
handle visiblestring.
-rw-r--r--lib/pkix.asn2
-rw-r--r--lib/pkix_asn1_tab.c4
-rw-r--r--lib/x509/x509.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/lib/pkix.asn b/lib/pkix.asn
index 235b6d7c44..cc788b73a1 100644
--- a/lib/pkix.asn
+++ b/lib/pkix.asn
@@ -147,6 +147,7 @@ BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
-- The content of this type conforms to RFC 2279.
+VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING
-- attribute data types --
@@ -577,6 +578,7 @@ NoticeReference ::= SEQUENCE {
DisplayText ::= CHOICE {
ia5String IA5String (SIZE (1..200)),
+ visibleString VisibleString (SIZE (1..200)),
bmpString BMPString (SIZE (1..200)),
utf8String UTF8String (SIZE (1..200)) }
diff --git a/lib/pkix_asn1_tab.c b/lib/pkix_asn1_tab.c
index 280c7cc890..168eb6ca00 100644
--- a/lib/pkix_asn1_tab.c
+++ b/lib/pkix_asn1_tab.c
@@ -117,6 +117,8 @@ const asn1_static_node pkix_asn1_tab[] = {
{ NULL, 4360, "30"},
{ "UTF8String", 1610620935, NULL },
{ NULL, 4360, "12"},
+ { "VisibleString", 1610620935, NULL },
+ { NULL, 4360, "26"},
{ "Attribute", 1610612741, NULL },
{ "type", 1073741826, "AttributeType"},
{ "values", 536870927, NULL },
@@ -411,6 +413,8 @@ const asn1_static_node pkix_asn1_tab[] = {
{ "DisplayText", 1610612754, NULL },
{ "ia5String", 1612709890, "IA5String"},
{ "200", 524298, "1"},
+ { "visibleString", 1612709890, "VisibleString"},
+ { "200", 524298, "1"},
{ "bmpString", 1612709890, "BMPString"},
{ "200", 524298, "1"},
{ "utf8String", 538968066, "UTF8String"},
diff --git a/lib/x509/x509.c b/lib/x509/x509.c
index 903762bb0f..75c612abb6 100644
--- a/lib/x509/x509.c
+++ b/lib/x509/x509.c
@@ -1811,7 +1811,7 @@ static int decode_user_notice(const void* data, size_t size, char** txt)
}
if (strcmp(choice_type, "utf8String") != 0 && strcmp(choice_type, "IA5String") != 0 &&
- strcmp(choice_type, "bmpString") != 0)
+ strcmp(choice_type, "bmpString") != 0 && strcmp(choice_type, "visibleString") != 0)
{
gnutls_assert();
ret = GNUTLS_E_PARSING_ERROR;