gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r29663 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r29663 - gnunet/src/gns
Date: Fri, 27 Sep 2013 17:34:31 +0200

Author: schanzen
Date: 2013-09-27 17:34:31 +0200 (Fri, 27 Sep 2013)
New Revision: 29663

Removed:
   gnunet/src/gns/test_gns_dht_default.conf
   gnunet/src/gns/test_gns_dht_delegated_lookup.c
   gnunet/src/gns/test_gns_dht_three_peers.c
Log:
-cleanup

Deleted: gnunet/src/gns/test_gns_dht_default.conf
===================================================================
--- gnunet/src/gns/test_gns_dht_default.conf    2013-09-27 15:33:11 UTC (rev 
29662)
+++ gnunet/src/gns/test_gns_dht_default.conf    2013-09-27 15:34:31 UTC (rev 
29663)
@@ -1,87 +0,0 @@
address@hidden@ test_gns_defaults.conf
-[PATHS]
-SERVICEHOME = /tmp/test-gnunet-gns-dht/
-
-[transport-tcp]
-PORT = 22568
-
-[dht]
-UNIXPATH = /tmp/gnunet-service-dht.sock
-AUTOSTART = YES
-ACCEPT_FROM6 = ::1;
-ACCEPT_FROM = 127.0.0.1;
-HOSTNAME = localhost
-PORT = 2102
-BINARY = gnunet-service-dht
-
-[dhtcache]
-QUOTA = 1 MB
-DATABASE = heap
-
-[arm]
-PORT = 22566
-DEFAULTSERVICES = core dht namestore gns
-UNIXPATH = /tmp/gnunet-default-service-arm.sock
-
-[statistics]
-PORT = 22567
-UNIXPATH = /tmp/gnunet-default-service-statistics.sock
-
-[resolver]
-PORT = 22564
-UNIXPATH = /tmp/gnunet-default-service-resolver.sock
-
-[peerinfo]
-PORT = 22569
-UNIXPATH = /tmp/gnunet-default-service-peerinfo.sock
-
-[transport]
-PORT = 22565
-UNIXPATH = /tmp/gnunet-default-service-transport.sock
-
-[core]
-PORT = 22570
-UNIXPATH = /tmp/gnunet-default-service-core.sock
-USE_EPHEMERAL_KEYS = NO
-
-[ats]
-PORT = 22571
-UNIXPATH = /tmp/gnunet-default-service-ats.sock
-
-[dns]
-UNIXPATH = /tmp/gnunet-default-service-dns.sock
-PORT = 22369
-AUTOSTART = YES
-DNS_EXIT = 8.8.8.8
-
-[gns]
-PORT = 22370
-#PREFIX = valgrind -v --leak-check=full --track-origins=yes
-AUTOSTART = YES
-BINARY = gnunet-service-gns
-ZONEKEY =  $SERVICEHOME/.hostkey
-HIJACK_DNS = NO
-UNIXPATH = /tmp/gnunet-service-gns-default.sock
-HOME = $SERVICEHOME
-AUTO_IMPORT_PKEY = NO
-MAX_PARALLEL_BACKGROUND_QUERIES = 10
-DEFAULT_LOOKUP_TIMEOUT = 10 s
-RECORD_PUT_INTERVAL = 2 s
-
-[namestore]
-PORT = 22371
-AUTOSTART = YES
-UNIXPATH = /tmp/gnunet-service-namestore-default.sock
-UNIX_MATCH_UID = YES
-UNIX_MATCH_GID = YES
-HOSTNAME = localhost
-HOME = $SERVICEHOME
-BINARY = gnunet-service-namestore
-ACCEPT_FROM = 127.0.0.1;
-ACCEPT_FROM6 = ::1;
-DATABASE = sqlite
-ZONEFILE_DIRECTORY = $SERVICEHOME
-
-[namestore-sqlite]
-FILENAME = $SERVICEHOME/sqlite-default.db
-

Deleted: gnunet/src/gns/test_gns_dht_delegated_lookup.c
===================================================================
--- gnunet/src/gns/test_gns_dht_delegated_lookup.c      2013-09-27 15:33:11 UTC 
(rev 29662)
+++ gnunet/src/gns/test_gns_dht_delegated_lookup.c      2013-09-27 15:34:31 UTC 
(rev 29663)
@@ -1,371 +0,0 @@
-/*
-     This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
-
-     GNUnet 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, or (at your
-     option) any later version.
-
-     GNUnet 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 GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-/**
- * @file gns/test_gns_dht_delegated_lookup.c
- * @brief test for record lookup via DHT
- *
- */
-#include "platform.h"
-#include "gnunet_testing_lib.h"
-#include "gnunet_core_service.h"
-#include "block_gns.h"
-#include "gnunet_signatures.h"
-#include "gnunet_namestore_service.h"
-#include "../namestore/namestore.h"
-#include "gnunet_dnsparser_lib.h"
-#include "gnunet_dht_service.h"
-#include "gnunet_gns_service.h"
-
-/* Timeout for entire testcase */
-#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 20)
-
-/* Timeout for entire testcase */
-#define DHT_DELAY GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 10)
-
-/* test records to resolve */
-#define TEST_DOMAIN "www.bob.gnu"
-#define TEST_IP "127.0.0.1"
-#define TEST_RECORD_NAME "www"
-
-#define TEST_AUTHORITY_NAME "bob"
-
-#define DHT_OPERATION_TIMEOUT GNUNET_TIME_relative_multiply 
(GNUNET_TIME_UNIT_SECONDS, 1)
-
-#define KEYFILE_BOB 
"../namestore/zonefiles/HGU0A0VCU334DN7F2I9UIUMVQMM7JMSD142LIMNUGTTV9R0CF4EG.zkey"
-
-/* Task handle to use to schedule test failure */
-static GNUNET_SCHEDULER_TaskIdentifier die_task;
-static GNUNET_SCHEDULER_TaskIdentifier wait_task;
-
-/* Global return value (0 for success, anything else for failure) */
-static int ok;
-
-static struct GNUNET_NAMESTORE_Handle *namestore_handle;
-
-static struct GNUNET_GNS_Handle *gns_handle;
-
-static struct GNUNET_DHT_Handle *dht_handle;
-
-static const struct GNUNET_CONFIGURATION_Handle *cfg;
-
-static struct GNUNET_CRYPTO_EccPublicSignKey alice_pkey;
-static struct GNUNET_CRYPTO_EccPublicSignKey bob_pkey;
-static struct GNUNET_CRYPTO_EccPrivateKey *alice_key;
-static struct GNUNET_CRYPTO_EccPrivateKey *bob_key;
-
-
-/**
- * Check if the get_handle is being used, if so stop the request.  Either
- * way, schedule the end_badly_cont function which actually shuts down the
- * test.
- */
-static void
-end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  die_task = GNUNET_SCHEDULER_NO_TASK;
-  if (NULL != gns_handle)
-  {
-    GNUNET_GNS_disconnect (gns_handle);
-    gns_handle = NULL;
-  }
-
-  if (NULL != dht_handle)
-  {
-    GNUNET_DHT_disconnect (dht_handle);
-    dht_handle = NULL;
-  }
-
-  if (NULL != namestore_handle)
-  {
-    GNUNET_NAMESTORE_disconnect (namestore_handle);
-    namestore_handle = NULL;
-  }
-  GNUNET_break (0);
-  GNUNET_SCHEDULER_shutdown ();
-  ok = 1;
-}
-
-
-static void
-end_badly_now ()
-{
-
-  if (GNUNET_SCHEDULER_NO_TASK != wait_task)
-  {
-      GNUNET_SCHEDULER_cancel (wait_task);
-      wait_task = GNUNET_SCHEDULER_NO_TASK;
-  }
-  GNUNET_SCHEDULER_cancel (die_task);
-  die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
-}
-
-
-static void
-shutdown_task (void *cls,
-              const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  GNUNET_GNS_disconnect(gns_handle);
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down peer!\n");
-  GNUNET_SCHEDULER_shutdown ();
-}
-
-
-static void
-on_lookup_result(void *cls, uint32_t rd_count,
-                 const struct GNUNET_NAMESTORE_RecordData *rd)
-{
-  struct in_addr a;
-  int i;
-  char* addr;
-  
-  if (GNUNET_SCHEDULER_NO_TASK != die_task)
-  {
-      GNUNET_SCHEDULER_cancel (die_task);
-      die_task = GNUNET_SCHEDULER_NO_TASK;
-  }
-
-  GNUNET_NAMESTORE_disconnect (namestore_handle);
-  namestore_handle = NULL;
-  if (rd_count == 0)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                "Lookup failed, rp_filtering?\n");
-    ok = 2;
-  }
-  else
-  {
-    ok = 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s\n", (char*)cls);
-    for (i=0; i<rd_count; i++)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_INFO, "type: %d\n", rd[i].record_type);
-      if (rd[i].record_type == GNUNET_DNSPARSER_TYPE_A)
-      {
-        memcpy(&a, rd[i].data, sizeof(a));
-        addr = inet_ntoa(a);
-        GNUNET_log (GNUNET_ERROR_TYPE_INFO, "address: %s\n", addr);
-        if (0 == strcmp(addr, TEST_IP))
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                    "%s correctly resolved to %s!\n", TEST_DOMAIN, addr);
-          ok = 0;
-        }
-      }
-      else
-      {
-        GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No resolution!\n");
-      }
-    }
-  }
-  GNUNET_DHT_disconnect (dht_handle);
-  dht_handle = NULL;
-
-  GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
-}
-
-
-/**
- * Function scheduled to be run on the successful start of services
- * tries to look up the dns record for TEST_DOMAIN
- */
-static void
-commence_testing (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  gns_handle = GNUNET_GNS_connect(cfg);
-
-  if (NULL == gns_handle)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                "Failed to connect to GNS!\n");
-    end_badly_now();
-    return;
-  }
-
-  GNUNET_GNS_lookup(gns_handle, TEST_DOMAIN, GNUNET_DNSPARSER_TYPE_A,
-                    GNUNET_NO,
-                    NULL,
-                    &on_lookup_result, TEST_DOMAIN);
-}
-
-
-static void
-put_dht(void *cls, int32_t success, const char *emsg)
-{
-  struct GNSNameRecordBlock *nrb;
-  struct GNUNET_CRYPTO_ShortHashCode name_hash;
-  struct GNUNET_CRYPTO_ShortHashCode zone_hash;
-  struct GNUNET_HashCode xor_hash;
-  struct GNUNET_HashCode name_hash_double;
-  struct GNUNET_HashCode zone_hash_double;
-  uint32_t rd_payload_length;
-  char* nrb_data = NULL;
-  struct GNUNET_CRYPTO_EccSignature *sig;
-  struct GNUNET_NAMESTORE_RecordData rd;
-  char* ip = TEST_IP;
-  struct in_addr *web = GNUNET_malloc(sizeof(struct in_addr));
-  
-  rd.expiration_time = UINT64_MAX;
-  GNUNET_assert(1 == inet_pton (AF_INET, ip, web));
-  rd.data_size = sizeof(struct in_addr);
-  rd.data = web;
-  rd.record_type = GNUNET_DNSPARSER_TYPE_A;
-  rd.flags = GNUNET_NAMESTORE_RF_NONE;
-
-  sig = GNUNET_NAMESTORE_create_signature(bob_key, 
GNUNET_TIME_UNIT_FOREVER_ABS, TEST_RECORD_NAME,
-                                          &rd, 1);
-
-  GNUNET_assert (GNUNET_OK == GNUNET_NAMESTORE_verify_signature (&bob_pkey,
-                                                                 
GNUNET_TIME_UNIT_FOREVER_ABS,
-                                                                 
TEST_RECORD_NAME,
-                                                                 1,
-                                                                 &rd,
-                                                                 sig));
-  rd_payload_length = GNUNET_NAMESTORE_records_get_size (1, &rd);
-  nrb = GNUNET_malloc(rd_payload_length + strlen(TEST_RECORD_NAME) + 1
-                      + sizeof(struct GNSNameRecordBlock));
-  nrb->signature = *sig;
-  nrb->public_key = bob_pkey;
-  nrb->rd_count = htonl(1);
-  memset(&nrb[1], 0, strlen(TEST_RECORD_NAME) + 1);
-  strcpy((char*)&nrb[1], TEST_RECORD_NAME);
-  nrb_data = (char*)&nrb[1];
-  nrb_data += strlen(TEST_RECORD_NAME) + 1;
-
-  if (-1 == GNUNET_NAMESTORE_records_serialize (1,
-                                                &rd,
-                                                rd_payload_length,
-                                                nrb_data))
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Record serialization failed!\n");
-    ok = 3;
-    GNUNET_free (nrb);
-    GNUNET_free (web);
-    end_badly_now ();
-    return;
-  }
-  GNUNET_CRYPTO_short_hash(TEST_RECORD_NAME, strlen(TEST_RECORD_NAME), 
&name_hash);
-  GNUNET_CRYPTO_short_hash(&bob_pkey,
-                     sizeof(struct GNUNET_CRYPTO_EccPublicSignKey),
-                     &zone_hash);
-  GNUNET_CRYPTO_short_hash_double(&zone_hash, &zone_hash_double);
-  GNUNET_CRYPTO_short_hash_double(&name_hash, &name_hash_double);
-  GNUNET_CRYPTO_hash_xor(&zone_hash_double, &name_hash_double, &xor_hash);
-
-  rd_payload_length += sizeof(struct GNSNameRecordBlock) +
-    strlen(TEST_RECORD_NAME) + 1;
-  GNUNET_DHT_put (dht_handle, &xor_hash,
-                  0,
-                  GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
-                  GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
-                  rd_payload_length,
-                  (char*)nrb,
-                  GNUNET_TIME_UNIT_FOREVER_ABS,
-                  DHT_OPERATION_TIMEOUT,
-                  NULL,
-                  NULL);
-  GNUNET_free (web);
-  GNUNET_free (nrb);
-  GNUNET_free (sig);
-  if (GNUNET_SCHEDULER_NO_TASK != die_task)
-  {
-      GNUNET_SCHEDULER_cancel (die_task);
-      die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL);
-  }
-  wait_task = GNUNET_SCHEDULER_add_delayed(DHT_DELAY, &commence_testing, NULL);
-}
-
-
-static void
-do_check (void *cls,
-          const struct GNUNET_CONFIGURATION_Handle *ccfg,
-          struct GNUNET_TESTING_Peer *peer)
-{
-  char* alice_keyfile;
-  struct GNUNET_CRYPTO_ShortHashCode bob_hash;
-  
-  cfg = ccfg;
-  die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL);
-
-  /* put records into namestore */
-  namestore_handle = GNUNET_NAMESTORE_connect(cfg);
-  if (NULL == namestore_handle)
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to namestore\n");
-    end_badly_now ();
-    return;
-  }
-  
-  /* dht */
-  dht_handle = GNUNET_DHT_connect(cfg, 1);
-  if (NULL == dht_handle)
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to dht\n");
-    end_badly_now ();
-    return;
-  }
-
-  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
-                                                          "ZONEKEY",
-                                                          &alice_keyfile))
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    end_badly_now ();
-    return;
-  }
-
-  alice_key = GNUNET_CRYPTO_ecc_key_create_from_file (alice_keyfile);
-  bob_key = GNUNET_CRYPTO_ecc_key_create_from_file (KEYFILE_BOB);
-  
-  GNUNET_free(alice_keyfile);
-
-  GNUNET_CRYPTO_ecc_key_get_public_for_signature (alice_key, &alice_pkey);
-  GNUNET_CRYPTO_ecc_key_get_public_for_signature (bob_key, &bob_pkey);
-  GNUNET_CRYPTO_short_hash(&bob_pkey, sizeof(bob_pkey), &bob_hash);
-
-  struct GNUNET_NAMESTORE_RecordData rd;
-  rd.expiration_time = UINT64_MAX;
-  rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
-  rd.data = &bob_hash;
-  rd.record_type = GNUNET_NAMESTORE_TYPE_PKEY;
-  rd.flags = GNUNET_NAMESTORE_RF_NONE;
-
-  GNUNET_NAMESTORE_record_put_by_authority (namestore_handle,
-                                           alice_key,
-                                           TEST_AUTHORITY_NAME,
-                                           1, &rd,
-                                           &put_dht,
-                                           NULL);
-}
-
-
-int
-main (int argc, char *argv[])
-{
-  ok = 1;
-
-  GNUNET_log_setup ("test-gns-dht-delegated-lookup",
-                    "WARNING",
-                    NULL);
-  GNUNET_TESTING_peer_run ("test-gns-dht-delegated-lookup", 
"test_gns_simple_lookup.conf", &do_check, NULL);
-  return ok;
-}
-
-
-/* end of test_gns_dht_delegated_lookup.c */

Deleted: gnunet/src/gns/test_gns_dht_three_peers.c
===================================================================
--- gnunet/src/gns/test_gns_dht_three_peers.c   2013-09-27 15:33:11 UTC (rev 
29662)
+++ gnunet/src/gns/test_gns_dht_three_peers.c   2013-09-27 15:34:31 UTC (rev 
29663)
@@ -1,675 +0,0 @@
-/*
-     This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
-
-     GNUnet 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, or (at your
-     option) any later version.
-
-     GNUnet 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 GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-/**
- * @file gns/test_gns_dht_threepeer.c
- * @brief tests dht lookup over 3 peers
- *
- * topology:
- * alice <----> bob <-----> dave
- *
- * alice queries for www.buddy.bob.gnu
- *
- */
-#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_disk_lib.h"
-#include "gnunet_testing_lib.h"
-#include "gnunet_testbed_service.h"
-#include "gnunet_core_service.h"
-#include "gnunet_dht_service.h"
-#include "block_dns.h"
-#include "gnunet_signatures.h"
-#include "gnunet_namestore_service.h"
-#include "gnunet_dnsparser_lib.h"
-#include "gnunet_gns_service.h"
-
-#define ZONE_PUT_WAIT_TIME 
GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 10)
-
-#define TEST_DOMAIN "www.buddy.bob.gnu"
-#define TEST_IP "1.1.1.1"
-#define TEST_DAVE_PSEU "hagbard"
-
-
-/* Timeout for entire testcase */
-#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60)
-#define SETUP_TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 
60)
-
-/* Global return value (0 for success, anything else for failure) */
-static int ok;
-
-/* Task handle to use to schedule test failure */
-static GNUNET_SCHEDULER_TaskIdentifier die_task;
-
-static GNUNET_SCHEDULER_TaskIdentifier wait_task;
-
-static GNUNET_SCHEDULER_TaskIdentifier setup_task;
-
-static struct GNUNET_CRYPTO_ShortHashCode dave_hash;
-
-static struct GNUNET_CRYPTO_ShortHashCode bob_hash;
-
-static struct GNUNET_TESTBED_Peer **cpeers;
-
-static struct GNUNET_GNS_Handle *gh;
-static struct GNUNET_GNS_LookupRequest *lookup_handle;
-
-static struct GNUNET_TESTBED_Operation *get_cfg_ops[3];
-static struct GNUNET_TESTBED_Operation *topology_op;
-static struct GNUNET_CONFIGURATION_Handle *cfg_handles[3];
-static struct GNUNET_NAMESTORE_Handle *nh[3];
-
-static int dave_is_setup;
-static int bob_is_setup;
-static int alice_is_setup;
-
-/**
- * Check if the get_handle is being used, if so stop the request.  Either
- * way, schedule the end_badly_cont function which actually shuts down the
- * test.
- */
-static void
-end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  die_task = GNUNET_SCHEDULER_NO_TASK;
-  int c;
-
-  if (GNUNET_SCHEDULER_NO_TASK != wait_task)
-  {
-      GNUNET_SCHEDULER_cancel (wait_task);
-      wait_task = GNUNET_SCHEDULER_NO_TASK;
-  }
-
-  for (c = 0; c < 3; c++)
-  {
-    if (NULL != nh[c])
-    {
-      GNUNET_NAMESTORE_disconnect(nh[c]);
-      nh[c] = NULL;
-    }
-
-    if (NULL != get_cfg_ops[c])
-    {
-        GNUNET_TESTBED_operation_done(get_cfg_ops[c]);
-        get_cfg_ops[c] = NULL;
-    }
-    if (NULL != cfg_handles[c])
-    {
-      GNUNET_CONFIGURATION_destroy (cfg_handles[c]);
-      cfg_handles[c] = NULL;
-    }
-  }
-  if (NULL != topology_op)
-  {
-    GNUNET_TESTBED_operation_done (topology_op);
-    topology_op = NULL;
-  }
-  if (NULL != lookup_handle)
-  {
-    GNUNET_GNS_cancel_lookup_request (lookup_handle);
-    lookup_handle = NULL;
-  }
-  if (NULL != gh)
-  {
-    GNUNET_GNS_disconnect(gh);
-    gh = NULL;
-  }
-  
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test failed \n");
-  GNUNET_SCHEDULER_shutdown ();
-  ok = 1;
-}
-
-static void
-end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Finished\n");
-  int c;
-  if (GNUNET_SCHEDULER_NO_TASK != die_task)
-  {
-      GNUNET_SCHEDULER_cancel (die_task);
-      die_task = GNUNET_SCHEDULER_NO_TASK;
-  }
-
-  for (c = 0; c < 3; c++)
-  {
-    if (NULL != nh[c])
-    {
-      GNUNET_NAMESTORE_disconnect(nh[c]);
-      nh[c] = NULL;
-    }
-    if (NULL != cfg_handles[c])
-    {
-      GNUNET_CONFIGURATION_destroy (cfg_handles[c]);
-      cfg_handles[c] = NULL;
-    }
-  }
-
-  if (NULL != gh)
-  {
-    GNUNET_GNS_disconnect(gh);
-    gh = NULL;
-  }
-
-  if (0 == ok)
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test ended successful\n");
-  else
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Test failed\n");
-  GNUNET_SCHEDULER_shutdown ();
-}
-
-static void
-setup_end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  setup_task = GNUNET_SCHEDULER_NO_TASK;
-  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout during setup, test failed\n");
-
-  if (NULL != topology_op)
-  {
-    GNUNET_TESTBED_operation_done (topology_op);
-    topology_op = NULL;
-  }
-  GNUNET_SCHEDULER_shutdown ();
-  ok = GNUNET_SYSERR;
-}
-
-static void
-end_now ()
-{
-  GNUNET_SCHEDULER_add_now (&end, NULL);
-}
-
-
-static void
-disconnect_ns (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-
-  GNUNET_NAMESTORE_disconnect (cls);
-  if (cls == nh[0])
-    nh[0] = NULL;
-  if (cls == nh[1])
-    nh[1] = NULL;
-  if (cls == nh[2])
-    nh[2] = NULL;
-}
-
-
-static void
-cont_ns (void* cls, int32_t s, const char* emsg)
-{
-  GNUNET_SCHEDULER_add_now (&disconnect_ns, cls);
-}
-
-static void
-on_lookup_result(void *cls, uint32_t rd_count,
-                 const struct GNUNET_NAMESTORE_RecordData *rd)
-{
-  int i;
-  char* string_val;
-
-  if (rd_count == 0)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                "Lookup failed!\n");
-    ok = 2;
-  }
-  else
-  {
-    ok = 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s\n", (char*)cls);
-    for (i=0; i<rd_count; i++)
-    {
-      string_val = GNUNET_NAMESTORE_value_to_string(rd[i].record_type,
-                                                    rd[i].data,
-                                                    rd[i].data_size);
-      if (0 == strcmp(string_val, TEST_IP))
-      {
-        GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                    "%s correctly resolved to %s!\n", TEST_DOMAIN, string_val);
-        ok = 0;
-      }
-      GNUNET_free (string_val);
-    }
-  }
-  end_now ();
-}
-
-
-static void
-commence_testing(void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  static int wait = 0;
-
-  wait++;
-  if ((ZONE_PUT_WAIT_TIME.rel_value_us / 1000LL / 1000LL) == wait)
-  {
-    fprintf (stderr, "\n");
-    wait_task = GNUNET_SCHEDULER_NO_TASK;
-    lookup_handle = GNUNET_GNS_lookup(gh, TEST_DOMAIN, GNUNET_DNSPARSER_TYPE_A,
-                      GNUNET_NO,
-                      NULL,
-                      &on_lookup_result, TEST_DOMAIN);
-    if (GNUNET_SCHEDULER_NO_TASK != die_task)
-      GNUNET_SCHEDULER_cancel(die_task);
-    die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, "from 
lookup");
-  }
-  else
-  {
-      fprintf (stderr, ".");
-      wait_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, 
&commence_testing, NULL);
-  }
-}
-
-
-void
-all_connected ()
-{
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Created all connections! Waiting for 
PUTs\n");
-  if (GNUNET_SCHEDULER_NO_TASK != setup_task)
-  {
-      GNUNET_SCHEDULER_cancel (setup_task);
-      setup_task = GNUNET_SCHEDULER_NO_TASK;
-  }
-  wait_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, 
&commence_testing, NULL);
-}
-
-
-static void connect_peers ()
-{
-  static int started;
-  started ++;
-  if (3 == started)
-  {
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers started\n");
-
-      topology_op = 
-          GNUNET_TESTBED_overlay_configure_topology  (NULL, 3, cpeers, NULL,
-                                                      NULL,
-                                                      NULL,
-                                                      
GNUNET_TESTBED_TOPOLOGY_RING,
-                                                      
GNUNET_TESTBED_TOPOLOGY_OPTION_END);
-  }
-}
-
-static int
-setup_dave (const struct GNUNET_CONFIGURATION_Handle * cfg)
-{
-  char* keyfile;
-  struct GNUNET_CRYPTO_EccPrivateKey *key;
-  struct GNUNET_CRYPTO_EccPublicSignKey pkey;
-  struct in_addr *web;
-  struct GNUNET_NAMESTORE_RecordData rd;
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up dave\n");
-  cfg_handles[0] = GNUNET_CONFIGURATION_dup (cfg);
-  GNUNET_assert (NULL != cfg_handles[0]);
-  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
-                                                            "ZONEKEY",
-                                                            &keyfile))
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    return GNUNET_SYSERR;
-  }
-
-  key = GNUNET_CRYPTO_ecc_key_create_from_file (keyfile);
-  if (NULL == key)
-  {
-
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-  nh[0] = GNUNET_NAMESTORE_connect (cfg_handles[0]);
-  if (NULL == nh[0])
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to namestore\n");
-    GNUNET_free (key);
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-
-  GNUNET_CRYPTO_ecc_key_get_public_for_signature (key, &pkey);
-  GNUNET_CRYPTO_short_hash(&pkey, sizeof(pkey), &dave_hash);
-
-  rd.expiration_time = UINT64_MAX;
-
-  web = GNUNET_malloc(sizeof(struct in_addr));
-  GNUNET_assert(1 == inet_pton (AF_INET, TEST_IP, web));
-  rd.data_size = sizeof(struct in_addr);
-  rd.data = web;
-  rd.record_type = GNUNET_DNSPARSER_TYPE_A;
-  rd.flags = GNUNET_NAMESTORE_RF_NONE;
-
-  GNUNET_NAMESTORE_record_put_by_authority (nh[0], key, "www", 
-                                           1, &rd,
-                                           NULL, NULL);
-
-  rd.data_size = strlen(TEST_DAVE_PSEU);
-  rd.data = TEST_DAVE_PSEU;
-  rd.record_type = GNUNET_NAMESTORE_TYPE_PSEU;
-
-
-  GNUNET_NAMESTORE_record_put_by_authority (nh[0], key, 
-                                           GNUNET_GNS_MASTERZONE_STR, 
-                                           1, &rd, 
-                                           &cont_ns, nh[0]);
-
-  GNUNET_free(key);
-  GNUNET_free(keyfile);
-  GNUNET_free(web);
-  dave_is_setup = GNUNET_YES;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up dave done\n");
-  return GNUNET_OK;
-}
-
-static int
-setup_bob (const struct GNUNET_CONFIGURATION_Handle * cfg)
-{
-  char* keyfile;
-  struct GNUNET_CRYPTO_EccPrivateKey *key;
-  struct GNUNET_CRYPTO_EccPublicSignKey pkey;
-  struct GNUNET_NAMESTORE_RecordData rd;
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up bob\n");
-  cfg_handles[1] = GNUNET_CONFIGURATION_dup (cfg);
-  GNUNET_assert (NULL != cfg_handles[1]);
-  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
-                                                            "ZONEKEY",
-                                                            &keyfile))
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    return GNUNET_SYSERR;
-  }
-
-  key = GNUNET_CRYPTO_ecc_key_create_from_file (keyfile);
-  if (NULL == key)
-  {
-
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-
-  nh[1] = GNUNET_NAMESTORE_connect (cfg_handles[1]);
-  if (NULL == nh[1])
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to namestore\n");
-    GNUNET_free (key);
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-  
-  GNUNET_CRYPTO_ecc_key_get_public_for_signature (key, &pkey);
-  GNUNET_CRYPTO_short_hash(&pkey, sizeof(pkey), &bob_hash);
-
-  rd.expiration_time = UINT64_MAX;
-  rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
-  rd.data = &dave_hash;
-  rd.record_type = GNUNET_NAMESTORE_TYPE_PKEY;
-  rd.flags = GNUNET_NAMESTORE_RF_NONE;
-
-  GNUNET_NAMESTORE_record_put_by_authority (nh[1], key, "buddy",
-                                           1, &rd,
-                                           &cont_ns, nh[1]);
-
-  GNUNET_free(key);
-  GNUNET_free(keyfile);
-  bob_is_setup = GNUNET_YES;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up bob done\n");
-  return GNUNET_OK;
-}
-
-static int
-setup_alice (const struct GNUNET_CONFIGURATION_Handle * cfg)
-{
-  char* keyfile;
-  struct GNUNET_CRYPTO_EccPrivateKey *key;
-  struct GNUNET_NAMESTORE_RecordData rd;
-
-  cfg_handles[2] = GNUNET_CONFIGURATION_dup (cfg);
-  GNUNET_assert (NULL != cfg);
-  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
-                                                            "ZONEKEY",
-                                                            &keyfile))
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    return GNUNET_SYSERR;
-  }
-
-  key = GNUNET_CRYPTO_ecc_key_create_from_file (keyfile);
-  if (NULL == key)
-  {
-
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to get key from cfg\n");
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-
-  nh[2] = GNUNET_NAMESTORE_connect (cfg_handles[2]);
-  if (NULL == nh[2])
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to namestore\n");
-    GNUNET_free (key);
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-
-  rd.expiration_time = UINT64_MAX;
-  rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
-  rd.data = &bob_hash;
-  rd.record_type = GNUNET_NAMESTORE_TYPE_PKEY;
-  rd.flags = GNUNET_NAMESTORE_RF_NONE;
-
-  GNUNET_NAMESTORE_record_put_by_authority (nh[2], key, "bob", 
-                                           1, &rd, 
-                                           &cont_ns, nh[2]);
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up alice gns\n");
-  gh = GNUNET_GNS_connect (cfg_handles[2]);
-  if (NULL == gh)
-  {
-    GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to connect to gns\n");
-    GNUNET_free (key);
-    GNUNET_free (keyfile);
-    return GNUNET_SYSERR;
-  }
-
-  GNUNET_free (key);
-  GNUNET_free (keyfile);
-  alice_is_setup = GNUNET_YES;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Setting up alice  done\n");
-  return GNUNET_OK;
-}
-
-static void
-end_badly_now ()
-{
-  if (GNUNET_SCHEDULER_NO_TASK != die_task)
-    GNUNET_SCHEDULER_cancel (die_task);
-  die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
-}
-
-
-/**
- * Callback to be called when the requested peer information is available
- *
- * @param cb_cls the closure from GNUNET_TETSBED_peer_get_information()
- * @param op the operation this callback corresponds to
- * @param pinfo the result; will be NULL if the operation has failed
- * @param emsg error message if the operation has failed; will be NULL if the
- *          operation is successfull
- */
-static void 
-peerinfo_cb (void *cb_cls, struct GNUNET_TESTBED_Operation *op,
-            const struct GNUNET_TESTBED_PeerInformation *pinfo,
-            const char *emsg)
-{
-  int res;
-  GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit);
-  if (GNUNET_NO == dave_is_setup)
-    res = setup_dave (pinfo->result.cfg);
-  else if (GNUNET_NO == bob_is_setup)
-    res = setup_bob (pinfo->result.cfg);
-  else
-    res = setup_alice (pinfo->result.cfg);
-  
-  if (get_cfg_ops[0] == op)
-    get_cfg_ops[0] = NULL;
-  else if (get_cfg_ops[1] == op)
-    get_cfg_ops[1] = NULL;
-  else
-    get_cfg_ops[2] = NULL;
-  GNUNET_TESTBED_operation_done (op);
-  op = NULL;
-  if (GNUNET_SYSERR == res)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup peer \n");
-    end_badly_now();
-  }
-  else
-    connect_peers ();
-  /*if (get_cfg_ops[0] == op)
-  {
-    GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit);
-    res = setup_dave (pinfo->result.cfg);
-    GNUNET_TESTBED_operation_done (get_cfg_ops[0]);
-    get_cfg_ops[0] = NULL;
-    if (GNUNET_SYSERR == res)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n");
-      end_badly_now();
-    }
-    else
-    {
-      connect_peers ();
-    }
-  }
-  else if (get_cfg_ops[1] == op)
-  {
-    GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit);
-    res = setup_bob (pinfo->result.cfg);
-    GNUNET_TESTBED_operation_done (get_cfg_ops[1]);
-    get_cfg_ops[1] = NULL;
-    if (GNUNET_SYSERR == res)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n");
-      end_badly_now();
-    }
-    else
-    {
-      connect_peers ();
-    }
-  }
-  else if (get_cfg_ops[2] == op)
-  {
-    GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION == pinfo->pit);
-    res = setup_alice (pinfo->result.cfg);
-    GNUNET_TESTBED_operation_done (get_cfg_ops[2]);
-    get_cfg_ops[2] = NULL;
-    if (GNUNET_SYSERR == res)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup dave \n");
-      end_badly_now();
-    }
-    else
-    {
-      connect_peers ();
-    }
-  }*/
-}
-
-
-void testbed_master (void *cls,
-                     struct GNUNET_TESTBED_RunHandle *h,
-                     unsigned int num_peers,
-                     struct GNUNET_TESTBED_Peer **peers,
-                     unsigned int links_succeeded,
-                     unsigned int links_failed)
-{
-  GNUNET_assert (NULL != peers);
-  cpeers = peers;
-
-  setup_task = GNUNET_SCHEDULER_add_delayed (SETUP_TIMEOUT, &setup_end_badly, 
NULL);
-
-  /* peer 0: dave */
-  GNUNET_assert (NULL != peers[0]);
-  get_cfg_ops[0] = GNUNET_TESTBED_peer_get_information (peers[0],
-                                                       
GNUNET_TESTBED_PIT_CONFIGURATION,
-                                                       &peerinfo_cb, NULL);
-
-  /* peer 1: bob */
-  GNUNET_assert (NULL != peers[1]);
-  get_cfg_ops[1] = GNUNET_TESTBED_peer_get_information (peers[1],
-                                                       
GNUNET_TESTBED_PIT_CONFIGURATION,
-                                                       &peerinfo_cb, NULL );
-
-  /* peer 2: alice */
-  GNUNET_assert (NULL != peers[2]);
-  get_cfg_ops[2] = GNUNET_TESTBED_peer_get_information (peers[2],
-                                                       
GNUNET_TESTBED_PIT_CONFIGURATION,
-                                                       &peerinfo_cb, NULL);
-
-}
-
-void testbed_controller_cb (void *cls, const struct 
GNUNET_TESTBED_EventInformation *event)
-{
-  static int connections = 0;
-
-  switch (event->type)
-  {
-    case GNUNET_TESTBED_ET_OPERATION_FINISHED:
-      /* This part will still be called when
-        GNUNET_TESTBED_peer_get_information() succeeds. However, the code is
-        now more relevant in operation completion callback */
-      break;
-    case GNUNET_TESTBED_ET_CONNECT:
-      connections ++;
-      if (connections == 3)
-      {
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers connected\n");
-          GNUNET_TESTBED_operation_done (topology_op);
-          topology_op = NULL;
-          all_connected ();
-      }
-      break;
-    default:
-      /* whatever ... */
-      break;
-  }
-}
-
-int
-main (int argc, char *argv[])
-{
-  uint64_t event_mask;
-  ok = 0;
-  event_mask = 0;
-  event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT);
-  event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED);
-  (void) GNUNET_TESTBED_test_run ("test_gns_dht_three_peers", 
"test_gns_dht_default.conf",
-                                  3, event_mask,
-                                  &testbed_controller_cb, NULL,
-                                  &testbed_master, NULL);
-  if (GNUNET_SYSERR == ok)
-    return 1;
-  return 0;
-}
-
-/* end of test_gns_dht_three_peers.c */
-




reply via email to

[Prev in Thread] Current Thread [Next in Thread]