diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CVE-2018-1000654-1.asn | 12 | ||||
-rw-r--r-- | tests/CVE-2018-1000654-1_asn1_tab.h | 32 | ||||
-rw-r--r-- | tests/CVE-2018-1000654-2.asn | 13 | ||||
-rw-r--r-- | tests/CVE-2018-1000654-2_asn1_tab.h | 36 | ||||
-rw-r--r-- | tests/CVE-2018-1000654.c | 68 | ||||
-rw-r--r-- | tests/Makefile.am | 30 | ||||
-rw-r--r-- | tests/Makefile.in | 813 | ||||
-rw-r--r-- | tests/Test_encdec.c | 4 | ||||
-rw-r--r-- | tests/Test_strings.c | 2 | ||||
-rw-r--r-- | tests/Test_tree.c | 2 | ||||
-rw-r--r-- | tests/copynode.c | 8 | ||||
-rw-r--r-- | tests/ocsp-basic-response.c | 2 | ||||
-rwxr-xr-x | tests/parser.sh | 38 | ||||
-rw-r--r-- | tests/pkix.asn | 6 | ||||
-rw-r--r-- | tests/pkix.asn.out | 1166 | ||||
-rw-r--r-- | tests/setof.asn | 12 | ||||
-rw-r--r-- | tests/setof.c | 184 | ||||
-rw-r--r-- | tests/single_node.c | 61 |
18 files changed, 1926 insertions, 563 deletions
diff --git a/tests/CVE-2018-1000654-1.asn b/tests/CVE-2018-1000654-1.asn new file mode 100644 index 0000000..3d14ba1 --- /dev/null +++ b/tests/CVE-2018-1000654-1.asn @@ -0,0 +1,12 @@ +TEST_TREE {iso(1) identified-organization(3) dod(6) internet(1) + security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +id-xnyTest OBJECT IDENTIFIER ::= {id-ix 29 1} +id-ix OBJECR ::= {id-ix 29 2} +id-xnyTest OBJECT IDENTIFIER ::= {id-ix 29 1} + +END diff --git a/tests/CVE-2018-1000654-1_asn1_tab.h b/tests/CVE-2018-1000654-1_asn1_tab.h new file mode 100644 index 0000000..e793013 --- /dev/null +++ b/tests/CVE-2018-1000654-1_asn1_tab.h @@ -0,0 +1,32 @@ +#if HAVE_CONFIG_H +# include "config.h" +#endif + +#include <libtasn1.h> + +const asn1_static_node CVE_2018_1000654_1_asn1_tab[] = { + { "TEST_TREE", 536875024, NULL }, + { NULL, 1610612748, NULL }, + { "iso", 1073741825, "1"}, + { "identified-organization", 1073741825, "3"}, + { "dod", 1073741825, "6"}, + { "internet", 1073741825, "1"}, + { "security", 1073741825, "5"}, + { "mechanisms", 1073741825, "5"}, + { "pkix", 1073741825, "7"}, + { "id-mod", 1073741825, "0"}, + { "id-pkix1-implicit-88", 1, "2"}, + { "id-xnyTest", 1879048204, NULL }, + { NULL, 1073741825, "id-ix"}, + { NULL, 1073741825, "29"}, + { NULL, 1, "1"}, + { "id-ix", 1880096780, "OBJECR"}, + { NULL, 1073741825, "id-ix"}, + { NULL, 1073741825, "29"}, + { NULL, 1, "2"}, + { "id-xnyTest", 805306380, NULL }, + { NULL, 1073741825, "id-ix"}, + { NULL, 1073741825, "29"}, + { NULL, 1, "1"}, + { NULL, 0, NULL } +}; diff --git a/tests/CVE-2018-1000654-2.asn b/tests/CVE-2018-1000654-2.asn new file mode 100644 index 0000000..e07b0d1 --- /dev/null +++ b/tests/CVE-2018-1000654-2.asn @@ -0,0 +1,13 @@ +TEST_TREE {iso(1) identified-organization(3) dod(6) internet(1) + security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +id-oneTest OBJECT IDENTIFIER ::= {id-two 9 1} +id-two OBJECT IDENTIFIER ::= {id-three 2 2} +id-three OBJECT IDENTIFIER ::= {id-four 3 3} +id-four OBJECT IDENTIFIER ::= {id-two 3 3} + +END diff --git a/tests/CVE-2018-1000654-2_asn1_tab.h b/tests/CVE-2018-1000654-2_asn1_tab.h new file mode 100644 index 0000000..e8170f5 --- /dev/null +++ b/tests/CVE-2018-1000654-2_asn1_tab.h @@ -0,0 +1,36 @@ +#if HAVE_CONFIG_H +# include "config.h" +#endif + +#include <libtasn1.h> + +const asn1_static_node CVE_2018_1000654_2_asn1_tab[] = { + { "TEST_TREE", 536875024, NULL }, + { NULL, 1610612748, NULL }, + { "iso", 1073741825, "1"}, + { "identified-organization", 1073741825, "3"}, + { "dod", 1073741825, "6"}, + { "internet", 1073741825, "1"}, + { "security", 1073741825, "5"}, + { "mechanisms", 1073741825, "5"}, + { "pkix", 1073741825, "7"}, + { "id-mod", 1073741825, "0"}, + { "id-pkix1-implicit-88", 1, "2"}, + { "id-oneTest", 1879048204, NULL }, + { NULL, 1073741825, "id-two"}, + { NULL, 1073741825, "9"}, + { NULL, 1, "1"}, + { "id-two", 1879048204, NULL }, + { NULL, 1073741825, "id-three"}, + { NULL, 1073741825, "2"}, + { NULL, 1, "2"}, + { "id-three", 1879048204, NULL }, + { NULL, 1073741825, "id-four"}, + { NULL, 1073741825, "3"}, + { NULL, 1, "3"}, + { "id-four", 805306380, NULL }, + { NULL, 1073741825, "id-two"}, + { NULL, 1073741825, "3"}, + { NULL, 1, "3"}, + { NULL, 0, NULL } +}; diff --git a/tests/CVE-2018-1000654.c b/tests/CVE-2018-1000654.c new file mode 100644 index 0000000..b85fcc5 --- /dev/null +++ b/tests/CVE-2018-1000654.c @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2002-2018 Free Software Foundation, Inc. + * + * This file is part of LIBTASN1. + * + * This program 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. + * + * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/****************************************************************/ +/* Description: reproducer for CVE-2018-1000654 */ +/****************************************************************/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include "CVE-2018-1000654-1_asn1_tab.h" +#include "CVE-2018-1000654-2_asn1_tab.h" + +int +main (int argc, char *argv[]) +{ + int result, verbose = 0; + asn1_node definitions = NULL; + char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + + if (argc > 1) + verbose = 1; + + printf("Test 1\n"); + + result = asn1_array2tree (CVE_2018_1000654_1_asn1_tab, &definitions, errorDescription); + if (result != ASN1_RECURSION) + { + asn1_perror (result); + printf ("ErrorDescription = %s\n\n", errorDescription); + exit (1); + } + + asn1_delete_structure (&definitions); + + printf("Test 2\n"); + + result = asn1_array2tree (CVE_2018_1000654_2_asn1_tab, &definitions, errorDescription); + if (result != ASN1_RECURSION) + { + asn1_perror (result); + printf ("ErrorDescription = %s\n\n", errorDescription); + exit (1); + } + + asn1_delete_structure (&definitions); + + if (verbose) + printf ("Success\n"); + exit (0); +} diff --git a/tests/Makefile.am b/tests/Makefile.am index be10bbb..6421bef 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -17,15 +17,16 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAG_VISIBILITY) -AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/gl -I../gl +AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes AM_LDFLAGS = -no-install -LDADD = ../lib/libtasn1.la ../gl/libgnu.la +LDADD = ../lib/libtasn1.la +BUILT_SOURCES = CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h EXTRA_DIST = Test_parser.asn Test_tree.asn Test_tree_asn1_tab.c mscat.asn \ Test_encoding.asn pkix.asn TestIndef.p12 choice.asn coding-decoding2.asn \ TestIndef2.p12 TestIndef3.der TestCertOctetOverflow.der \ - cert-invalid-time.der \ + cert-invalid-time.der setof.asn CVE-2018-1000654-1.asn CVE-2018-1000654-2.asn \ libtasn1.supp ocsp-basic-response.der spc_pe_image_data.der \ invalid-x509/id-000000.der invalid-x509/id-000001.der \ invalid-x509/id-000002.der invalid-x509/id-000003.der \ @@ -47,27 +48,36 @@ EXTRA_DIST = Test_parser.asn Test_tree.asn Test_tree_asn1_tab.c mscat.asn \ invalid-x509/id-000034.der invalid-x509/id-000035.der \ invalid-pkcs7/id-000001.der invalid-pkcs7/id-000002.der \ invalid-pkcs7/id-000003.der invalid-assignments1.txt \ - invalid-assignments2.txt + invalid-assignments2.txt pkix.asn.out # For crlf. EXTRA_DIST += crlf.cer crl.der ocsp.der dist_check_SCRIPTS = crlf benchmark threadsafety decoding decoding-invalid-x509 \ - decoding-invalid-pkcs7 coding + decoding-invalid-pkcs7 coding parser.sh -MOSTLYCLEANFILES = Test_parser_ERROR.asn +MOSTLYCLEANFILES = Test_parser_ERROR.asn CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h check_PROGRAMS = Test_parser Test_tree Test_encoding Test_indefinite \ Test_errors Test_simple Test_overflow Test_strings Test_choice \ Test_encdec copynode coding-decoding2 strict-der Test_choice_ocsp \ ocsp-basic-response octet-string coding-long-oid object-id-decoding \ - spc_pe_image_data + spc_pe_image_data setof CVE-2018-1000654 single_node TESTS = Test_parser Test_tree Test_encoding Test_indefinite \ Test_errors Test_simple Test_overflow crlf threadsafety \ Test_strings Test_choice Test_encdec copynode coding-decoding2 \ strict-der Test_choice_ocsp decoding decoding-invalid-x509 \ ocsp-basic-response octet-string coding-long-oid object-id-decoding \ - spc_pe_image_data decoding-invalid-pkcs7 coding + spc_pe_image_data decoding-invalid-pkcs7 coding setof \ + CVE-2018-1000654 parser.sh single_node + +CVE-2018-1000654-1_asn1_tab.h: $(srcdir)/CVE-2018-1000654-1.asn + $(top_builddir)/src/asn1Parser$(EXEEXT) $^ -o $@ + +CVE-2018-1000654-2_asn1_tab.h: $(srcdir)/CVE-2018-1000654-2.asn + $(top_builddir)/src/asn1Parser$(EXEEXT) $^ -o $@ + +CVE_2018_1000654_SOURCES = CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h CVE-2018-1000654.c TESTS_ENVIRONMENT = \ ASN1PARSER=$(srcdir)/Test_parser.asn \ @@ -75,6 +85,7 @@ TESTS_ENVIRONMENT = \ ASN1CHOICE=$(srcdir)/choice.asn \ ASN1CODINGDECODING2=$(srcdir)/coding-decoding2.asn \ ASN1PKIX=$(srcdir)/pkix.asn \ + ASN1SETOF=$(srcdir)/setof.asn \ ASN1CRLDER=$(srcdir)/crl.der \ ASN1INDEF=$(srcdir)/TestIndef.p12 \ ASN1INDEF2=$(srcdir)/TestIndef2.p12 \ @@ -88,5 +99,4 @@ TESTS_ENVIRONMENT = \ ASAN_OPTIONS="detect_leaks=0:exitcode=6" \ THREADSAFETY_FILES=`find $(top_srcdir)/lib -name \*.c` \ EXEEXT=$(EXEEXT) \ - LSAN_OPTIONS=suppressions=libtasn1.supp \ - $(VALGRIND) + LSAN_OPTIONS=suppressions=libtasn1.supp diff --git a/tests/Makefile.in b/tests/Makefile.in index 5f33db8..d25cabb 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -112,7 +112,8 @@ check_PROGRAMS = Test_parser$(EXEEXT) Test_tree$(EXEEXT) \ coding-decoding2$(EXEEXT) strict-der$(EXEEXT) \ Test_choice_ocsp$(EXEEXT) ocsp-basic-response$(EXEEXT) \ octet-string$(EXEEXT) coding-long-oid$(EXEEXT) \ - object-id-decoding$(EXEEXT) spc_pe_image_data$(EXEEXT) + object-id-decoding$(EXEEXT) spc_pe_image_data$(EXEEXT) \ + setof$(EXEEXT) CVE-2018-1000654$(EXEEXT) single_node$(EXEEXT) TESTS = Test_parser$(EXEEXT) Test_tree$(EXEEXT) Test_encoding$(EXEEXT) \ Test_indefinite$(EXEEXT) Test_errors$(EXEEXT) \ Test_simple$(EXEEXT) Test_overflow$(EXEEXT) crlf threadsafety \ @@ -122,58 +123,41 @@ TESTS = Test_parser$(EXEEXT) Test_tree$(EXEEXT) Test_encoding$(EXEEXT) \ Test_choice_ocsp$(EXEEXT) decoding decoding-invalid-x509 \ ocsp-basic-response$(EXEEXT) octet-string$(EXEEXT) \ coding-long-oid$(EXEEXT) object-id-decoding$(EXEEXT) \ - spc_pe_image_data$(EXEEXT) decoding-invalid-pkcs7 coding + spc_pe_image_data$(EXEEXT) decoding-invalid-pkcs7 coding \ + setof$(EXEEXT) CVE-2018-1000654$(EXEEXT) parser.sh \ + single_node$(EXEEXT) subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/lib/glm4/gnulib-comp.m4 \ - $(top_srcdir)/lib/glm4/ld-version-script.m4 \ - $(top_srcdir)/lib/glm4/minmax.m4 \ - $(top_srcdir)/lib/glm4/string_h.m4 \ - $(top_srcdir)/lib/glm4/strverscmp.m4 \ - $(top_srcdir)/lib/glm4/visibility.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 \ - $(top_srcdir)/gl/m4/absolute-header.m4 \ - $(top_srcdir)/gl/m4/autobuild.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 \ - $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/extensions.m4 \ - $(top_srcdir)/gl/m4/extern-inline.m4 \ - $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ - $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/getopt.m4 $(top_srcdir)/gl/m4/gettime.m4 \ - $(top_srcdir)/gl/m4/gettimeofday.m4 \ - $(top_srcdir)/gl/m4/gnulib-common.m4 \ - $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/largefile.m4 \ - $(top_srcdir)/gl/m4/limits-h.m4 \ - $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/msvc-inval.m4 \ - $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ - $(top_srcdir)/gl/m4/multiarch.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ - $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ - $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/sys_socket_h.m4 \ - $(top_srcdir)/gl/m4/sys_stat_h.m4 \ - $(top_srcdir)/gl/m4/sys_time_h.m4 \ - $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \ - $(top_srcdir)/gl/m4/unistd_h.m4 \ - $(top_srcdir)/gl/m4/valgrind-tests.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/warn-on-use.m4 \ - $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \ - $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/update-header-version.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ + $(top_srcdir)/m4/ax_ac_print_to_file.m4 \ + $(top_srcdir)/m4/ax_add_am_macro_static.m4 \ + $(top_srcdir)/m4/ax_am_macros_static.m4 \ + $(top_srcdir)/m4/ax_check_gnu_make.m4 \ + $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_file_escapes.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \ + $(top_srcdir)/m4-gl/__inline.m4 \ + $(top_srcdir)/m4-gl/absolute-header.m4 \ + $(top_srcdir)/m4-gl/extensions.m4 \ + $(top_srcdir)/m4-gl/extern-inline.m4 \ + $(top_srcdir)/m4-gl/gnulib-common.m4 \ + $(top_srcdir)/m4-gl/gnulib-comp.m4 \ + $(top_srcdir)/m4-gl/include_next.m4 \ + $(top_srcdir)/m4-gl/ld-version-script.m4 \ + $(top_srcdir)/m4-gl/limits-h.m4 \ + $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \ + $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \ + $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \ + $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \ + $(top_srcdir)/m4-gl/strverscmp.m4 \ + $(top_srcdir)/m4-gl/sys_types_h.m4 \ + $(top_srcdir)/m4-gl/valgrind-tests.m4 \ + $(top_srcdir)/m4-gl/visibility.m4 \ + $(top_srcdir)/m4-gl/warn-on-use.m4 \ + $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -183,86 +167,98 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -Test_choice_SOURCES = Test_choice.c -Test_choice_OBJECTS = Test_choice.$(OBJEXT) -Test_choice_LDADD = $(LDADD) -Test_choice_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +am_CVE_2018_1000654_OBJECTS = CVE-2018-1000654.$(OBJEXT) +CVE_2018_1000654_OBJECTS = $(am_CVE_2018_1000654_OBJECTS) +CVE_2018_1000654_LDADD = $(LDADD) +CVE_2018_1000654_DEPENDENCIES = ../lib/libtasn1.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = +Test_choice_SOURCES = Test_choice.c +Test_choice_OBJECTS = Test_choice.$(OBJEXT) +Test_choice_LDADD = $(LDADD) +Test_choice_DEPENDENCIES = ../lib/libtasn1.la Test_choice_ocsp_SOURCES = Test_choice_ocsp.c Test_choice_ocsp_OBJECTS = Test_choice_ocsp.$(OBJEXT) Test_choice_ocsp_LDADD = $(LDADD) -Test_choice_ocsp_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_choice_ocsp_DEPENDENCIES = ../lib/libtasn1.la Test_encdec_SOURCES = Test_encdec.c Test_encdec_OBJECTS = Test_encdec.$(OBJEXT) Test_encdec_LDADD = $(LDADD) -Test_encdec_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_encdec_DEPENDENCIES = ../lib/libtasn1.la Test_encoding_SOURCES = Test_encoding.c Test_encoding_OBJECTS = Test_encoding.$(OBJEXT) Test_encoding_LDADD = $(LDADD) -Test_encoding_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_encoding_DEPENDENCIES = ../lib/libtasn1.la Test_errors_SOURCES = Test_errors.c Test_errors_OBJECTS = Test_errors.$(OBJEXT) Test_errors_LDADD = $(LDADD) -Test_errors_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_errors_DEPENDENCIES = ../lib/libtasn1.la Test_indefinite_SOURCES = Test_indefinite.c Test_indefinite_OBJECTS = Test_indefinite.$(OBJEXT) Test_indefinite_LDADD = $(LDADD) -Test_indefinite_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_indefinite_DEPENDENCIES = ../lib/libtasn1.la Test_overflow_SOURCES = Test_overflow.c Test_overflow_OBJECTS = Test_overflow.$(OBJEXT) Test_overflow_LDADD = $(LDADD) -Test_overflow_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_overflow_DEPENDENCIES = ../lib/libtasn1.la Test_parser_SOURCES = Test_parser.c Test_parser_OBJECTS = Test_parser.$(OBJEXT) Test_parser_LDADD = $(LDADD) -Test_parser_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_parser_DEPENDENCIES = ../lib/libtasn1.la Test_simple_SOURCES = Test_simple.c Test_simple_OBJECTS = Test_simple.$(OBJEXT) Test_simple_LDADD = $(LDADD) -Test_simple_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_simple_DEPENDENCIES = ../lib/libtasn1.la Test_strings_SOURCES = Test_strings.c Test_strings_OBJECTS = Test_strings.$(OBJEXT) Test_strings_LDADD = $(LDADD) -Test_strings_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_strings_DEPENDENCIES = ../lib/libtasn1.la Test_tree_SOURCES = Test_tree.c Test_tree_OBJECTS = Test_tree.$(OBJEXT) Test_tree_LDADD = $(LDADD) -Test_tree_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +Test_tree_DEPENDENCIES = ../lib/libtasn1.la coding_decoding2_SOURCES = coding-decoding2.c coding_decoding2_OBJECTS = coding-decoding2.$(OBJEXT) coding_decoding2_LDADD = $(LDADD) -coding_decoding2_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +coding_decoding2_DEPENDENCIES = ../lib/libtasn1.la coding_long_oid_SOURCES = coding-long-oid.c coding_long_oid_OBJECTS = coding-long-oid.$(OBJEXT) coding_long_oid_LDADD = $(LDADD) -coding_long_oid_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +coding_long_oid_DEPENDENCIES = ../lib/libtasn1.la copynode_SOURCES = copynode.c copynode_OBJECTS = copynode.$(OBJEXT) copynode_LDADD = $(LDADD) -copynode_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +copynode_DEPENDENCIES = ../lib/libtasn1.la object_id_decoding_SOURCES = object-id-decoding.c object_id_decoding_OBJECTS = object-id-decoding.$(OBJEXT) object_id_decoding_LDADD = $(LDADD) -object_id_decoding_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +object_id_decoding_DEPENDENCIES = ../lib/libtasn1.la ocsp_basic_response_SOURCES = ocsp-basic-response.c ocsp_basic_response_OBJECTS = ocsp-basic-response.$(OBJEXT) ocsp_basic_response_LDADD = $(LDADD) -ocsp_basic_response_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +ocsp_basic_response_DEPENDENCIES = ../lib/libtasn1.la octet_string_SOURCES = octet-string.c octet_string_OBJECTS = octet-string.$(OBJEXT) octet_string_LDADD = $(LDADD) -octet_string_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +octet_string_DEPENDENCIES = ../lib/libtasn1.la +setof_SOURCES = setof.c +setof_OBJECTS = setof.$(OBJEXT) +setof_LDADD = $(LDADD) +setof_DEPENDENCIES = ../lib/libtasn1.la +single_node_SOURCES = single_node.c +single_node_OBJECTS = single_node.$(OBJEXT) +single_node_LDADD = $(LDADD) +single_node_DEPENDENCIES = ../lib/libtasn1.la spc_pe_image_data_SOURCES = spc_pe_image_data.c spc_pe_image_data_OBJECTS = spc_pe_image_data.$(OBJEXT) spc_pe_image_data_LDADD = $(LDADD) -spc_pe_image_data_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +spc_pe_image_data_DEPENDENCIES = ../lib/libtasn1.la strict_der_SOURCES = strict-der.c strict_der_OBJECTS = strict-der.$(OBJEXT) strict_der_LDADD = $(LDADD) -strict_der_DEPENDENCIES = ../lib/libtasn1.la ../gl/libgnu.la +strict_der_DEPENDENCIES = ../lib/libtasn1.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -277,7 +273,19 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/CVE-2018-1000654.Po \ + ./$(DEPDIR)/Test_choice.Po ./$(DEPDIR)/Test_choice_ocsp.Po \ + ./$(DEPDIR)/Test_encdec.Po ./$(DEPDIR)/Test_encoding.Po \ + ./$(DEPDIR)/Test_errors.Po ./$(DEPDIR)/Test_indefinite.Po \ + ./$(DEPDIR)/Test_overflow.Po ./$(DEPDIR)/Test_parser.Po \ + ./$(DEPDIR)/Test_simple.Po ./$(DEPDIR)/Test_strings.Po \ + ./$(DEPDIR)/Test_tree.Po ./$(DEPDIR)/coding-decoding2.Po \ + ./$(DEPDIR)/coding-long-oid.Po ./$(DEPDIR)/copynode.Po \ + ./$(DEPDIR)/object-id-decoding.Po \ + ./$(DEPDIR)/ocsp-basic-response.Po ./$(DEPDIR)/octet-string.Po \ + ./$(DEPDIR)/setof.Po ./$(DEPDIR)/single_node.Po \ + ./$(DEPDIR)/spc_pe_image_data.Po ./$(DEPDIR)/strict-der.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -297,17 +305,18 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = Test_choice.c Test_choice_ocsp.c Test_encdec.c \ - Test_encoding.c Test_errors.c Test_indefinite.c \ - Test_overflow.c Test_parser.c Test_simple.c Test_strings.c \ - Test_tree.c coding-decoding2.c coding-long-oid.c copynode.c \ - object-id-decoding.c ocsp-basic-response.c octet-string.c \ - spc_pe_image_data.c strict-der.c -DIST_SOURCES = Test_choice.c Test_choice_ocsp.c Test_encdec.c \ - Test_encoding.c Test_errors.c Test_indefinite.c \ +SOURCES = $(CVE_2018_1000654_SOURCES) Test_choice.c Test_choice_ocsp.c \ + Test_encdec.c Test_encoding.c Test_errors.c Test_indefinite.c \ Test_overflow.c Test_parser.c Test_simple.c Test_strings.c \ Test_tree.c coding-decoding2.c coding-long-oid.c copynode.c \ object-id-decoding.c ocsp-basic-response.c octet-string.c \ + setof.c single_node.c spc_pe_image_data.c strict-der.c +DIST_SOURCES = $(CVE_2018_1000654_SOURCES) Test_choice.c \ + Test_choice_ocsp.c Test_encdec.c Test_encoding.c Test_errors.c \ + Test_indefinite.c Test_overflow.c Test_parser.c Test_simple.c \ + Test_strings.c Test_tree.c coding-decoding2.c \ + coding-long-oid.c copynode.c object-id-decoding.c \ + ocsp-basic-response.c octet-string.c setof.c single_node.c \ spc_pe_image_data.c strict-der.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -548,6 +557,10 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AS = @AS@ +ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@ +ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@ +ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@ +ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -561,6 +574,11 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ +CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ +CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ +CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ +CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ @@ -574,86 +592,13 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ -EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ -ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ -ENOLINK_VALUE = @ENOLINK_VALUE@ -EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ -EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ -ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GNULIB_ATOLL = @GNULIB_ATOLL@ -GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ -GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CHDIR = @GNULIB_CHDIR@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_DPRINTF = @GNULIB_DPRINTF@ -GNULIB_DUP = @GNULIB_DUP@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_DUP3 = @GNULIB_DUP3@ -GNULIB_ENVIRON = @GNULIB_ENVIRON@ -GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ -GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ -GNULIB_FCLOSE = @GNULIB_FCLOSE@ -GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ -GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GCOV = @GCOV@ +GENHTML = @GENHTML@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ -GNULIB_FGETC = @GNULIB_FGETC@ -GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FOPEN = @GNULIB_FOPEN@ -GNULIB_FPRINTF = @GNULIB_FPRINTF@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FPURGE = @GNULIB_FPURGE@ -GNULIB_FPUTC = @GNULIB_FPUTC@ -GNULIB_FPUTS = @GNULIB_FPUTS@ -GNULIB_FREAD = @GNULIB_FREAD@ -GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FSCANF = @GNULIB_FSCANF@ -GNULIB_FSEEK = @GNULIB_FSEEK@ -GNULIB_FSEEKO = @GNULIB_FSEEKO@ -GNULIB_FSTAT = @GNULIB_FSTAT@ -GNULIB_FSTATAT = @GNULIB_FSTATAT@ -GNULIB_FSYNC = @GNULIB_FSYNC@ -GNULIB_FTELL = @GNULIB_FTELL@ -GNULIB_FTELLO = @GNULIB_FTELLO@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ -GNULIB_FWRITE = @GNULIB_FWRITE@ -GNULIB_GETC = @GNULIB_GETC@ -GNULIB_GETCHAR = @GNULIB_GETCHAR@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETDELIM = @GNULIB_GETDELIM@ -GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ -GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ -GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ -GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ -GNULIB_GETLINE = @GNULIB_GETLINE@ -GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ -GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ -GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ -GNULIB_GRANTPT = @GNULIB_GRANTPT@ -GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_LCHMOD = @GNULIB_LCHMOD@ -GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LINK = @GNULIB_LINK@ -GNULIB_LINKAT = @GNULIB_LINKAT@ -GNULIB_LSEEK = @GNULIB_LSEEK@ -GNULIB_LSTAT = @GNULIB_LSTAT@ -GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ @@ -668,66 +613,12 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKFIFO = @GNULIB_MKFIFO@ -GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ -GNULIB_MKNOD = @GNULIB_MKNOD@ -GNULIB_MKNODAT = @GNULIB_MKNODAT@ -GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ -GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ -GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ -GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ -GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ -GNULIB_PCLOSE = @GNULIB_PCLOSE@ -GNULIB_PERROR = @GNULIB_PERROR@ -GNULIB_PIPE = @GNULIB_PIPE@ -GNULIB_PIPE2 = @GNULIB_PIPE2@ -GNULIB_POPEN = @GNULIB_POPEN@ -GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_PREAD = @GNULIB_PREAD@ -GNULIB_PRINTF = @GNULIB_PRINTF@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_PTSNAME = @GNULIB_PTSNAME@ -GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ -GNULIB_PUTC = @GNULIB_PUTC@ -GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ -GNULIB_PUTENV = @GNULIB_PUTENV@ -GNULIB_PUTS = @GNULIB_PUTS@ -GNULIB_PWRITE = @GNULIB_PWRITE@ -GNULIB_QSORT_R = @GNULIB_QSORT_R@ -GNULIB_RANDOM = @GNULIB_RANDOM@ -GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ -GNULIB_READ = @GNULIB_READ@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_READLINKAT = @GNULIB_READLINKAT@ -GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ -GNULIB_REALPATH = @GNULIB_REALPATH@ -GNULIB_REMOVE = @GNULIB_REMOVE@ -GNULIB_RENAME = @GNULIB_RENAME@ -GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANF = @GNULIB_SCANF@ -GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ -GNULIB_SETENV = @GNULIB_SETENV@ -GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ -GNULIB_SLEEP = @GNULIB_SLEEP@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STAT = @GNULIB_STAT@ -GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ -GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ @@ -739,196 +630,55 @@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ -GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOLL = @GNULIB_STRTOLL@ -GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ -GNULIB_SYMLINK = @GNULIB_SYMLINK@ -GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ -GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TIMEGM = @GNULIB_TIMEGM@ -GNULIB_TIME_R = @GNULIB_TIME_R@ -GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ -GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ -GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ -GNULIB_UNLINK = @GNULIB_UNLINK@ -GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ -GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ -GNULIB_UNSETENV = @GNULIB_UNSETENV@ -GNULIB_USLEEP = @GNULIB_USLEEP@ -GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ -GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ -GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ -GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VFSCANF = @GNULIB_VFSCANF@ -GNULIB_VPRINTF = @GNULIB_VPRINTF@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSCANF = @GNULIB_VSCANF@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNULIB_WCTOMB = @GNULIB_WCTOMB@ -GNULIB_WRITE = @GNULIB_WRITE@ -GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_ATOLL = @HAVE_ATOLL@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ -HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ -HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ -HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ -HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ -HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ -HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ -HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ -HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ -HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ -HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ -HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ -HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ -HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_DUP3 = @HAVE_DUP3@ -HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_FACCESSAT = @HAVE_FACCESSAT@ -HAVE_FCHDIR = @HAVE_FCHDIR@ -HAVE_FCHMODAT = @HAVE_FCHMODAT@ -HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ -HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FSEEKO = @HAVE_FSEEKO@ -HAVE_FSTATAT = @HAVE_FSTATAT@ -HAVE_FSYNC = @HAVE_FSYNC@ -HAVE_FTELLO = @HAVE_FTELLO@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_FUTIMENS = @HAVE_FUTIMENS@ -HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ -HAVE_GETGROUPS = @HAVE_GETGROUPS@ -HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ -HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ -HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ -HAVE_GRANTPT = @HAVE_GRANTPT@ -HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LCHMOD = @HAVE_LCHMOD@ -HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LINK = @HAVE_LINK@ -HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDIRAT = @HAVE_MKDIRAT@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_MKFIFO = @HAVE_MKFIFO@ -HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ -HAVE_MKNOD = @HAVE_MKNOD@ -HAVE_MKNODAT = @HAVE_MKNODAT@ -HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ -HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ -HAVE_MKSTEMP = @HAVE_MKSTEMP@ -HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ -HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ -HAVE_OS_H = @HAVE_OS_H@ -HAVE_PCLOSE = @HAVE_PCLOSE@ -HAVE_PIPE = @HAVE_PIPE@ -HAVE_PIPE2 = @HAVE_PIPE2@ -HAVE_POPEN = @HAVE_POPEN@ -HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ -HAVE_PREAD = @HAVE_PREAD@ -HAVE_PTSNAME = @HAVE_PTSNAME@ -HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ -HAVE_PWRITE = @HAVE_PWRITE@ -HAVE_QSORT_R = @HAVE_QSORT_R@ -HAVE_RANDOM = @HAVE_RANDOM@ -HAVE_RANDOM_H = @HAVE_RANDOM_H@ -HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_READLINKAT = @HAVE_READLINKAT@ -HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ -HAVE_SETENV = @HAVE_SETENV@ -HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRTOD = @HAVE_STRTOD@ -HAVE_STRTOLL = @HAVE_STRTOLL@ -HAVE_STRTOULL = @HAVE_STRTOULL@ -HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ -HAVE_SYMLINK = @HAVE_SYMLINK@ -HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ -HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_TIMEGM = @HAVE_TIMEGM@ -HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNLINKAT = @HAVE_UNLINKAT@ -HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_USLEEP = @HAVE_USLEEP@ -HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VASPRINTF = @HAVE_VASPRINTF@ -HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -938,52 +688,34 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ -LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ -LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIMITS_H = @LIMITS_H@ LIPO = @LIPO@ LN_S = @LN_S@ -LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ -NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ -NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ -NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ -NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ -NEXT_ERRNO_H = @NEXT_ERRNO_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ -NEXT_STDIO_H = @NEXT_STDIO_H@ -NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ -NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ -NEXT_TIME_H = @NEXT_TIME_H@ -NEXT_UNISTD_H = @NEXT_UNISTD_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -999,91 +731,13 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PMCCABE = @PMCCABE@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ -PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ -REPLACE_CALLOC = @REPLACE_CALLOC@ -REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_DPRINTF = @REPLACE_DPRINTF@ -REPLACE_DUP = @REPLACE_DUP@ -REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ -REPLACE_FCLOSE = @REPLACE_FCLOSE@ -REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FOPEN = @REPLACE_FOPEN@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_FPURGE = @REPLACE_FPURGE@ -REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FSEEK = @REPLACE_FSEEK@ -REPLACE_FSEEKO = @REPLACE_FSEEKO@ -REPLACE_FSTAT = @REPLACE_FSTAT@ -REPLACE_FSTATAT = @REPLACE_FSTATAT@ -REPLACE_FTELL = @REPLACE_FTELL@ -REPLACE_FTELLO = @REPLACE_FTELLO@ -REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ -REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETDELIM = @REPLACE_GETDELIM@ -REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ -REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ -REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ -REPLACE_GETLINE = @REPLACE_GETLINE@ -REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ -REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_GMTIME = @REPLACE_GMTIME@ -REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LINK = @REPLACE_LINK@ -REPLACE_LINKAT = @REPLACE_LINKAT@ -REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LSEEK = @REPLACE_LSEEK@ -REPLACE_LSTAT = @REPLACE_LSTAT@ -REPLACE_MALLOC = @REPLACE_MALLOC@ -REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ -REPLACE_MKDIR = @REPLACE_MKDIR@ -REPLACE_MKFIFO = @REPLACE_MKFIFO@ -REPLACE_MKNOD = @REPLACE_MKNOD@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ -REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ -REPLACE_PERROR = @REPLACE_PERROR@ -REPLACE_POPEN = @REPLACE_POPEN@ -REPLACE_PREAD = @REPLACE_PREAD@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_PTSNAME = @REPLACE_PTSNAME@ -REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ -REPLACE_PUTENV = @REPLACE_PUTENV@ -REPLACE_PWRITE = @REPLACE_PWRITE@ -REPLACE_QSORT_R = @REPLACE_QSORT_R@ -REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ -REPLACE_READ = @REPLACE_READ@ -REPLACE_READLINK = @REPLACE_READLINK@ -REPLACE_READLINKAT = @REPLACE_READLINKAT@ -REPLACE_REALLOC = @REPLACE_REALLOC@ -REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMOVE = @REPLACE_REMOVE@ -REPLACE_RENAME = @REPLACE_RENAME@ -REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ -REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SLEEP = @REPLACE_SLEEP@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STAT = @REPLACE_STAT@ -REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ -REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1095,48 +749,22 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ -REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ -REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ -REPLACE_SYMLINK = @REPLACE_SYMLINK@ -REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ -REPLACE_UNLINK = @REPLACE_UNLINK@ -REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ -REPLACE_UNSETENV = @REPLACE_UNSETENV@ -REPLACE_USLEEP = @REPLACE_USLEEP@ -REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ -REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ -REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -REPLACE_WCTOMB = @REPLACE_WCTOMB@ -REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDARG_H = @STDARG_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ -UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ -UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ -UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ -WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ YACC = @YACC@ YFLAGS = @YFLAGS@ @@ -1175,14 +803,11 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ +ifGNUmake = @ifGNUmake@ +ifnGNUmake = @ifnGNUmake@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -lgl_LIBOBJS = @lgl_LIBOBJS@ -lgl_LTLIBOBJS = @lgl_LTLIBOBJS@ -lgltests_LIBOBJS = @lgltests_LIBOBJS@ -lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@ -lgltests_WITNESS = @lgltests_WITNESS@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ @@ -1204,15 +829,17 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAG_VISIBILITY) -AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/gl -I../gl +AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes AM_LDFLAGS = -no-install -LDADD = ../lib/libtasn1.la ../gl/libgnu.la +LDADD = ../lib/libtasn1.la +BUILT_SOURCES = CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h # For crlf. EXTRA_DIST = Test_parser.asn Test_tree.asn Test_tree_asn1_tab.c \ mscat.asn Test_encoding.asn pkix.asn TestIndef.p12 choice.asn \ coding-decoding2.asn TestIndef2.p12 TestIndef3.der \ - TestCertOctetOverflow.der cert-invalid-time.der libtasn1.supp \ + TestCertOctetOverflow.der cert-invalid-time.der setof.asn \ + CVE-2018-1000654-1.asn CVE-2018-1000654-2.asn libtasn1.supp \ ocsp-basic-response.der spc_pe_image_data.der \ invalid-x509/id-000000.der invalid-x509/id-000001.der \ invalid-x509/id-000002.der invalid-x509/id-000003.der \ @@ -1234,17 +861,20 @@ EXTRA_DIST = Test_parser.asn Test_tree.asn Test_tree_asn1_tab.c \ invalid-x509/id-000034.der invalid-x509/id-000035.der \ invalid-pkcs7/id-000001.der invalid-pkcs7/id-000002.der \ invalid-pkcs7/id-000003.der invalid-assignments1.txt \ - invalid-assignments2.txt crlf.cer crl.der ocsp.der + invalid-assignments2.txt pkix.asn.out crlf.cer crl.der \ + ocsp.der dist_check_SCRIPTS = crlf benchmark threadsafety decoding decoding-invalid-x509 \ - decoding-invalid-pkcs7 coding + decoding-invalid-pkcs7 coding parser.sh -MOSTLYCLEANFILES = Test_parser_ERROR.asn +MOSTLYCLEANFILES = Test_parser_ERROR.asn CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h +CVE_2018_1000654_SOURCES = CVE-2018-1000654-1_asn1_tab.h CVE-2018-1000654-2_asn1_tab.h CVE-2018-1000654.c TESTS_ENVIRONMENT = \ ASN1PARSER=$(srcdir)/Test_parser.asn \ ASN1TREE=$(srcdir)/Test_tree.asn \ ASN1CHOICE=$(srcdir)/choice.asn \ ASN1CODINGDECODING2=$(srcdir)/coding-decoding2.asn \ ASN1PKIX=$(srcdir)/pkix.asn \ + ASN1SETOF=$(srcdir)/setof.asn \ ASN1CRLDER=$(srcdir)/crl.der \ ASN1INDEF=$(srcdir)/TestIndef.p12 \ ASN1INDEF2=$(srcdir)/TestIndef2.p12 \ @@ -1258,10 +888,10 @@ TESTS_ENVIRONMENT = \ ASAN_OPTIONS="detect_leaks=0:exitcode=6" \ THREADSAFETY_FILES=`find $(top_srcdir)/lib -name \*.c` \ EXEEXT=$(EXEEXT) \ - LSAN_OPTIONS=suppressions=libtasn1.supp \ - $(VALGRIND) + LSAN_OPTIONS=suppressions=libtasn1.supp -all: all-am +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs @@ -1274,16 +904,16 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Makefile + $(AUTOMAKE) --foreign tests/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -1304,6 +934,10 @@ clean-checkPROGRAMS: echo " rm -f" $$list; \ rm -f $$list +CVE-2018-1000654$(EXEEXT): $(CVE_2018_1000654_OBJECTS) $(CVE_2018_1000654_DEPENDENCIES) $(EXTRA_CVE_2018_1000654_DEPENDENCIES) + @rm -f CVE-2018-1000654$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(CVE_2018_1000654_OBJECTS) $(CVE_2018_1000654_LDADD) $(LIBS) + Test_choice$(EXEEXT): $(Test_choice_OBJECTS) $(Test_choice_DEPENDENCIES) $(EXTRA_Test_choice_DEPENDENCIES) @rm -f Test_choice$(EXEEXT) $(AM_V_CCLD)$(LINK) $(Test_choice_OBJECTS) $(Test_choice_LDADD) $(LIBS) @@ -1372,6 +1006,14 @@ octet-string$(EXEEXT): $(octet_string_OBJECTS) $(octet_string_DEPENDENCIES) $(EX @rm -f octet-string$(EXEEXT) $(AM_V_CCLD)$(LINK) $(octet_string_OBJECTS) $(octet_string_LDADD) $(LIBS) +setof$(EXEEXT): $(setof_OBJECTS) $(setof_DEPENDENCIES) $(EXTRA_setof_DEPENDENCIES) + @rm -f setof$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(setof_OBJECTS) $(setof_LDADD) $(LIBS) + +single_node$(EXEEXT): $(single_node_OBJECTS) $(single_node_DEPENDENCIES) $(EXTRA_single_node_DEPENDENCIES) + @rm -f single_node$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(single_node_OBJECTS) $(single_node_LDADD) $(LIBS) + spc_pe_image_data$(EXEEXT): $(spc_pe_image_data_OBJECTS) $(spc_pe_image_data_DEPENDENCIES) $(EXTRA_spc_pe_image_data_DEPENDENCIES) @rm -f spc_pe_image_data$(EXEEXT) $(AM_V_CCLD)$(LINK) $(spc_pe_image_data_OBJECTS) $(spc_pe_image_data_LDADD) $(LIBS) @@ -1386,25 +1028,34 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_choice.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_choice_ocsp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_encdec.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_encoding.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_errors.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_indefinite.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_overflow.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_parser.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_simple.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_strings.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_tree.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coding-decoding2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coding-long-oid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copynode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object-id-decoding.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ocsp-basic-response.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/octet-string.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spc_pe_image_data.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strict-der.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CVE-2018-1000654.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_choice.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_choice_ocsp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_encdec.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_encoding.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_errors.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_indefinite.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_overflow.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_parser.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_simple.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_strings.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Test_tree.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coding-decoding2.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coding-long-oid.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copynode.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object-id-decoding.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ocsp-basic-response.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/octet-string.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setof.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/single_node.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spc_pe_image_data.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strict-der.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -1605,7 +1256,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: $(check_PROGRAMS) $(dist_check_SCRIPTS) @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -1801,6 +1452,34 @@ coding.log: coding --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +setof.log: setof$(EXEEXT) + @p='setof$(EXEEXT)'; \ + b='setof'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +CVE-2018-1000654.log: CVE-2018-1000654$(EXEEXT) + @p='CVE-2018-1000654$(EXEEXT)'; \ + b='CVE-2018-1000654'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +parser.sh.log: parser.sh + @p='parser.sh'; \ + b='parser.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +single_node.log: single_node$(EXEEXT) + @p='single_node$(EXEEXT)'; \ + b='single_node'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ @@ -1816,7 +1495,10 @@ coding.log: coding @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1850,10 +1532,12 @@ check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \ $(dist_check_SCRIPTS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile installdirs: -install: install-am +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -1887,13 +1571,35 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/CVE-2018-1000654.Po + -rm -f ./$(DEPDIR)/Test_choice.Po + -rm -f ./$(DEPDIR)/Test_choice_ocsp.Po + -rm -f ./$(DEPDIR)/Test_encdec.Po + -rm -f ./$(DEPDIR)/Test_encoding.Po + -rm -f ./$(DEPDIR)/Test_errors.Po + -rm -f ./$(DEPDIR)/Test_indefinite.Po + -rm -f ./$(DEPDIR)/Test_overflow.Po + -rm -f ./$(DEPDIR)/Test_parser.Po + -rm -f ./$(DEPDIR)/Test_simple.Po + -rm -f ./$(DEPDIR)/Test_strings.Po + -rm -f ./$(DEPDIR)/Test_tree.Po + -rm -f ./$(DEPDIR)/coding-decoding2.Po + -rm -f ./$(DEPDIR)/coding-long-oid.Po + -rm -f ./$(DEPDIR)/copynode.Po + -rm -f ./$(DEPDIR)/object-id-decoding.Po + -rm -f ./$(DEPDIR)/ocsp-basic-response.Po + -rm -f ./$(DEPDIR)/octet-string.Po + -rm -f ./$(DEPDIR)/setof.Po + -rm -f ./$(DEPDIR)/single_node.Po + -rm -f ./$(DEPDIR)/spc_pe_image_data.Po + -rm -f ./$(DEPDIR)/strict-der.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1939,7 +1645,28 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/CVE-2018-1000654.Po + -rm -f ./$(DEPDIR)/Test_choice.Po + -rm -f ./$(DEPDIR)/Test_choice_ocsp.Po + -rm -f ./$(DEPDIR)/Test_encdec.Po + -rm -f ./$(DEPDIR)/Test_encoding.Po + -rm -f ./$(DEPDIR)/Test_errors.Po + -rm -f ./$(DEPDIR)/Test_indefinite.Po + -rm -f ./$(DEPDIR)/Test_overflow.Po + -rm -f ./$(DEPDIR)/Test_parser.Po + -rm -f ./$(DEPDIR)/Test_simple.Po + -rm -f ./$(DEPDIR)/Test_strings.Po + -rm -f ./$(DEPDIR)/Test_tree.Po + -rm -f ./$(DEPDIR)/coding-decoding2.Po + -rm -f ./$(DEPDIR)/coding-long-oid.Po + -rm -f ./$(DEPDIR)/copynode.Po + -rm -f ./$(DEPDIR)/object-id-decoding.Po + -rm -f ./$(DEPDIR)/ocsp-basic-response.Po + -rm -f ./$(DEPDIR)/octet-string.Po + -rm -f ./$(DEPDIR)/setof.Po + -rm -f ./$(DEPDIR)/single_node.Po + -rm -f ./$(DEPDIR)/spc_pe_image_data.Po + -rm -f ./$(DEPDIR)/strict-der.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1958,18 +1685,18 @@ ps-am: uninstall-am: -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ +.MAKE: all check check-am install install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am @@ -1977,6 +1704,12 @@ uninstall-am: .PRECIOUS: Makefile +CVE-2018-1000654-1_asn1_tab.h: $(srcdir)/CVE-2018-1000654-1.asn + $(top_builddir)/src/asn1Parser$(EXEEXT) $^ -o $@ + +CVE-2018-1000654-2_asn1_tab.h: $(srcdir)/CVE-2018-1000654-2.asn + $(top_builddir)/src/asn1Parser$(EXEEXT) $^ -o $@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/tests/Test_encdec.c b/tests/Test_encdec.c index 9b49e72..2080e55 100644 --- a/tests/Test_encdec.c +++ b/tests/Test_encdec.c @@ -164,8 +164,8 @@ main (int argc, char *argv[]) printf ("Cannot encode data (size %ld)\n", (long) size); exit (1); } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) + + if (size2 != size || memcmp(buffer, buffer2, size) != 0) { printf("DER encoded data differ!\n"); exit(1); diff --git a/tests/Test_strings.c b/tests/Test_strings.c index 83a73cc..bd38bb6 100644 --- a/tests/Test_strings.c +++ b/tests/Test_strings.c @@ -56,7 +56,7 @@ static const struct tv tv[] = { #define SSTR(x) sizeof(x)-1,x static const struct tv ber[] = { - {ASN1_ETYPE_OCTET_STRING, + {ASN1_ETYPE_OCTET_STRING, SSTR("\xa0\xa0"), SSTR("\x24\x80\x04\x82\x00\x02\xa0\xa0\x00\x00")}, {ASN1_ETYPE_OCTET_STRING, diff --git a/tests/Test_tree.c b/tests/Test_tree.c index 0b6a7df..c8a631a 100644 --- a/tests/Test_tree.c +++ b/tests/Test_tree.c @@ -790,7 +790,7 @@ main (int argc, char *argv[]) printf (" Error expected: %s - %d - ", asn1_strerror (test->errorNumber), test->par3); for (k = 0; k < test->par3; k++) - printf ("%02x", test->par2[k]); + printf ("%02x", (unsigned int)test->par2[k]); printf ("\n Error detected: %s - %d - ", asn1_strerror (result), valueLen); for (k = 0; k < valueLen; k++) diff --git a/tests/copynode.c b/tests/copynode.c index 29a8a51..58181ce 100644 --- a/tests/copynode.c +++ b/tests/copynode.c @@ -144,8 +144,8 @@ main (int argc, char *argv[]) printf ("Cannot encode data (size %ld)\n", (long) size); exit (1); } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) + + if (size2 != size || memcmp(buffer, buffer2, size) != 0) { printf("DER encoded data differ!\n"); exit(1); @@ -170,8 +170,8 @@ main (int argc, char *argv[]) printf ("Cannot encode data (size %ld)\n", (long) size); exit (1); } - - if (size2 != size || memcmp(buffer, buffer2, size) != 0) + + if (size2 != size || memcmp(buffer, buffer2, size) != 0) { printf("DER encoded data differ!\n"); exit(1); diff --git a/tests/ocsp-basic-response.c b/tests/ocsp-basic-response.c index 3a190a8..252a87e 100644 --- a/tests/ocsp-basic-response.c +++ b/tests/ocsp-basic-response.c @@ -106,8 +106,6 @@ main (int argc, char** argv) exit (1); } - - len = sizeof(data); result = asn1_read_value(node1, "tbsResponseData.responderID.byKey", data, &len); if (result != ASN1_SUCCESS) diff --git a/tests/parser.sh b/tests/parser.sh new file mode 100755 index 0000000..b8924e4 --- /dev/null +++ b/tests/parser.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# Copyright (C) 2019 Red Hat, Inc. +# +# This program 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. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +PARSER="${PARSER:-../src/asn1Parser${EXEEXT}}" +srcdir="${srcdir:-.}" +TMPFILE=pkix.asn.$$.tmp + +${PARSER} ${srcdir}/pkix.asn -o ${TMPFILE} + +if test $? != 0;then + echo "Cannot generate C file!" + exit 1 +fi + +diff --strip-trailing-cr ${TMPFILE} ${srcdir}/pkix.asn.out + +if test $? != 0;then + echo "Generated C file differs!" + exit 1 +fi + +rm -f ${TMPFILE} + +exit 0 diff --git a/tests/pkix.asn b/tests/pkix.asn index efdf95e..e3c10e3 100644 --- a/tests/pkix.asn +++ b/tests/pkix.asn @@ -939,7 +939,7 @@ pkcs-7-ContentInfo ::= SEQUENCE { pkcs-7-DigestInfo ::= SEQUENCE { digestAlgorithm AlgorithmIdentifier, - digest OCTET STRING + digest OCTET STRING } pkcs-7-SignedData ::= SEQUENCE { @@ -948,7 +948,7 @@ pkcs-7-SignedData ::= SEQUENCE { encapContentInfo pkcs-7-EncapsulatedContentInfo, certificates [0] IMPLICIT pkcs-7-CertificateSet OPTIONAL, crls [1] IMPLICIT pkcs-7-CertificateRevocationLists OPTIONAL, - signerInfos pkcs-7-SignerInfos + signerInfos pkcs-7-SignerInfos } pkcs-7-DigestAlgorithmIdentifiers ::= SET OF AlgorithmIdentifier @@ -1263,7 +1263,7 @@ ResponseData ::= SEQUENCE { ResponderID ::= CHOICE { -- Changed to work with the libtasn1 parser. byName [1] EXPLICIT RDNSequence, --Name - byKey [2] EXPLICIT OCTET STRING --SHA-1 hash of responder's public key + byKey [2] EXPLICIT OCTET STRING --SHA-1 hash of responder's public key } CertID ::= SEQUENCE { diff --git a/tests/pkix.asn.out b/tests/pkix.asn.out new file mode 100644 index 0000000..a106fd6 --- /dev/null +++ b/tests/pkix.asn.out @@ -0,0 +1,1166 @@ +#if HAVE_CONFIG_H +# include "config.h" +#endif + +#include <libtasn1.h> + +const asn1_static_node pkix_asn1_tab[] = { + { "PKIX1", 536875024, NULL }, + { NULL, 1073741836, NULL }, + { "id-ce", 1879048204, NULL }, + { "joint-iso-ccitt", 1073741825, "2"}, + { "ds", 1073741825, "5"}, + { NULL, 1, "29"}, + { "id-ce-authorityKeyIdentifier", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "35"}, + { "AuthorityKeyIdentifier", 1610612741, NULL }, + { "keyIdentifier", 1610637314, "KeyIdentifier"}, + { NULL, 4104, "0"}, + { "authorityCertIssuer", 1610637314, "GeneralNames"}, + { NULL, 4104, "1"}, + { "authorityCertSerialNumber", 536895490, "CertificateSerialNumber"}, + { NULL, 4104, "2"}, + { "KeyIdentifier", 1073741831, NULL }, + { "id-ce-subjectKeyIdentifier", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "14"}, + { "SubjectKeyIdentifier", 1073741826, "KeyIdentifier"}, + { "id-ce-keyUsage", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "15"}, + { "KeyUsage", 1610874886, NULL }, + { "digitalSignature", 1073741825, "0"}, + { "nonRepudiation", 1073741825, "1"}, + { "keyEncipherment", 1073741825, "2"}, + { "dataEncipherment", 1073741825, "3"}, + { "keyAgreement", 1073741825, "4"}, + { "keyCertSign", 1073741825, "5"}, + { "cRLSign", 1073741825, "6"}, + { "encipherOnly", 1073741825, "7"}, + { "decipherOnly", 1, "8"}, + { "id-ce-privateKeyUsagePeriod", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "16"}, + { "PrivateKeyUsagePeriod", 1610612741, NULL }, + { "notBefore", 1610637349, NULL }, + { NULL, 4104, "0"}, + { "notAfter", 536895525, NULL }, + { NULL, 4104, "1"}, + { "id-ce-certificatePolicies", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "32"}, + { "CertificatePolicies", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "PolicyInformation"}, + { "PolicyInformation", 1610612741, NULL }, + { "policyIdentifier", 1073741826, "CertPolicyId"}, + { "policyQualifiers", 538984459, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "PolicyQualifierInfo"}, + { "CertPolicyId", 1073741836, NULL }, + { "PolicyQualifierInfo", 1610612741, NULL }, + { "policyQualifierId", 1073741826, "PolicyQualifierId"}, + { "qualifier", 541065229, NULL }, + { "policyQualifierId", 1, NULL }, + { "PolicyQualifierId", 1073741836, NULL }, + { "CPSuri", 1073741853, NULL }, + { "UserNotice", 1610612741, NULL }, + { "noticeRef", 1073758210, "NoticeReference"}, + { "explicitText", 16386, "DisplayText"}, + { "NoticeReference", 1610612741, NULL }, + { "organization", 1073741826, "DisplayText"}, + { "noticeNumbers", 536870923, NULL }, + { NULL, 3, NULL }, + { "DisplayText", 1610612754, NULL }, + { "visibleString", 1612709923, NULL }, + { "200", 524298, "1"}, + { "bmpString", 1612709921, NULL }, + { "200", 524298, "1"}, + { "utf8String", 538968098, NULL }, + { "200", 524298, "1"}, + { "id-ce-policyMappings", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "33"}, + { "PolicyMappings", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 536870917, NULL }, + { "issuerDomainPolicy", 1073741826, "CertPolicyId"}, + { "subjectDomainPolicy", 2, "CertPolicyId"}, + { "DirectoryString", 1610612754, NULL }, + { "teletexString", 1612709918, NULL }, + { "MAX", 524298, "1"}, + { "printableString", 1612709919, NULL }, + { "MAX", 524298, "1"}, + { "universalString", 1612709920, NULL }, + { "MAX", 524298, "1"}, + { "utf8String", 1612709922, NULL }, + { "MAX", 524298, "1"}, + { "bmpString", 1612709921, NULL }, + { "MAX", 524298, "1"}, + { "ia5String", 538968093, NULL }, + { "MAX", 524298, "1"}, + { "id-ce-subjectAltName", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "17"}, + { "SubjectAltName", 1073741826, "GeneralNames"}, + { "GeneralNames", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "GeneralName"}, + { "GeneralName", 1610612754, NULL }, + { "otherName", 1610620930, "AnotherName"}, + { NULL, 4104, "0"}, + { "rfc822Name", 1610620957, NULL }, + { NULL, 4104, "1"}, + { "dNSName", 1610620957, NULL }, + { NULL, 4104, "2"}, + { "x400Address", 1610620930, "ORAddress"}, + { NULL, 4104, "3"}, + { "directoryName", 1610620930, "RDNSequence"}, + { NULL, 2056, "4"}, + { "ediPartyName", 1610620930, "EDIPartyName"}, + { NULL, 4104, "5"}, + { "uniformResourceIdentifier", 1610620957, NULL }, + { NULL, 4104, "6"}, + { "iPAddress", 1610620935, NULL }, + { NULL, 4104, "7"}, + { "registeredID", 536879116, NULL }, + { NULL, 4104, "8"}, + { "AnotherName", 1610612741, NULL }, + { "type-id", 1073741836, NULL }, + { "value", 541073421, NULL }, + { NULL, 1073743880, "0"}, + { "type-id", 1, NULL }, + { "EDIPartyName", 1610612741, NULL }, + { "nameAssigner", 1610637314, "DirectoryString"}, + { NULL, 4104, "0"}, + { "partyName", 536879106, "DirectoryString"}, + { NULL, 4104, "1"}, + { "id-ce-issuerAltName", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "18"}, + { "IssuerAltName", 1073741826, "GeneralNames"}, + { "id-ce-subjectDirectoryAttributes", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "9"}, + { "SubjectDirectoryAttributes", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "Attribute"}, + { "id-ce-basicConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "19"}, + { "BasicConstraints", 1610612741, NULL }, + { "cA", 1610645508, NULL }, + { NULL, 131081, NULL }, + { "pathLenConstraint", 537411587, NULL }, + { "0", 10, "MAX"}, + { "id-ce-nameConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "30"}, + { "NameConstraints", 1610612741, NULL }, + { "permittedSubtrees", 1610637314, "GeneralSubtrees"}, + { NULL, 4104, "0"}, + { "excludedSubtrees", 536895490, "GeneralSubtrees"}, + { NULL, 4104, "1"}, + { "GeneralSubtrees", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "GeneralSubtree"}, + { "GeneralSubtree", 1610612741, NULL }, + { "base", 1073741826, "GeneralName"}, + { "minimum", 1610653698, "BaseDistance"}, + { NULL, 1073741833, "0"}, + { NULL, 4104, "0"}, + { "maximum", 536895490, "BaseDistance"}, + { NULL, 4104, "1"}, + { "BaseDistance", 1611137027, NULL }, + { "0", 10, "MAX"}, + { "id-ce-policyConstraints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "36"}, + { "PolicyConstraints", 1610612741, NULL }, + { "requireExplicitPolicy", 1610637314, "SkipCerts"}, + { NULL, 4104, "0"}, + { "inhibitPolicyMapping", 536895490, "SkipCerts"}, + { NULL, 4104, "1"}, + { "SkipCerts", 1611137027, NULL }, + { "0", 10, "MAX"}, + { "id-ce-cRLDistributionPoints", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "31"}, + { "CRLDistributionPoints", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "DistributionPoint"}, + { "DistributionPoint", 1610612741, NULL }, + { "distributionPoint", 1610637314, "DistributionPointName"}, + { NULL, 2056, "0"}, + { "reasons", 1610637314, "ReasonFlags"}, + { NULL, 4104, "1"}, + { "cRLIssuer", 536895490, "GeneralNames"}, + { NULL, 4104, "2"}, + { "DistributionPointName", 1610612754, NULL }, + { "fullName", 1610620930, "GeneralNames"}, + { NULL, 4104, "0"}, + { "nameRelativeToCRLIssuer", 536879106, "RelativeDistinguishedName"}, + { NULL, 4104, "1"}, + { "ReasonFlags", 1610874886, NULL }, + { "unused", 1073741825, "0"}, + { "keyCompromise", 1073741825, "1"}, + { "cACompromise", 1073741825, "2"}, + { "affiliationChanged", 1073741825, "3"}, + { "superseded", 1073741825, "4"}, + { "cessationOfOperation", 1073741825, "5"}, + { "certificateHold", 1073741825, "6"}, + { "privilegeWithdrawn", 1073741825, "7"}, + { "aACompromise", 1, "8"}, + { "id-ce-extKeyUsage", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "37"}, + { "ExtKeyUsageSyntax", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "KeyPurposeId"}, + { "KeyPurposeId", 1073741836, NULL }, + { "id-kp-serverAuth", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "1"}, + { "id-kp-clientAuth", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "2"}, + { "id-kp-codeSigning", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "3"}, + { "id-kp-emailProtection", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "4"}, + { "id-kp-ipsecEndSystem", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "5"}, + { "id-kp-ipsecTunnel", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "6"}, + { "id-kp-ipsecUser", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "7"}, + { "id-kp-timeStamping", 1879048204, NULL }, + { NULL, 1073741825, "id-kp"}, + { NULL, 1, "8"}, + { "id-pe-authorityInfoAccess", 1879048204, NULL }, + { NULL, 1073741825, "id-pe"}, + { NULL, 1, "1"}, + { "AuthorityInfoAccessSyntax", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "AccessDescription"}, + { "AccessDescription", 1610612741, NULL }, + { "accessMethod", 1073741836, NULL }, + { "accessLocation", 2, "GeneralName"}, + { "id-ce-cRLNumber", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "20"}, + { "CRLNumber", 1611137027, NULL }, + { "0", 10, "MAX"}, + { "id-ce-issuingDistributionPoint", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "28"}, + { "IssuingDistributionPoint", 1610612741, NULL }, + { "distributionPoint", 1610637314, "DistributionPointName"}, + { NULL, 4104, "0"}, + { "onlyContainsUserCerts", 1610653700, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "1"}, + { "onlyContainsCACerts", 1610653700, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "2"}, + { "onlySomeReasons", 1610637314, "ReasonFlags"}, + { NULL, 4104, "3"}, + { "indirectCRL", 536911876, NULL }, + { NULL, 1073872905, NULL }, + { NULL, 4104, "4"}, + { "id-ce-deltaCRLIndicator", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "27"}, + { "BaseCRLNumber", 1073741826, "CRLNumber"}, + { "id-ce-cRLReasons", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "21"}, + { "CRLReason", 1610874901, NULL }, + { "unspecified", 1073741825, "0"}, + { "keyCompromise", 1073741825, "1"}, + { "cACompromise", 1073741825, "2"}, + { "affiliationChanged", 1073741825, "3"}, + { "superseded", 1073741825, "4"}, + { "cessationOfOperation", 1073741825, "5"}, + { "certificateHold", 1073741825, "6"}, + { "removeFromCRL", 1, "8"}, + { "id-ce-certificateIssuer", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "29"}, + { "CertificateIssuer", 1073741826, "GeneralNames"}, + { "id-ce-holdInstructionCode", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "23"}, + { "HoldInstructionCode", 1073741836, NULL }, + { "holdInstruction", 1879048204, NULL }, + { "joint-iso-itu-t", 1073741825, "2"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9cm", 1073741825, "10040"}, + { NULL, 1, "2"}, + { "id-holdinstruction-none", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "1"}, + { "id-holdinstruction-callissuer", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "2"}, + { "id-holdinstruction-reject", 1879048204, NULL }, + { NULL, 1073741825, "holdInstruction"}, + { NULL, 1, "3"}, + { "id-ce-invalidityDate", 1879048204, NULL }, + { NULL, 1073741825, "id-ce"}, + { NULL, 1, "24"}, + { "InvalidityDate", 1073741861, NULL }, + { "VisibleString", 1610620935, NULL }, + { NULL, 4360, "26"}, + { "NumericString", 1610620935, NULL }, + { NULL, 4360, "18"}, + { "IA5String", 1610620935, NULL }, + { NULL, 4360, "22"}, + { "TeletexString", 1610620935, NULL }, + { NULL, 4360, "20"}, + { "PrintableString", 1610620935, NULL }, + { NULL, 4360, "19"}, + { "UniversalString", 1610620935, NULL }, + { NULL, 4360, "28"}, + { "BMPString", 1610620935, NULL }, + { NULL, 4360, "30"}, + { "UTF8String", 1610620935, NULL }, + { NULL, 4360, "12"}, + { "id-pkix", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "identified-organization", 1073741825, "3"}, + { "dod", 1073741825, "6"}, + { "internet", 1073741825, "1"}, + { "security", 1073741825, "5"}, + { "mechanisms", 1073741825, "5"}, + { "pkix", 1, "7"}, + { "id-pe", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "1"}, + { "id-qt", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "2"}, + { "id-kp", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "3"}, + { "id-ad", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "48"}, + { "id-qt-cps", 1879048204, NULL }, + { NULL, 1073741825, "id-qt"}, + { NULL, 1, "1"}, + { "id-qt-unotice", 1879048204, NULL }, + { NULL, 1073741825, "id-qt"}, + { NULL, 1, "2"}, + { "id-ad-ocsp", 1879048204, NULL }, + { NULL, 1073741825, "id-ad"}, + { NULL, 1, "1"}, + { "id-ad-caIssuers", 1879048204, NULL }, + { NULL, 1073741825, "id-ad"}, + { NULL, 1, "2"}, + { "Attribute", 1610612741, NULL }, + { "type", 1073741826, "AttributeType"}, + { "values", 536870927, NULL }, + { NULL, 2, "AttributeValue"}, + { "AttributeType", 1073741836, NULL }, + { "AttributeValue", 1614807053, NULL }, + { "type", 1, NULL }, + { "AttributeTypeAndValue", 1610612741, NULL }, + { "type", 1073741826, "AttributeType"}, + { "value", 2, "AttributeValue"}, + { "id-at", 1879048204, NULL }, + { "joint-iso-ccitt", 1073741825, "2"}, + { "ds", 1073741825, "5"}, + { NULL, 1, "4"}, + { "id-at-initials", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "43"}, + { "X520initials", 1073741826, "DirectoryString"}, + { "id-at-generationQualifier", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "44"}, + { "X520generationQualifier", 1073741826, "DirectoryString"}, + { "id-at-surname", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "4"}, + { "X520surName", 1073741826, "DirectoryString"}, + { "id-at-givenName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "42"}, + { "X520givenName", 1073741826, "DirectoryString"}, + { "id-at-name", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "41"}, + { "X520name", 1073741826, "DirectoryString"}, + { "id-at-commonName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "3"}, + { "X520CommonName", 1073741826, "DirectoryString"}, + { "id-at-localityName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "7"}, + { "X520LocalityName", 1073741826, "DirectoryString"}, + { "id-at-stateOrProvinceName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "8"}, + { "X520StateOrProvinceName", 1073741826, "DirectoryString"}, + { "id-at-organizationName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "10"}, + { "X520OrganizationName", 1073741826, "DirectoryString"}, + { "id-at-organizationalUnitName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "11"}, + { "X520OrganizationalUnitName", 1073741826, "DirectoryString"}, + { "id-at-title", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "12"}, + { "X520Title", 1073741826, "DirectoryString"}, + { "id-at-description", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "13"}, + { "X520Description", 1073741826, "DirectoryString"}, + { "id-at-dnQualifier", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "46"}, + { "X520dnQualifier", 1073741855, NULL }, + { "id-at-countryName", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "6"}, + { "X520countryName", 1612709919, NULL }, + { NULL, 1048586, "2"}, + { "id-at-serialNumber", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "5"}, + { "X520serialNumber", 1073741855, NULL }, + { "id-at-telephoneNumber", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "20"}, + { "X520telephoneNumber", 1073741855, NULL }, + { "id-at-facsimileTelephoneNumber", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "23"}, + { "X520facsimileTelephoneNumber", 1073741855, NULL }, + { "id-at-pseudonym", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "65"}, + { "X520pseudonym", 1073741826, "DirectoryString"}, + { "id-at-name", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "41"}, + { "X520name", 1073741826, "DirectoryString"}, + { "id-at-streetAddress", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "9"}, + { "X520streetAddress", 1073741826, "DirectoryString"}, + { "id-at-postalAddress", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-at"}, + { NULL, 1, "16"}, + { "X520postalAddress", 1073741826, "PostalAddress"}, + { "PostalAddress", 1610612747, NULL }, + { NULL, 2, "DirectoryString"}, + { "pkcs", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "rsadsi", 1073741825, "113549"}, + { "pkcs", 1, "1"}, + { "pkcs-9", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "9"}, + { "emailAddress", 1880096780, "AttributeType"}, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "1"}, + { "Pkcs9email", 1612709917, NULL }, + { "ub-emailaddress-length", 524298, "1"}, + { "Name", 1610612754, NULL }, + { "rdnSequence", 2, "RDNSequence"}, + { "RDNSequence", 1610612747, NULL }, + { NULL, 2, "RelativeDistinguishedName"}, + { "DistinguishedName", 1073741826, "RDNSequence"}, + { "RelativeDistinguishedName", 1612709903, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "AttributeTypeAndValue"}, + { "Certificate", 1610612741, NULL }, + { "tbsCertificate", 1073741826, "TBSCertificate"}, + { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signature", 6, NULL }, + { "TBSCertificate", 1610612741, NULL }, + { "version", 1610653698, "Version"}, + { NULL, 1073741833, "v1"}, + { NULL, 2056, "0"}, + { "serialNumber", 1073741826, "CertificateSerialNumber"}, + { "signature", 1073741826, "AlgorithmIdentifier"}, + { "issuer", 1073741826, "Name"}, + { "validity", 1073741826, "Validity"}, + { "subject", 1073741826, "Name"}, + { "subjectPublicKeyInfo", 1073741826, "SubjectPublicKeyInfo"}, + { "issuerUniqueID", 1610637314, "UniqueIdentifier"}, + { NULL, 4104, "1"}, + { "subjectUniqueID", 1610637314, "UniqueIdentifier"}, + { NULL, 4104, "2"}, + { "extensions", 536895490, "Extensions"}, + { NULL, 2056, "3"}, + { "Version", 1610874883, NULL }, + { "v1", 1073741825, "0"}, + { "v2", 1073741825, "1"}, + { "v3", 1, "2"}, + { "CertificateSerialNumber", 1073741827, NULL }, + { "Validity", 1610612741, NULL }, + { "notBefore", 1073741826, "Time"}, + { "notAfter", 2, "Time"}, + { "Time", 1610612754, NULL }, + { "utcTime", 1073741860, NULL }, + { "generalTime", 37, NULL }, + { "UniqueIdentifier", 1073741830, NULL }, + { "SubjectPublicKeyInfo", 1610612741, NULL }, + { "algorithm", 1073741826, "AlgorithmIdentifier"}, + { "subjectPublicKey", 6, NULL }, + { "Extensions", 1612709899, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "Extension"}, + { "Extension", 1610612741, NULL }, + { "extnID", 1073741836, NULL }, + { "critical", 1610645508, NULL }, + { NULL, 131081, NULL }, + { "extnValue", 7, NULL }, + { "CertificateList", 1610612741, NULL }, + { "tbsCertList", 1073741826, "TBSCertList"}, + { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signature", 6, NULL }, + { "TBSCertList", 1610612741, NULL }, + { "version", 1073758210, "Version"}, + { "signature", 1073741826, "AlgorithmIdentifier"}, + { "issuer", 1073741826, "Name"}, + { "thisUpdate", 1073741826, "Time"}, + { "nextUpdate", 1073758210, "Time"}, + { "revokedCertificates", 1610629131, NULL }, + { NULL, 536870917, NULL }, + { "userCertificate", 1073741826, "CertificateSerialNumber"}, + { "revocationDate", 1073741826, "Time"}, + { "crlEntryExtensions", 16386, "Extensions"}, + { "crlExtensions", 536895490, "Extensions"}, + { NULL, 2056, "0"}, + { "AlgorithmIdentifier", 1610612741, NULL }, + { "algorithm", 1073741836, NULL }, + { "parameters", 541081613, NULL }, + { "algorithm", 1, NULL }, + { "pkcs-1", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "1"}, + { "rsaEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "1"}, + { "md2WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "2"}, + { "md5WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "4"}, + { "sha1WithRSAEncryption", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-1"}, + { NULL, 1, "5"}, + { "id-dsa-with-sha1", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9-57", 1073741825, "10040"}, + { "x9algorithm", 1073741825, "4"}, + { NULL, 1, "3"}, + { "Dss-Sig-Value", 1610612741, NULL }, + { "r", 1073741827, NULL }, + { "s", 3, NULL }, + { "dhpublicnumber", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "ansi-x942", 1073741825, "10046"}, + { "number-type", 1073741825, "2"}, + { NULL, 1, "1"}, + { "DomainParameters", 1610612741, NULL }, + { "p", 1073741827, NULL }, + { "g", 1073741827, NULL }, + { "q", 1073741827, NULL }, + { "j", 1073758211, NULL }, + { "validationParms", 16386, "ValidationParms"}, + { "ValidationParms", 1610612741, NULL }, + { "seed", 1073741830, NULL }, + { "pgenCounter", 3, NULL }, + { "id-dsa", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "x9-57", 1073741825, "10040"}, + { "x9algorithm", 1073741825, "4"}, + { NULL, 1, "1"}, + { "Dss-Parms", 1610612741, NULL }, + { "p", 1073741827, NULL }, + { "q", 1073741827, NULL }, + { "g", 3, NULL }, + { "ORAddress", 1610612741, NULL }, + { "built-in-standard-attributes", 1073741826, "BuiltInStandardAttributes"}, + { "built-in-domain-defined-attributes", 1073758210, "BuiltInDomainDefinedAttributes"}, + { "extension-attributes", 16386, "ExtensionAttributes"}, + { "BuiltInStandardAttributes", 1610612741, NULL }, + { "country-name", 1073758210, "CountryName"}, + { "administration-domain-name", 1073758210, "AdministrationDomainName"}, + { "network-address", 1610637314, "NetworkAddress"}, + { NULL, 2056, "0"}, + { "terminal-identifier", 1610637314, "TerminalIdentifier"}, + { NULL, 2056, "1"}, + { "private-domain-name", 1610637314, "PrivateDomainName"}, + { NULL, 2056, "2"}, + { "organization-name", 1610637314, "OrganizationName"}, + { NULL, 2056, "3"}, + { "numeric-user-identifier", 1610637314, "NumericUserIdentifier"}, + { NULL, 2056, "4"}, + { "personal-name", 1610637314, "PersonalName"}, + { NULL, 2056, "5"}, + { "organizational-unit-names", 536895490, "OrganizationalUnitNames"}, + { NULL, 2056, "6"}, + { "CountryName", 1610620946, NULL }, + { NULL, 1073746952, "1"}, + { "x121-dcc-code", 1612709916, NULL }, + { NULL, 1048586, "ub-country-name-numeric-length"}, + { "iso-3166-alpha2-code", 538968095, NULL }, + { NULL, 1048586, "ub-country-name-alpha-length"}, + { "AdministrationDomainName", 1610620946, NULL }, + { NULL, 1073744904, "2"}, + { "numeric", 1612709916, NULL }, + { "ub-domain-name-length", 524298, "0"}, + { "printable", 538968095, NULL }, + { "ub-domain-name-length", 524298, "0"}, + { "NetworkAddress", 1073741826, "X121Address"}, + { "X121Address", 1612709916, NULL }, + { "ub-x121-address-length", 524298, "1"}, + { "TerminalIdentifier", 1612709919, NULL }, + { "ub-terminal-id-length", 524298, "1"}, + { "PrivateDomainName", 1610612754, NULL }, + { "numeric", 1612709916, NULL }, + { "ub-domain-name-length", 524298, "1"}, + { "printable", 538968095, NULL }, + { "ub-domain-name-length", 524298, "1"}, + { "OrganizationName", 1612709919, NULL }, + { "ub-organization-name-length", 524298, "1"}, + { "NumericUserIdentifier", 1612709916, NULL }, + { "ub-numeric-user-id-length", 524298, "1"}, + { "PersonalName", 1610612750, NULL }, + { "surname", 1814044703, NULL }, + { NULL, 1073745928, "0"}, + { "ub-surname-length", 524298, "1"}, + { "given-name", 1814061087, NULL }, + { NULL, 1073745928, "1"}, + { "ub-given-name-length", 524298, "1"}, + { "initials", 1814061087, NULL }, + { NULL, 1073745928, "2"}, + { "ub-initials-length", 524298, "1"}, + { "generation-qualifier", 740319263, NULL }, + { NULL, 1073745928, "3"}, + { "ub-generation-qualifier-length", 524298, "1"}, + { "OrganizationalUnitNames", 1612709899, NULL }, + { "ub-organizational-units", 1074266122, "1"}, + { NULL, 2, "OrganizationalUnitName"}, + { "OrganizationalUnitName", 1612709919, NULL }, + { "ub-organizational-unit-name-length", 524298, "1"}, + { "BuiltInDomainDefinedAttributes", 1612709899, NULL }, + { "ub-domain-defined-attributes", 1074266122, "1"}, + { NULL, 2, "BuiltInDomainDefinedAttribute"}, + { "BuiltInDomainDefinedAttribute", 1610612741, NULL }, + { "type", 1612709919, NULL }, + { "ub-domain-defined-attribute-type-length", 524298, "1"}, + { "value", 538968095, NULL }, + { "ub-domain-defined-attribute-value-length", 524298, "1"}, + { "ExtensionAttributes", 1612709903, NULL }, + { "ub-extension-attributes", 1074266122, "1"}, + { NULL, 2, "ExtensionAttribute"}, + { "ExtensionAttribute", 1610612741, NULL }, + { "extension-attribute-type", 1611145219, NULL }, + { NULL, 1073743880, "0"}, + { "0", 10, "ub-extension-attributes"}, + { "extension-attribute-value", 541073421, NULL }, + { NULL, 1073743880, "1"}, + { "extension-attribute-type", 1, NULL }, + { "common-name", 1342177283, "1"}, + { "CommonName", 1612709919, NULL }, + { "ub-common-name-length", 524298, "1"}, + { "teletex-common-name", 1342177283, "2"}, + { "TeletexCommonName", 1612709918, NULL }, + { "ub-common-name-length", 524298, "1"}, + { "teletex-organization-name", 1342177283, "3"}, + { "TeletexOrganizationName", 1612709918, NULL }, + { "ub-organization-name-length", 524298, "1"}, + { "teletex-personal-name", 1342177283, "4"}, + { "TeletexPersonalName", 1610612750, NULL }, + { "surname", 1814044702, NULL }, + { NULL, 1073743880, "0"}, + { "ub-surname-length", 524298, "1"}, + { "given-name", 1814061086, NULL }, + { NULL, 1073743880, "1"}, + { "ub-given-name-length", 524298, "1"}, + { "initials", 1814061086, NULL }, + { NULL, 1073743880, "2"}, + { "ub-initials-length", 524298, "1"}, + { "generation-qualifier", 740319262, NULL }, + { NULL, 1073743880, "3"}, + { "ub-generation-qualifier-length", 524298, "1"}, + { "teletex-organizational-unit-names", 1342177283, "5"}, + { "TeletexOrganizationalUnitNames", 1612709899, NULL }, + { "ub-organizational-units", 1074266122, "1"}, + { NULL, 2, "TeletexOrganizationalUnitName"}, + { "TeletexOrganizationalUnitName", 1612709918, NULL }, + { "ub-organizational-unit-name-length", 524298, "1"}, + { "pds-name", 1342177283, "7"}, + { "PDSName", 1612709919, NULL }, + { "ub-pds-name-length", 524298, "1"}, + { "physical-delivery-country-name", 1342177283, "8"}, + { "PhysicalDeliveryCountryName", 1610612754, NULL }, + { "x121-dcc-code", 1612709916, NULL }, + { NULL, 1048586, "ub-country-name-numeric-length"}, + { "iso-3166-alpha2-code", 538968095, NULL }, + { NULL, 1048586, "ub-country-name-alpha-length"}, + { "postal-code", 1342177283, "9"}, + { "PostalCode", 1610612754, NULL }, + { "numeric-code", 1612709916, NULL }, + { "ub-postal-code-length", 524298, "1"}, + { "printable-code", 538968095, NULL }, + { "ub-postal-code-length", 524298, "1"}, + { "physical-delivery-office-name", 1342177283, "10"}, + { "PhysicalDeliveryOfficeName", 1073741826, "PDSParameter"}, + { "physical-delivery-office-number", 1342177283, "11"}, + { "PhysicalDeliveryOfficeNumber", 1073741826, "PDSParameter"}, + { "extension-OR-address-components", 1342177283, "12"}, + { "ExtensionORAddressComponents", 1073741826, "PDSParameter"}, + { "physical-delivery-personal-name", 1342177283, "13"}, + { "PhysicalDeliveryPersonalName", 1073741826, "PDSParameter"}, + { "physical-delivery-organization-name", 1342177283, "14"}, + { "PhysicalDeliveryOrganizationName", 1073741826, "PDSParameter"}, + { "extension-physical-delivery-address-components", 1342177283, "15"}, + { "ExtensionPhysicalDeliveryAddressComponents", 1073741826, "PDSParameter"}, + { "unformatted-postal-address", 1342177283, "16"}, + { "UnformattedPostalAddress", 1610612750, NULL }, + { "printable-address", 1814052875, NULL }, + { "ub-pds-physical-address-lines", 1074266122, "1"}, + { NULL, 538968095, NULL }, + { "ub-pds-parameter-length", 524298, "1"}, + { "teletex-string", 740311070, NULL }, + { "ub-unformatted-address-length", 524298, "1"}, + { "street-address", 1342177283, "17"}, + { "StreetAddress", 1073741826, "PDSParameter"}, + { "post-office-box-address", 1342177283, "18"}, + { "PostOfficeBoxAddress", 1073741826, "PDSParameter"}, + { "poste-restante-address", 1342177283, "19"}, + { "PosteRestanteAddress", 1073741826, "PDSParameter"}, + { "unique-postal-name", 1342177283, "20"}, + { "UniquePostalName", 1073741826, "PDSParameter"}, + { "local-postal-attributes", 1342177283, "21"}, + { "LocalPostalAttributes", 1073741826, "PDSParameter"}, + { "PDSParameter", 1610612750, NULL }, + { "printable-string", 1814052895, NULL }, + { "ub-pds-parameter-length", 524298, "1"}, + { "teletex-string", 740311070, NULL }, + { "ub-pds-parameter-length", 524298, "1"}, + { "extended-network-address", 1342177283, "22"}, + { "ExtendedNetworkAddress", 1610612754, NULL }, + { "e163-4-address", 1610612741, NULL }, + { "number", 1612718108, NULL }, + { NULL, 1073743880, "0"}, + { "ub-e163-4-number-length", 524298, "1"}, + { "sub-address", 538992668, NULL }, + { NULL, 1073743880, "1"}, + { "ub-e163-4-sub-address-length", 524298, "1"}, + { "psap-address", 536879106, "PresentationAddress"}, + { NULL, 2056, "0"}, + { "PresentationAddress", 1610612741, NULL }, + { "pSelector", 1610637319, NULL }, + { NULL, 2056, "0"}, + { "sSelector", 1610637319, NULL }, + { NULL, 2056, "1"}, + { "tSelector", 1610637319, NULL }, + { NULL, 2056, "2"}, + { "nAddresses", 538976271, NULL }, + { NULL, 1073743880, "3"}, + { "MAX", 1074266122, "1"}, + { NULL, 7, NULL }, + { "terminal-type", 1342177283, "23"}, + { "TerminalType", 1610874883, NULL }, + { "telex", 1073741825, "3"}, + { "teletex", 1073741825, "4"}, + { "g3-facsimile", 1073741825, "5"}, + { "g4-facsimile", 1073741825, "6"}, + { "ia5-terminal", 1073741825, "7"}, + { "videotex", 1, "8"}, + { "teletex-domain-defined-attributes", 1342177283, "6"}, + { "TeletexDomainDefinedAttributes", 1612709899, NULL }, + { "ub-domain-defined-attributes", 1074266122, "1"}, + { NULL, 2, "TeletexDomainDefinedAttribute"}, + { "TeletexDomainDefinedAttribute", 1610612741, NULL }, + { "type", 1612709918, NULL }, + { "ub-domain-defined-attribute-type-length", 524298, "1"}, + { "value", 538968094, NULL }, + { "ub-domain-defined-attribute-value-length", 524298, "1"}, + { "ub-name", 1342177283, "32768"}, + { "ub-common-name", 1342177283, "64"}, + { "ub-locality-name", 1342177283, "128"}, + { "ub-state-name", 1342177283, "128"}, + { "ub-organization-name", 1342177283, "64"}, + { "ub-organizational-unit-name", 1342177283, "64"}, + { "ub-title", 1342177283, "64"}, + { "ub-match", 1342177283, "128"}, + { "ub-emailaddress-length", 1342177283, "128"}, + { "ub-common-name-length", 1342177283, "64"}, + { "ub-country-name-alpha-length", 1342177283, "2"}, + { "ub-country-name-numeric-length", 1342177283, "3"}, + { "ub-domain-defined-attributes", 1342177283, "4"}, + { "ub-domain-defined-attribute-type-length", 1342177283, "8"}, + { "ub-domain-defined-attribute-value-length", 1342177283, "128"}, + { "ub-domain-name-length", 1342177283, "16"}, + { "ub-extension-attributes", 1342177283, "256"}, + { "ub-e163-4-number-length", 1342177283, "15"}, + { "ub-e163-4-sub-address-length", 1342177283, "40"}, + { "ub-generation-qualifier-length", 1342177283, "3"}, + { "ub-given-name-length", 1342177283, "16"}, + { "ub-initials-length", 1342177283, "5"}, + { "ub-integer-options", 1342177283, "256"}, + { "ub-numeric-user-id-length", 1342177283, "32"}, + { "ub-organization-name-length", 1342177283, "64"}, + { "ub-organizational-unit-name-length", 1342177283, "32"}, + { "ub-organizational-units", 1342177283, "4"}, + { "ub-pds-name-length", 1342177283, "16"}, + { "ub-pds-parameter-length", 1342177283, "30"}, + { "ub-pds-physical-address-lines", 1342177283, "6"}, + { "ub-postal-code-length", 1342177283, "16"}, + { "ub-surname-length", 1342177283, "40"}, + { "ub-terminal-id-length", 1342177283, "24"}, + { "ub-unformatted-address-length", 1342177283, "180"}, + { "ub-x121-address-length", 1342177283, "16"}, + { "pkcs-7-ContentInfo", 1610612741, NULL }, + { "contentType", 1073741836, NULL }, + { "content", 541073421, NULL }, + { NULL, 1073743880, "0"}, + { "contentType", 1, NULL }, + { "pkcs-7-DigestInfo", 1610612741, NULL }, + { "digestAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "digest", 7, NULL }, + { "pkcs-7-SignedData", 1610612741, NULL }, + { "version", 1073741827, NULL }, + { "digestAlgorithms", 1073741826, "pkcs-7-DigestAlgorithmIdentifiers"}, + { "encapContentInfo", 1073741826, "pkcs-7-EncapsulatedContentInfo"}, + { "certificates", 1610637314, "pkcs-7-CertificateSet"}, + { NULL, 4104, "0"}, + { "crls", 1610637314, "pkcs-7-CertificateRevocationLists"}, + { NULL, 4104, "1"}, + { "signerInfos", 2, "pkcs-7-SignerInfos"}, + { "pkcs-7-DigestAlgorithmIdentifiers", 1610612751, NULL }, + { NULL, 2, "AlgorithmIdentifier"}, + { "pkcs-7-EncapsulatedContentInfo", 1610612741, NULL }, + { "eContentType", 1073741836, NULL }, + { "eContent", 536895501, NULL }, + { NULL, 2056, "0"}, + { "pkcs-7-CertificateRevocationLists", 1610612751, NULL }, + { NULL, 13, NULL }, + { "pkcs-7-CertificateChoices", 1610612754, NULL }, + { "certificate", 13, NULL }, + { "pkcs-7-CertificateSet", 1610612751, NULL }, + { NULL, 2, "pkcs-7-CertificateChoices"}, + { "IssuerAndSerialNumber", 1610612741, NULL }, + { "issuer", 1073741826, "Name"}, + { "serialNumber", 2, "CertificateSerialNumber"}, + { "pkcs-7-SignerInfo", 1610612741, NULL }, + { "version", 1073741827, NULL }, + { "sid", 1073741826, "SignerIdentifier"}, + { "digestAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signedAttrs", 1610637314, "SignedAttributes"}, + { NULL, 4104, "0"}, + { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signature", 1073741831, NULL }, + { "unsignedAttrs", 536895490, "SignedAttributes"}, + { NULL, 4104, "1"}, + { "SignedAttributes", 1612709903, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "Attribute"}, + { "SignerIdentifier", 1610612754, NULL }, + { "issuerAndSerialNumber", 1073741826, "IssuerAndSerialNumber"}, + { "subjectKeyIdentifier", 536879106, "SubjectKeyIdentifier"}, + { NULL, 4104, "0"}, + { "pkcs-7-SignerInfos", 1610612751, NULL }, + { NULL, 2, "pkcs-7-SignerInfo"}, + { "pkcs-10-CertificationRequestInfo", 1610612741, NULL }, + { "version", 1610874883, NULL }, + { "v1", 1, "0"}, + { "subject", 1073741826, "Name"}, + { "subjectPKInfo", 1073741826, "SubjectPublicKeyInfo"}, + { "attributes", 536879106, "Attributes"}, + { NULL, 4104, "0"}, + { "Attributes", 1610612751, NULL }, + { NULL, 2, "Attribute"}, + { "pkcs-10-CertificationRequest", 1610612741, NULL }, + { "certificationRequestInfo", 1073741826, "pkcs-10-CertificationRequestInfo"}, + { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signature", 6, NULL }, + { "pkcs-9-ub-challengePassword", 1342177283, "255"}, + { "pkcs-9-certTypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "22"}, + { "pkcs-9-crlTypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "23"}, + { "pkcs-9-at-challengePassword", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "7"}, + { "pkcs-9-challengePassword", 1610612754, NULL }, + { "printableString", 1612709919, NULL }, + { "pkcs-9-ub-challengePassword", 524298, "1"}, + { "utf8String", 538968098, NULL }, + { "pkcs-9-ub-challengePassword", 524298, "1"}, + { "pkcs-9-at-localKeyId", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "21"}, + { "pkcs-9-localKeyId", 1073741831, NULL }, + { "pkcs-9-at-friendlyName", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-9"}, + { NULL, 1, "20"}, + { "pkcs-9-friendlyName", 1612709921, NULL }, + { "255", 524298, "1"}, + { "pkcs-8-PrivateKeyInfo", 1610612741, NULL }, + { "version", 1073741826, "pkcs-8-Version"}, + { "privateKeyAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "privateKey", 1073741826, "pkcs-8-PrivateKey"}, + { "attributes", 536895490, "Attributes"}, + { NULL, 4104, "0"}, + { "pkcs-8-Version", 1610874883, NULL }, + { "v1", 1, "0"}, + { "pkcs-8-PrivateKey", 1073741831, NULL }, + { "pkcs-8-Attributes", 1610612751, NULL }, + { NULL, 2, "Attribute"}, + { "pkcs-8-EncryptedPrivateKeyInfo", 1610612741, NULL }, + { "encryptionAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "encryptedData", 2, "pkcs-8-EncryptedData"}, + { "pkcs-8-EncryptedData", 1073741831, NULL }, + { "pkcs-5", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "5"}, + { "pkcs-5-encryptionAlgorithm", 1879048204, NULL }, + { "iso", 1073741825, "1"}, + { "member-body", 1073741825, "2"}, + { "us", 1073741825, "840"}, + { "rsadsi", 1073741825, "113549"}, + { NULL, 1, "3"}, + { "pkcs-5-des-EDE3-CBC", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5-encryptionAlgorithm"}, + { NULL, 1, "7"}, + { "pkcs-5-des-EDE3-CBC-params", 1612709895, NULL }, + { NULL, 1048586, "8"}, + { "pkcs-5-id-PBES2", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5"}, + { NULL, 1, "13"}, + { "pkcs-5-PBES2-params", 1610612741, NULL }, + { "keyDerivationFunc", 1073741826, "AlgorithmIdentifier"}, + { "encryptionScheme", 2, "AlgorithmIdentifier"}, + { "pkcs-5-id-PBKDF2", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-5"}, + { NULL, 1, "12"}, + { "pkcs-5-PBKDF2-params", 1610612741, NULL }, + { "salt", 1610612754, NULL }, + { "specified", 1073741831, NULL }, + { "otherSource", 2, "AlgorithmIdentifier"}, + { "iterationCount", 1611137027, NULL }, + { "1", 10, "MAX"}, + { "keyLength", 1611153411, NULL }, + { "1", 10, "MAX"}, + { "prf", 16386, "AlgorithmIdentifier"}, + { "pkcs-12", 1879048204, NULL }, + { NULL, 1073741825, "pkcs"}, + { NULL, 1, "12"}, + { "pkcs-12-PFX", 1610612741, NULL }, + { "version", 1610874883, NULL }, + { "v3", 1, "3"}, + { "authSafe", 1073741826, "pkcs-7-ContentInfo"}, + { "macData", 16386, "pkcs-12-MacData"}, + { "pkcs-12-PbeParams", 1610612741, NULL }, + { "salt", 1073741831, NULL }, + { "iterations", 3, NULL }, + { "pkcs-12-MacData", 1610612741, NULL }, + { "mac", 1073741826, "pkcs-7-DigestInfo"}, + { "macSalt", 1073741831, NULL }, + { "iterations", 536903683, NULL }, + { NULL, 9, "1"}, + { "pkcs-12-AuthenticatedSafe", 1610612747, NULL }, + { NULL, 2, "pkcs-7-ContentInfo"}, + { "pkcs-12-SafeContents", 1610612747, NULL }, + { NULL, 2, "pkcs-12-SafeBag"}, + { "pkcs-12-SafeBag", 1610612741, NULL }, + { "bagId", 1073741836, NULL }, + { "bagValue", 1614815245, NULL }, + { NULL, 1073743880, "0"}, + { "badId", 1, NULL }, + { "bagAttributes", 536887311, NULL }, + { NULL, 2, "pkcs-12-PKCS12Attribute"}, + { "pkcs-12-bagtypes", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12"}, + { NULL, 1073741825, "10"}, + { NULL, 1, "1"}, + { "pkcs-12-keyBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "1"}, + { "pkcs-12-pkcs8ShroudedKeyBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "2"}, + { "pkcs-12-certBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "3"}, + { "pkcs-12-crlBag", 1879048204, NULL }, + { NULL, 1073741825, "pkcs-12-bagtypes"}, + { NULL, 1, "4"}, + { "pkcs-12-KeyBag", 1073741826, "pkcs-8-PrivateKeyInfo"}, + { "pkcs-12-PKCS8ShroudedKeyBag", 1073741826, "pkcs-8-EncryptedPrivateKeyInfo"}, + { "pkcs-12-CertBag", 1610612741, NULL }, + { "certId", 1073741836, NULL }, + { "certValue", 541073421, NULL }, + { NULL, 1073743880, "0"}, + { "certId", 1, NULL }, + { "pkcs-12-CRLBag", 1610612741, NULL }, + { "crlId", 1073741836, NULL }, + { "crlValue", 541073421, NULL }, + { NULL, 1073743880, "0"}, + { "crlId", 1, NULL }, + { "pkcs-12-PKCS12Attribute", 1073741826, "Attribute"}, + { "pkcs-7-Data", 1073741831, NULL }, + { "pkcs-7-EncryptedData", 1610612741, NULL }, + { "version", 1073741827, NULL }, + { "encryptedContentInfo", 1073741826, "pkcs-7-EncryptedContentInfo"}, + { "unprotectedAttrs", 536895490, "pkcs-7-UnprotectedAttributes"}, + { NULL, 4104, "1"}, + { "pkcs-7-EncryptedContentInfo", 1610612741, NULL }, + { "contentType", 1073741836, NULL }, + { "contentEncryptionAlgorithm", 1073741826, "pkcs-7-ContentEncryptionAlgorithmIdentifier"}, + { "encryptedContent", 536895495, NULL }, + { NULL, 4104, "0"}, + { "pkcs-7-ContentEncryptionAlgorithmIdentifier", 1073741826, "AlgorithmIdentifier"}, + { "pkcs-7-UnprotectedAttributes", 1612709903, NULL }, + { "MAX", 1074266122, "1"}, + { NULL, 2, "Attribute"}, + { "id-at-ldap-DC", 1880096780, "AttributeType"}, + { NULL, 1073741825, "0"}, + { NULL, 1073741825, "9"}, + { NULL, 1073741825, "2342"}, + { NULL, 1073741825, "19200300"}, + { NULL, 1073741825, "100"}, + { NULL, 1073741825, "1"}, + { NULL, 1, "25"}, + { "ldap-DC", 1073741853, NULL }, + { "id-at-ldap-UID", 1880096780, "AttributeType"}, + { NULL, 1073741825, "0"}, + { NULL, 1073741825, "9"}, + { NULL, 1073741825, "2342"}, + { NULL, 1073741825, "19200300"}, + { NULL, 1073741825, "100"}, + { NULL, 1073741825, "1"}, + { NULL, 1, "1"}, + { "ldap-UID", 1073741826, "DirectoryString"}, + { "id-pda", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "9"}, + { "id-pda-dateOfBirth", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, + { NULL, 1, "1"}, + { "DateOfBirth", 1073741861, NULL }, + { "id-pda-placeOfBirth", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, + { NULL, 1, "2"}, + { "PlaceOfBirth", 1073741826, "DirectoryString"}, + { "id-pda-gender", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, + { NULL, 1, "3"}, + { "Gender", 1612709919, NULL }, + { NULL, 1048586, "1"}, + { "id-pda-countryOfCitizenship", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, + { NULL, 1, "4"}, + { "CountryOfCitizenship", 1612709919, NULL }, + { NULL, 1048586, "2"}, + { "id-pda-countryOfResidence", 1880096780, "AttributeType"}, + { NULL, 1073741825, "id-pda"}, + { NULL, 1, "5"}, + { "CountryOfResidence", 1612709919, NULL }, + { NULL, 1048586, "2"}, + { "id-pe-proxyCertInfo", 1879048204, NULL }, + { NULL, 1073741825, "id-pe"}, + { NULL, 1, "14"}, + { "id-ppl-inheritAll", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1073741825, "21"}, + { NULL, 1, "1"}, + { "id-ppl-independent", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1073741825, "21"}, + { NULL, 1, "2"}, + { "ProxyCertInfo", 1610612741, NULL }, + { "pCPathLenConstraint", 1611153411, NULL }, + { "0", 10, "MAX"}, + { "proxyPolicy", 2, "ProxyPolicy"}, + { "ProxyPolicy", 1610612741, NULL }, + { "policyLanguage", 1073741836, NULL }, + { "policy", 16391, NULL }, + { "id-on", 1879048204, NULL }, + { NULL, 1073741825, "id-pkix"}, + { NULL, 1, "8"}, + { "id-on-xmppAddr", 1879048204, NULL }, + { NULL, 1073741825, "id-on"}, + { NULL, 1, "5"}, + { "XmppAddr", 1073741858, NULL }, + { "BasicOCSPResponse", 1610612741, NULL }, + { "tbsResponseData", 1073741826, "ResponseData"}, + { "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "signature", 1073741830, NULL }, + { "certs", 536895499, NULL }, + { NULL, 1073743880, "0"}, + { NULL, 2, "Certificate"}, + { "ResponseData", 1610612741, NULL }, + { "version", 1610653699, NULL }, + { NULL, 1073741833, "0"}, + { NULL, 2056, "0"}, + { "responderID", 1073741826, "ResponderID"}, + { "producedAt", 1073741861, NULL }, + { "responses", 1610612747, NULL }, + { NULL, 2, "SingleResponse"}, + { "responseExtensions", 536895490, "Extensions"}, + { NULL, 2056, "1"}, + { "ResponderID", 1610612754, NULL }, + { "byName", 1610620930, "RDNSequence"}, + { NULL, 2056, "1"}, + { "byKey", 536879111, NULL }, + { NULL, 2056, "2"}, + { "CertID", 1610612741, NULL }, + { "hashAlgorithm", 1073741826, "AlgorithmIdentifier"}, + { "issuerNameHash", 1073741831, NULL }, + { "issuerKeyHash", 1073741831, NULL }, + { "serialNumber", 2, "CertificateSerialNumber"}, + { "CertStatus", 1610612754, NULL }, + { "good", 1610620948, NULL }, + { NULL, 4104, "0"}, + { "revoked", 1610620930, "RevokedInfo"}, + { NULL, 4104, "1"}, + { "unknown", 536879106, "UnknownInfo"}, + { NULL, 4104, "2"}, + { "SingleResponse", 1610612741, NULL }, + { "certID", 1073741826, "CertID"}, + { "certStatus", 1073741826, "CertStatus"}, + { "thisUpdate", 1073741861, NULL }, + { "nextUpdate", 1610637349, NULL }, + { NULL, 2056, "0"}, + { "singleExtensions", 536895490, "Extensions"}, + { NULL, 2056, "1"}, + { "RevokedInfo", 1610612741, NULL }, + { "revocationTime", 1073741861, NULL }, + { "revocationReason", 536895490, "CRLReason"}, + { NULL, 2056, "0"}, + { "UnknownInfo", 20, NULL }, + { NULL, 0, NULL } +}; diff --git a/tests/setof.asn b/tests/setof.asn new file mode 100644 index 0000000..a82ad64 --- /dev/null +++ b/tests/setof.asn @@ -0,0 +1,12 @@ +TEST {} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +Seq ::= SEQUENCE { + val OCTET STRING +} + +Set ::= SET OF Seq + + +END diff --git a/tests/setof.c b/tests/setof.c new file mode 100644 index 0000000..ea4de9b --- /dev/null +++ b/tests/setof.c @@ -0,0 +1,184 @@ +/* + * Copyright (C) 2002-2018 Free Software Foundation, Inc. + * + * This file is part of LIBTASN1. + * + * This program 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. + * + * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/****************************************************************/ +/* File: Test_setof.c */ +/* Description: Test writing of SET OF values and DER encoding. */ +/****************************************************************/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <assert.h> +#include "libtasn1.h" + +static unsigned char expected_der[] = { + 0x31, 0x40, 0x30, 0x03, 0x04, 0x01, 0x01, 0x30, + 0x03, 0x04, 0x01, 0x05, 0x30, 0x04, 0x04, 0x02, + 0x00, 0x02, 0x30, 0x06, 0x04, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x06, 0x04, 0x04, 0x00, 0x00, + 0x00, 0x01, 0x30, 0x06, 0x04, 0x04, 0x00, 0x00, + 0x00, 0x02, 0x30, 0x06, 0x04, 0x04, 0x00, 0x01, + 0x00, 0x00, 0x30, 0x06, 0x04, 0x04, 0x01, 0x00, + 0x00, 0x00, 0x30, 0x06, 0x04, 0x04, 0x01, 0x01, + 0x00, 0x00 +}; + +static unsigned char data[1024]; +int data_size = sizeof (data); + + +int +main (int argc, char *argv[]) +{ + int result, verbose = 0; + asn1_node definitions = NULL; + asn1_node asn1_element = NULL; + char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + const char *treefile = getenv ("ASN1SETOF"); + unsigned i; + + if (argc > 1) + verbose = 1; + + if (!treefile) + treefile = "setof.asn"; + + if (verbose != 0) + { + printf ("\n\n/****************************************/\n"); + printf ("/* Test sequence : coding-decoding */\n"); + printf ("/****************************************/\n\n"); + } + + /* Check version */ + if (asn1_check_version ("0.3.3") == NULL) + printf ("\nLibrary version check ERROR:\n actual version: %s\n\n", + asn1_check_version (NULL)); + + result = asn1_parser2tree (treefile, &definitions, errorDescription); + + if (result != ASN1_SUCCESS) + { + asn1_perror (result); + printf ("ErrorDescription = %s\n\n", errorDescription); + exit (1); + } + + result = asn1_create_element (definitions, "TEST.Set", &asn1_element); + if (result != ASN1_SUCCESS) + { + fprintf (stderr, "asn1_create_element(): "); + asn1_perror (result); + exit (1); + } + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x00\x02", 2); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x00\x01\x00\x00", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x00\x00\x00\x00", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x00\x00\x00\x02", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x00\x00\x00\x01", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x01\x00\x00\x00", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x01\x01\x00\x00", 4); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x05", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "", "NEW", 1); + assert(result == ASN1_SUCCESS); + + result = asn1_write_value (asn1_element, "?LAST.val", "\x01", 1); + assert(result == ASN1_SUCCESS); + + /* Clear the definition structures */ + + result = asn1_der_coding (asn1_element, "", data, &data_size, NULL); + if (result != ASN1_SUCCESS) + { + fprintf (stderr, "Encoding error.\n"); + asn1_perror (result); + exit (1); + } + + asn1_delete_structure (&asn1_element); + asn1_delete_structure (&definitions); + + if (data_size != sizeof(expected_der) || memcmp(data, expected_der, data_size) != 0) + { + fprintf(stderr, "encoded data differ to expected [%d - %d]!\n", data_size, (int)sizeof(expected_der)); + printf("static unsigned char got[] = {\n"); + for (i=0;i<(unsigned)data_size;i++) { + printf("0x%.2x, ", (unsigned)data[i]); + if ((i+1) % 8 == 0) + printf("\n"); + } + printf("};\n"); + + printf("static unsigned char expected[] = {\n"); + for (i=0;i<(unsigned)sizeof(expected_der);i++) { + printf("0x%.2x, ", (unsigned)expected_der[i]); + if ((i+1) % 8 == 0) + printf("\n"); + } + printf("};\n"); + exit(1); + } + + if (verbose) + printf ("Success\n"); + exit (0); +} diff --git a/tests/single_node.c b/tests/single_node.c new file mode 100644 index 0000000..2322d4f --- /dev/null +++ b/tests/single_node.c @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2019 Free Software Foundation, Inc. + * + * This file is part of LIBTASN1. + * + * This program 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. + * + * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/****************************************************************/ +/* Description: reproducer for endless loop with a single node */ +/****************************************************************/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include <libtasn1.h> + +/* That translates to a single node with all pointers (right,left,down) set to NULL */ +const asn1_static_node endless_asn1_tab[] = { + { "TEST_TREE", 536875024, NULL }, + { NULL, 0, NULL } +}; + +int +main (int argc, char *argv[]) +{ + int result, verbose = 0; + asn1_node definitions = NULL; + char errorDescription[ASN1_MAX_ERROR_DESCRIPTION_SIZE]; + + if (argc > 1) + verbose = 1; + + result = asn1_array2tree (endless_asn1_tab, &definitions, errorDescription); + if (result != ASN1_SUCCESS) + { + asn1_perror (result); + printf ("ErrorDescription = %s\n\n", errorDescription); + exit (EXIT_FAILURE); + } + + asn1_delete_structure (&definitions); + + if (verbose) + printf ("Success\n"); + + exit (EXIT_SUCCESS); +} |