summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2009-08-05 12:03:01 +0200
committerSimon Josefsson <simon@josefsson.org>2009-08-05 12:03:01 +0200
commita532faf3bd6d95bf41ba75733a72b504090667af (patch)
treee854a933a20956626d36500fc786cb16f757a3ab
parentfc5e2726e80e845c44a5ecacd0c5d4f72087d1cd (diff)
downloadgnutls-a532faf3bd6d95bf41ba75733a72b504090667af.tar.gz
Add self-test of RFC 2253 escaping.
-rw-r--r--tests/Makefile.am3
-rwxr-xr-xtests/rfc2253-escape-test53
2 files changed, 55 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b27c881371..63b2497212 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -58,7 +58,7 @@ ctests = simple gc set_pkcs12_cred certder mpi \
finished hostname-check cve-2008-4989 pkcs12_s2k chainverify \
crq_key_id x509sign-verify cve-2009-1415 cve-2009-1416 \
crq_apis init_roundtrip pkcs12_s2k_pem dn2 mini-eagain \
- nul-in-x509-names
+ nul-in-x509-names rfc2231-escape-test
if ENABLE_OPENSSL
ctests += openssl
@@ -93,4 +93,5 @@ TESTS_ENVIRONMENT = \
PKCS12PASSWORD=foobar \
PKCS12FILE_2=$(srcdir)/pkcs12-decode/pkcs12_2certs.p12 \
PKCS12PASSWORD_2="" \
+ EXEEXT=$(EXEEXT) \
$(VALGRIND)
diff --git a/tests/rfc2253-escape-test b/tests/rfc2253-escape-test
new file mode 100755
index 0000000000..35cd35e67c
--- /dev/null
+++ b/tests/rfc2253-escape-test
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Copyright (C) 2009 Free Software Foundation
+#
+# Author: Simon Josefsson
+#
+# This file is part of GNUTLS.
+#
+# GNUTLS is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNUTLS is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNUTLS; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+set -e
+
+srcdir=${srcdir:-.}
+CERTTOOL=${CERTTOOL:-../src/certtool$EXEEXT}
+
+if cat<<EOF \
+ | $CERTTOOL --certificate-info \
+ | grep -q 'Issuer: O=RFC 2253 escape test,OU=Plus \\+ Comma \\,'
+-----BEGIN CERTIFICATE-----
+MIICETCCAXygAwIBAgIESnlIMTALBgkqhkiG9w0BAQUwODEdMBsGA1UEChMUUkZD
+IDIyNTMgZXNjYXBlIHRlc3QxFzAVBgNVBAsTDlBsdXMgKyBDb21tYSAsMB4XDTA5
+MDgwNTA4NTIwMVoXDTM2MTIyMTA4NTIwNFowODEdMBsGA1UEChMUUkZDIDIyNTMg
+ZXNjYXBlIHRlc3QxFzAVBgNVBAsTDlBsdXMgKyBDb21tYSAsMIGcMAsGCSqGSIb3
+DQEBAQOBjAAwgYgCgYC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phs
+z+Y89+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tK
+rmpNaP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQID
+AQABoy8wLTAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRMuQqb+h00437ey9IHFf6h
+2stokTALBgkqhkiG9w0BAQUDgYEAmvr55otCWJx8ReDt5jFKd8aDk3jm6RSogV/P
++fBYR69w25NxgSWVsQeoSi2Jklpqa20koynCya087TM8ODl3lO0XbmG1YGksnM6R
+RMCUzqiqC2be1s2N+Bml4cIWTHzPZfnF/qXfbbkouepfbdscprXu07Z317kdAG8+
+iptEYYo=
+-----END CERTIFICATE-----
+EOF
+then
+ :
+else
+ echo "RFC 2253 escaping not working?"
+ exit 1
+fi
+
+exit 0