#include <microhttpd.h>
#include "gnunet_namestore_service.h"
#include "gnunet_gns_service.h"
-#include "gnunet_testing_lib-new.h"
+#include "gnunet_testing_lib.h"
#include "gnunet_os_lib.h"
#define PORT 8080
-#define TEST_DOMAIN "www.gnunet"
+#define TEST_DOMAIN "www.gads"
#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 300)
GNUNET_free_non_null (url);
if (NULL != tmp_cfgfile)
- remove (tmp_cfgfile);
-
+ {
+ if (0 != remove (tmp_cfgfile))
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "remove", tmp_cfgfile);
+ GNUNET_free (tmp_cfgfile);
+ tmp_cfgfile = NULL;
+ }
if (NULL != proxy_proc)
- GNUNET_OS_process_kill (proxy_proc, 9);
+ {
+ (void) GNUNET_OS_process_kill (proxy_proc, SIGKILL);
+ GNUNET_assert (GNUNET_OK == GNUNET_OS_process_wait (proxy_proc));
+ GNUNET_OS_process_destroy (proxy_proc);
+ proxy_proc = NULL;
+ }
url = NULL;
+ GNUNET_SCHEDULER_shutdown ();
}
struct GNUNET_TESTING_Peer *peer)
{
enum MHD_FLAG flags;
- struct GNUNET_CRYPTO_RsaPrivateKey *host_key;
+ struct GNUNET_CRYPTO_EccPrivateKey *host_key;
struct GNUNET_NAMESTORE_RecordData rd;
char *zone_keyfile;
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Failed to write tmp cfg\n");
+ do_shutdown ();
return;
}
"gnunet-gns-proxy",
"-c", tmp_cfgfile, NULL);
- GNUNET_assert (NULL != proxy_proc);
+ if (NULL == proxy_proc)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Unable to start proxy\n");
+ do_shutdown ();
+ return;
+ }
if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
"ZONEKEY",
return;
}
- host_key = GNUNET_CRYPTO_rsa_key_create_from_file (zone_keyfile);
+ host_key = GNUNET_CRYPTO_ecc_key_create_from_file (zone_keyfile);
rd.expiration_time = GNUNET_TIME_UNIT_FOREVER_ABS.abs_value;
GNUNET_assert (GNUNET_OK == GNUNET_NAMESTORE_string_to_value (GNUNET_GNS_RECORD_A,
"127.0.0.1",
GNUNET_free ((void**)rd.data);
GNUNET_free (zone_keyfile);
- GNUNET_CRYPTO_rsa_key_free (host_key);
+ GNUNET_CRYPTO_ecc_key_free (host_key);
}
int
main (int argc, char *const *argv)
{
+ char *binary;
+
+ if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("gnunet-gns-proxy", GNUNET_NO, NULL))
+ {
+ fprintf (stderr, "Proxy binary not in PATH... skipping!\n");
+ return 0;
+ }
+ binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-dns");
+ if (GNUNET_YES != GNUNET_OS_check_helper_binary (binary, GNUNET_YES, NULL)) // TODO: once we have a windows-testcase, add test parameters here
+ {
+ fprintf (stderr, "DNS helper binary has wrong permissions... skipping!\n");
+ GNUNET_free (binary);
+ return 0;
+ }
+ GNUNET_free (binary);
- GNUNET_CRYPTO_setup_hostkey ("test_gns_proxy.conf");
-
if (0 != curl_global_init (CURL_GLOBAL_WIN32))
{
fprintf (stderr, "failed to initialize curl\n");