*
*/
#include "platform.h"
-#include "gnunet_testing_lib-new.h"
+#include "gnunet_testing_lib.h"
#include "gnunet_core_service.h"
#include "block_gns.h"
#include "gnunet_signatures.h"
#include "gnunet_dht_service.h"
#include "gnunet_gns_service.h"
-/* DEFINES */
-#define VERBOSE GNUNET_YES
-
/* Timeout for entire testcase */
#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 30)
-/* If number of peers not in config file, use this number */
-#define DEFAULT_NUM_PEERS 2
-
/* test records to resolve */
#define TEST_DOMAIN "www.alicewonderland.bobbuilder.gads"
#define TEST_IP "127.0.0.1"
static struct GNUNET_DHT_Handle *dht_handle;
-const struct GNUNET_CONFIGURATION_Handle *cfg;
-
-struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded alice_pkey;
-struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded bob_pkey;
-struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded our_pkey;
-struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded priv_pkey;
-struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded short_pkey;
-struct GNUNET_CRYPTO_RsaPrivateKey *alice_key;
-struct GNUNET_CRYPTO_RsaPrivateKey *bob_key;
-struct GNUNET_CRYPTO_RsaPrivateKey *our_key;
-struct GNUNET_CRYPTO_RsaPrivateKey *priv_key;
-struct GNUNET_CRYPTO_RsaPrivateKey *short_key;
-struct GNUNET_CRYPTO_ShortHashCode alice_hash;
-struct GNUNET_CRYPTO_ShortHashCode bob_hash;
-struct GNUNET_CRYPTO_ShortHashCode our_zone;
-struct GNUNET_CRYPTO_ShortHashCode priv_zone;
-struct GNUNET_CRYPTO_ShortHashCode short_zone;
+static const struct GNUNET_CONFIGURATION_Handle *cfg;
+
+static struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded alice_pkey;
+static struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded bob_pkey;
+static struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded our_pkey;
+static struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded priv_pkey;
+static struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded short_pkey;
+static struct GNUNET_CRYPTO_EccPrivateKey *alice_key;
+static struct GNUNET_CRYPTO_EccPrivateKey *bob_key;
+static struct GNUNET_CRYPTO_EccPrivateKey *our_key;
+static struct GNUNET_CRYPTO_EccPrivateKey *priv_key;
+static struct GNUNET_CRYPTO_EccPrivateKey *short_key;
+static struct GNUNET_CRYPTO_ShortHashCode alice_hash;
+static struct GNUNET_CRYPTO_ShortHashCode bob_hash;
+static struct GNUNET_CRYPTO_ShortHashCode our_zone;
+static struct GNUNET_CRYPTO_ShortHashCode priv_zone;
+static struct GNUNET_CRYPTO_ShortHashCode short_zone;
/**
ok = 1;
}
+
static void
end_badly_now ()
{
die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
}
-static void shutdown_task (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+
+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");
static void
commence_testing (void *cls, int success)
{
- GNUNET_CRYPTO_rsa_key_free(our_key);
- GNUNET_CRYPTO_rsa_key_free(bob_key);
- GNUNET_CRYPTO_rsa_key_free(alice_key);
+ GNUNET_CRYPTO_ecc_key_free(our_key);
+ GNUNET_CRYPTO_ecc_key_free(bob_key);
+ GNUNET_CRYPTO_ecc_key_free(alice_key);
GNUNET_NAMESTORE_disconnect (namestore_handle);
namestore_handle = NULL;
gns_handle = GNUNET_GNS_connect(cfg);
struct GNUNET_HashCode zone_hash_double;
uint32_t rd_payload_length;
char* nrb_data = NULL;
- struct GNUNET_CRYPTO_RsaSignature *sig;
+ struct GNUNET_CRYPTO_EccSignature *sig;
struct GNUNET_NAMESTORE_RecordData rd;
memset (&rd, 0, sizeof (struct GNUNET_NAMESTORE_RecordData));
sig = GNUNET_NAMESTORE_create_signature(alice_key,
GNUNET_TIME_UNIT_FOREVER_ABS,
- "+",
+ GNUNET_GNS_MASTERZONE_STR,
&rd, 1);
GNUNET_assert (NULL != sig);
GNUNET_break (GNUNET_OK == GNUNET_NAMESTORE_verify_signature (&alice_pkey,
GNUNET_TIME_UNIT_FOREVER_ABS,
- "+",
+ GNUNET_GNS_MASTERZONE_STR,
1,
&rd,
sig));
rd_payload_length = GNUNET_NAMESTORE_records_get_size (1, &rd);
- nrb = GNUNET_malloc(rd_payload_length + strlen("+") + 1
+ nrb = GNUNET_malloc(rd_payload_length + strlen(GNUNET_GNS_MASTERZONE_STR) + 1
+ sizeof(struct GNSNameRecordBlock));
nrb->signature = *sig;
nrb->public_key = alice_pkey;
nrb->rd_count = htonl(1);
- memset(&nrb[1], 0, strlen("+") + 1);
- strcpy((char*)&nrb[1], "+");
+ memset(&nrb[1], 0, strlen(GNUNET_GNS_MASTERZONE_STR) + 1);
+ strcpy((char*)&nrb[1], GNUNET_GNS_MASTERZONE_STR);
nrb_data = (char*)&nrb[1];
- nrb_data += strlen("+") + 1;
+ nrb_data += strlen(GNUNET_GNS_MASTERZONE_STR) + 1;
if (-1 == GNUNET_NAMESTORE_records_serialize (1,
&rd,
{
GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Record serialization failed!\n");
ok = 3;
- GNUNET_CRYPTO_rsa_key_free(our_key);
- GNUNET_CRYPTO_rsa_key_free(bob_key);
- GNUNET_CRYPTO_rsa_key_free(alice_key);
+ GNUNET_CRYPTO_ecc_key_free(our_key);
+ GNUNET_CRYPTO_ecc_key_free(bob_key);
+ GNUNET_CRYPTO_ecc_key_free(alice_key);
GNUNET_free(sig);
GNUNET_free (nrb);
end_badly_now ();
return;
}
- GNUNET_CRYPTO_short_hash("+", strlen("+"), &name_hash);
+ GNUNET_CRYPTO_short_hash(GNUNET_GNS_MASTERZONE_STR, strlen(GNUNET_GNS_MASTERZONE_STR), &name_hash);
GNUNET_CRYPTO_short_hash(&alice_pkey,
- sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
+ sizeof(struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded),
&zone_hash);
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("+") + 1;
+ strlen(GNUNET_GNS_MASTERZONE_STR) + 1;
GNUNET_DHT_put (dht_handle, &xor_hash,
0,
GNUNET_free (nrb);
}
+
static void
put_www_dht(void *cls, int success)
{
struct GNUNET_HashCode zone_hash_double;
uint32_t rd_payload_length;
char* nrb_data = NULL;
- struct GNUNET_CRYPTO_RsaSignature *sig;
+ struct GNUNET_CRYPTO_EccSignature *sig;
struct GNUNET_NAMESTORE_RecordData rd;
char* ip = TEST_IP;
struct in_addr *web = GNUNET_malloc(sizeof(struct in_addr));
{
GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Record serialization failed!\n");
ok = 3;
- GNUNET_CRYPTO_rsa_key_free(our_key);
- GNUNET_CRYPTO_rsa_key_free(bob_key);
- GNUNET_CRYPTO_rsa_key_free(alice_key);
+ GNUNET_CRYPTO_ecc_key_free(our_key);
+ GNUNET_CRYPTO_ecc_key_free(bob_key);
+ GNUNET_CRYPTO_ecc_key_free(alice_key);
GNUNET_free (sig);
GNUNET_free(web);
GNUNET_free (nrb);
}
GNUNET_CRYPTO_short_hash(TEST_RECORD_NAME, strlen(TEST_RECORD_NAME), &name_hash);
GNUNET_CRYPTO_short_hash(&alice_pkey,
- sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
+ sizeof(struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded),
&zone_hash);
GNUNET_CRYPTO_short_hash_double(&zone_hash, &zone_hash_double);
GNUNET_CRYPTO_short_hash_double(&name_hash, &name_hash_double);
struct GNUNET_HashCode zone_hash_double;
uint32_t rd_payload_length;
char* nrb_data = NULL;
- struct GNUNET_CRYPTO_RsaSignature *sig;
+ struct GNUNET_CRYPTO_EccSignature *sig;
struct GNUNET_NAMESTORE_RecordData rd;
rd.expiration_time = UINT64_MAX;
GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Record serialization failed!\n");
ok = 3;
- GNUNET_CRYPTO_rsa_key_free (our_key);
- GNUNET_CRYPTO_rsa_key_free (bob_key);
- GNUNET_CRYPTO_rsa_key_free (alice_key);
+ GNUNET_CRYPTO_ecc_key_free (our_key);
+ GNUNET_CRYPTO_ecc_key_free (bob_key);
+ GNUNET_CRYPTO_ecc_key_free (alice_key);
GNUNET_free (sig);
GNUNET_free (nrb);
end_badly_now ();
GNUNET_CRYPTO_short_hash(TEST_AUTHORITY_ALICE,
strlen(TEST_AUTHORITY_ALICE), &name_hash);
GNUNET_CRYPTO_short_hash(&bob_pkey,
- sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
+ sizeof(struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded),
&zone_hash);
GNUNET_CRYPTO_short_hash_double(&zone_hash, &zone_hash_double);
GNUNET_CRYPTO_short_hash_double(&name_hash, &name_hash_double);
GNUNET_free (nrb);
}
+
static void
fin_init_zone (void *cls, int32_t success, const char *emsg)
{
NULL);
}
+
static void
do_check (void *cls,
const struct GNUNET_CONFIGURATION_Handle *ccfg,
end_badly_now();
return;
}
- our_key = GNUNET_CRYPTO_rsa_key_create_from_file (our_keyfile);
- priv_key = GNUNET_CRYPTO_rsa_key_create_from_file (private_keyfile);
- short_key = GNUNET_CRYPTO_rsa_key_create_from_file (shorten_keyfile);
- bob_key = GNUNET_CRYPTO_rsa_key_create_from_file (KEYFILE_BOB);
- alice_key = GNUNET_CRYPTO_rsa_key_create_from_file (KEYFILE_ALICE);
+ our_key = GNUNET_CRYPTO_ecc_key_create_from_file (our_keyfile);
+ priv_key = GNUNET_CRYPTO_ecc_key_create_from_file (private_keyfile);
+ short_key = GNUNET_CRYPTO_ecc_key_create_from_file (shorten_keyfile);
+ bob_key = GNUNET_CRYPTO_ecc_key_create_from_file (KEYFILE_BOB);
+ alice_key = GNUNET_CRYPTO_ecc_key_create_from_file (KEYFILE_ALICE);
GNUNET_free(our_keyfile);
GNUNET_free(shorten_keyfile);
GNUNET_free(private_keyfile);
- GNUNET_CRYPTO_rsa_key_get_public (our_key, &our_pkey);
- GNUNET_CRYPTO_rsa_key_get_public (priv_key, &priv_pkey);
- GNUNET_CRYPTO_rsa_key_get_public (short_key, &short_pkey);
- GNUNET_CRYPTO_rsa_key_get_public (bob_key, &bob_pkey);
- GNUNET_CRYPTO_rsa_key_get_public (alice_key, &alice_pkey);
+ GNUNET_CRYPTO_ecc_key_get_public (our_key, &our_pkey);
+ GNUNET_CRYPTO_ecc_key_get_public (priv_key, &priv_pkey);
+ GNUNET_CRYPTO_ecc_key_get_public (short_key, &short_pkey);
+ GNUNET_CRYPTO_ecc_key_get_public (bob_key, &bob_pkey);
+ GNUNET_CRYPTO_ecc_key_get_public (alice_key, &alice_pkey);
GNUNET_CRYPTO_short_hash(&bob_pkey, sizeof(bob_pkey), &bob_hash);
GNUNET_CRYPTO_short_hash(&alice_pkey, sizeof(alice_pkey), &alice_hash);
GNUNET_CRYPTO_short_hash(&our_pkey, sizeof(our_pkey), &our_zone);
NULL);
}
+
int
main (int argc, char *argv[])
{
ok = 1;
-
GNUNET_log_setup ("test-gns-pseu-shorten",
-#if VERBOSE
- "DEBUG",
-#else
"WARNING",
-#endif
NULL);
GNUNET_TESTING_peer_run ("test-gns-pseu-shorten", "test_gns_simple_lookup.conf", &do_check, NULL);
return ok;