summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-12-23 10:55:44 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-12-23 10:55:44 +0900
commit8f617f621304d77e839de3ff1ef2c09347b612d9 (patch)
tree97df1ef67fa922a592e43933addf81242a704186 /tests
parent9b8013e31c9cd8942fe05b4ef13fbc51695c8434 (diff)
downloadlibksba-8f617f621304d77e839de3ff1ef2c09347b612d9.tar.gz
libksba-8f617f621304d77e839de3ff1ef2c09347b612d9.tar.bz2
libksba-8f617f621304d77e839de3ff1ef2c09347b612d9.zip
Imported Upstream version 1.3.2upstream/1.3.2
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am6
-rw-r--r--tests/Makefile.in12
-rw-r--r--tests/t-dnparser.c2
-rw-r--r--tests/t-oid.c97
4 files changed, 105 insertions, 12 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ae2ad4e..759b626 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -39,13 +39,13 @@ EXTRA_DIST = $(test_certs) samples/README mkoidtbl.awk
BUILT_SOURCES = oidtranstbl.h
CLEANFILES = oidtranstbl.h
-TESTS = cert-basic t-crl-parser t-dnparser
+TESTS = cert-basic t-crl-parser t-dnparser t-oid
AM_CFLAGS = $(GPG_ERROR_CFLAGS)
AM_LDFLAGS = -no-install
noinst_HEADERS = t-common.h
-noinst_PROGRAMS = $(TESTS) t-cms-parser t-crl-parser t-dnparser t-ocsp t-oid
+noinst_PROGRAMS = $(TESTS) t-cms-parser t-crl-parser t-dnparser t-ocsp
LDADD = ../src/libksba.la $(GPG_ERROR_LIBS)
t_ocsp_SOURCES = t-ocsp.c sha1.c
@@ -59,6 +59,6 @@ oidtranstbl.h: Makefile mkoidtbl.awk
for i in /etc/dumpasn1 /usr/local/bin /usr/local/share /usr/bin \
/usr/share ; do \
if test -f $$i/dumpasn1.cfg; then f=$$i/dumpasn1.cfg; break; fi; \
- done; $(AWK) -f $(srcdir)/mkoidtbl.awk $$f >$@
+ done; tr -d '\r' <$$f | $(AWK) -f $(srcdir)/mkoidtbl.awk >$@
LOG_COMPILER = $(VALGRIND)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index b2e1709..a018c43 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -70,10 +70,10 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = cert-basic$(EXEEXT) t-crl-parser$(EXEEXT) t-dnparser$(EXEEXT)
-noinst_PROGRAMS = $(am__EXEEXT_1) t-cms-parser$(EXEEXT) \
- t-crl-parser$(EXEEXT) t-dnparser$(EXEEXT) t-ocsp$(EXEEXT) \
+TESTS = cert-basic$(EXEEXT) t-crl-parser$(EXEEXT) t-dnparser$(EXEEXT) \
t-oid$(EXEEXT)
+noinst_PROGRAMS = $(am__EXEEXT_1) t-cms-parser$(EXEEXT) \
+ t-crl-parser$(EXEEXT) t-dnparser$(EXEEXT) t-ocsp$(EXEEXT)
subdir = tests
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
@@ -94,7 +94,7 @@ CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = cert-basic$(EXEEXT) t-crl-parser$(EXEEXT) \
- t-dnparser$(EXEEXT)
+ t-dnparser$(EXEEXT) t-oid$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
cert_basic_SOURCES = cert-basic.c
cert_basic_OBJECTS = cert-basic.$(OBJEXT)
@@ -200,6 +200,8 @@ FGREP = @FGREP@
GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
+GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
+GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
@@ -740,7 +742,7 @@ oidtranstbl.h: Makefile mkoidtbl.awk
for i in /etc/dumpasn1 /usr/local/bin /usr/local/share /usr/bin \
/usr/share ; do \
if test -f $$i/dumpasn1.cfg; then f=$$i/dumpasn1.cfg; break; fi; \
- done; $(AWK) -f $(srcdir)/mkoidtbl.awk $$f >$@
+ done; tr -d '\r' <$$f | $(AWK) -f $(srcdir)/mkoidtbl.awk >$@
# 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.
diff --git a/tests/t-dnparser.c b/tests/t-dnparser.c
index c8d4b0d..ef4ab5d 100644
--- a/tests/t-dnparser.c
+++ b/tests/t-dnparser.c
@@ -143,7 +143,7 @@ main (int argc, char **argv)
if (!feof (stdin))
fail ("read error or input too large");
- fail ("no yet implemented");
+ fail ("not yet implemented");
}
else if (argc == 2 && !strcmp (argv[1], "--to-der") )
diff --git a/tests/t-oid.c b/tests/t-oid.c
index 95fc7f5..be68d52 100644
--- a/tests/t-oid.c
+++ b/tests/t-oid.c
@@ -27,6 +27,9 @@
#include "../src/ksba.h"
+#define PGM "t-oid"
+#define BADOID "1.3.6.1.4.1.11591.2.12242973"
+
static void *
read_into_buffer (FILE *fp, size_t *r_length)
@@ -68,23 +71,104 @@ read_into_buffer (FILE *fp, size_t *r_length)
}
+static void
+test_oid_to_str (void)
+{
+ struct {
+ unsigned int binlen;
+ unsigned char *bin;
+ char *str;
+ } tests[] = {
+
+ { 7, "\x02\x82\x06\x01\x0A\x0C\x00",
+ "0.2.262.1.10.12.0"
+ },
+ { 7, "\x02\x82\x06\x01\x0A\x0C\x01",
+ "0.2.262.1.10.12.1"
+ },
+ { 7, "\x2A\x86\x48\xCE\x38\x04\x01",
+ "1.2.840.10040.4.1"
+ },
+ { 7, "\x2A\x86\x48\xCE\x38\x04\x03",
+ "1.2.840.10040.4.3"
+ },
+ { 10, "\x2B\x06\x01\x04\x01\xDA\x47\x02\x01\x01",
+ "1.3.6.1.4.1.11591.2.1.1"
+ },
+ { 3, "\x55\x1D\x0E",
+ "2.5.29.14"
+ },
+ { 9, "\x80\x02\x70\x50\x25\x46\xfd\x0c\xc0",
+ BADOID
+ },
+ { 1, "\x80",
+ BADOID
+ },
+ { 2, "\x81\x00",
+ "2.48"
+ },
+ { 2, "\x81\x01",
+ "2.49"
+ },
+ { 2, "\x81\x7f",
+ "2.175"
+ },
+ { 2, "\x81\x80", /* legal encoding? */
+ "2.48"
+ },
+ { 2, "\x81\x81\x01", /* legal encoding? */
+ "2.49"
+ },
+ { 0, "",
+ ""
+ },
+
+ { 0, NULL, NULL }
+ };
+ int tidx;
+ char *str;
+
+ for (tidx=0; tests[tidx].bin; tidx++)
+ {
+ str = ksba_oid_to_str (tests[tidx].bin, tests[tidx].binlen);
+ if (!str)
+ {
+ perror ("ksba_oid_to_str failed");
+ exit (1);
+ }
+ if (strcmp (tests[tidx].str, str))
+ {
+ fprintf (stderr, "ksba_oid_to_str test %d failed\n", tidx);
+ fprintf (stderr, " got=%s\n", str);
+ fprintf (stderr, " want=%s\n", tests[tidx].str);
+ exit (1);
+ }
+ }
+}
+
int
main (int argc, char **argv)
{
gpg_error_t err;
+
if (argc)
{
argc--;
argv++;
}
- if (argc)
+
+ if (!argc)
+ {
+ test_oid_to_str ();
+ }
+ else if (!strcmp (*argv, "--from-str"))
{
unsigned char *buffer;
size_t n, buflen;
- for ( ;argc ; argc--, argv++)
+ for (argv++,argc-- ; argc; argc--, argv++)
{
err = ksba_oid_from_str (*argv, &buffer, &buflen);
if (err)
@@ -100,18 +184,25 @@ main (int argc, char **argv)
free (buffer);
}
}
- else
+ else if (!strcmp (*argv, "--to-str"))
{
char *buffer;
size_t buflen;
char *result;
+ argv++;argc--;
+
buffer = read_into_buffer (stdin, &buflen);
result = ksba_oid_to_str (buffer, buflen);
free (buffer);
printf ("%s\n", result? result:"[malloc failed]");
free (result);
}
+ else
+ {
+ fputs ("usage: "PGM" [--from-str|--to-str]\n", stderr);
+ return 1;
+ }
return 0;
}