Added simple fetcher tool to test fetcher implementations
authorMartin Willi <martin@revosec.ch>
Mon, 17 Jan 2011 12:26:12 +0000 (13:26 +0100)
committerMartin Willi <martin@revosec.ch>
Mon, 17 Jan 2011 17:19:59 +0000 (18:19 +0100)
scripts/.gitignore
scripts/Makefile.am
scripts/fetch.c [new file with mode: 0644]

index 926daba..4a715e5 100644 (file)
@@ -9,3 +9,4 @@ dh_speed
 pubkey_speed
 crypt_burn
 tls_test
+fetch
index 0a27520..2cd8b49 100644 (file)
@@ -3,7 +3,7 @@ AM_CFLAGS = \
 -DPLUGINS="\"${scripts_plugins}\""
 
 noinst_PROGRAMS = bin2array bin2sql id2sql key2keyid keyid2sql oid2der \
-       thread_analysis dh_speed pubkey_speed crypt_burn
+       thread_analysis dh_speed pubkey_speed crypt_burn fetch
 
 if USE_TLS
        noinst_PROGRAMS += tls_test
@@ -22,6 +22,7 @@ thread_analysis_SOURCES = thread_analysis.c
 dh_speed_SOURCES = dh_speed.c
 pubkey_speed_SOURCES = pubkey_speed.c
 crypt_burn_SOURCES = crypt_burn.c
+fetch_SOURCES = fetch.c
 id2sql_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
 key2keyid_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
 keyid2sql_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
@@ -29,6 +30,7 @@ oid2der_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
 dh_speed_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lrt
 pubkey_speed_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lrt
 crypt_burn_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+fetch_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
 
 key2keyid.o :  $(top_builddir)/config.status
 
diff --git a/scripts/fetch.c b/scripts/fetch.c
new file mode 100644 (file)
index 0000000..57abce4
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2010 Martin Willi
+ * Copyright (C) 2010 revosec AG
+ *
+ * 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 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include <library.h>
+#include <debug.h>
+
+int main(int argc, char *argv[])
+{
+       chunk_t res;
+
+       library_init(NULL);
+       atexit(library_deinit);
+       lib->plugins->load(lib->plugins, NULL, PLUGINS);
+
+       if (argc != 2)
+       {
+               fprintf(stderr, "usage: %s <url>\n", argv[0]);
+       }
+       if (lib->fetcher->fetch(lib->fetcher, argv[1], &res, FETCH_END) == SUCCESS)
+       {
+               ignore_result(write(1, res.ptr, res.len));
+               free(res.ptr);
+               return 0;
+       }
+       return 1;
+}