Added simple fetcher tool to test fetcher implementations

This commit is contained in:
Martin Willi 2011-01-17 13:26:12 +01:00
parent b94feb4b05
commit a8a7a31700
3 changed files with 45 additions and 1 deletions

1
scripts/.gitignore vendored
View File

@ -9,3 +9,4 @@ dh_speed
pubkey_speed
crypt_burn
tls_test
fetch

View 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

41
scripts/fetch.c Normal file
View File

@ -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;
}