[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20412 - in gnunet/src: gns include namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20412 - in gnunet/src: gns include namestore |
Date: |
Fri, 9 Mar 2012 15:14:01 +0100 |
Author: wachs
Date: 2012-03-09 15:14:01 +0100 (Fri, 09 Mar 2012)
New Revision: 20412
Modified:
gnunet/src/gns/test_gns_dht_delegated_lookup.c
gnunet/src/gns/test_gns_simple_shorten.c
gnunet/src/include/gnunet_namestore_service.h
gnunet/src/namestore/gnunet-service-namestore.c
gnunet/src/namestore/namestore.h
gnunet/src/namestore/namestore_api.c
gnunet/src/namestore/namestore_common.c
gnunet/src/namestore/test_namestore_api_create.c
gnunet/src/namestore/test_namestore_api_create_update.c
gnunet/src/namestore/test_namestore_api_lookup.c
gnunet/src/namestore/test_namestore_api_lookup_specific_type.c
gnunet/src/namestore/test_namestore_api_put.c
gnunet/src/namestore/test_namestore_api_remove.c
gnunet/src/namestore/test_namestore_api_remove_not_existing_record.c
gnunet/src/namestore/test_namestore_api_sign_verify.c
gnunet/src/namestore/test_namestore_api_zone_iteration.c
gnunet/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
gnunet/src/namestore/test_namestore_api_zone_iteration_stop.c
gnunet/src/namestore/test_namestore_api_zone_to_name.c
Log:
- changes to signing verfifying: includes block expiration
Modified: gnunet/src/gns/test_gns_dht_delegated_lookup.c
===================================================================
--- gnunet/src/gns/test_gns_dht_delegated_lookup.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/gns/test_gns_dht_delegated_lookup.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -204,7 +204,8 @@
rd.data_size = sizeof(struct in_addr);
rd.data = web;
rd.record_type = GNUNET_DNSPARSER_TYPE_A;
- sig = GNUNET_NAMESTORE_create_signature(bob_key, TEST_RECORD_NAME,
+
+ sig = GNUNET_NAMESTORE_create_signature(bob_key,
GNUNET_TIME_absolute_get_forever(), TEST_RECORD_NAME,
&rd, 1);
rd_payload_length = GNUNET_NAMESTORE_records_get_size (1, &rd);
nrb = GNUNET_malloc(rd_payload_length + strlen(TEST_RECORD_NAME) + 1
Modified: gnunet/src/gns/test_gns_simple_shorten.c
===================================================================
--- gnunet/src/gns/test_gns_simple_shorten.c 2012-03-09 13:32:25 UTC (rev
20411)
+++ gnunet/src/gns/test_gns_simple_shorten.c 2012-03-09 14:14:01 UTC (rev
20412)
@@ -254,7 +254,7 @@
/* put alice into bobs zone */
GNUNET_CRYPTO_hash(&alice_pkey, sizeof(alice_pkey), &alice_hash);
rd.data = &alice_hash;
- sig = GNUNET_NAMESTORE_create_signature(bob_key, TEST_AUTHORITY_ALICE,
+ sig = GNUNET_NAMESTORE_create_signature(bob_key,
GNUNET_TIME_absolute_get_forever(), TEST_AUTHORITY_ALICE,
&rd, 1);
GNUNET_NAMESTORE_record_put (namestore_handle,
@@ -272,7 +272,7 @@
rd.data_size = sizeof(struct in_addr);
rd.data = web;
rd.record_type = GNUNET_DNSPARSER_TYPE_A;
- sig = GNUNET_NAMESTORE_create_signature(alice_key, TEST_RECORD_NAME,
+ sig =
GNUNET_NAMESTORE_create_signature(alice_key,GNUNET_TIME_absolute_get_forever(),
TEST_RECORD_NAME,
&rd, 1);
GNUNET_NAMESTORE_record_put (namestore_handle,
@@ -290,7 +290,7 @@
rd.record_type = GNUNET_GNS_RECORD_PSEU;
GNUNET_free(sig);
- sig = GNUNET_NAMESTORE_create_signature(alice_key, "",
+ sig =
GNUNET_NAMESTORE_create_signature(alice_key,GNUNET_TIME_absolute_get_forever(),
"",
&rd, 1);
GNUNET_NAMESTORE_record_put (namestore_handle,
Modified: gnunet/src/include/gnunet_namestore_service.h
===================================================================
--- gnunet/src/include/gnunet_namestore_service.h 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/include/gnunet_namestore_service.h 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -206,6 +206,7 @@
* to validate signatures received from the network.
*
* @param public_key public key of the zone
+ * @param expire block expiration
* @param name name that is being mapped (at most 255 characters long)
* @param rd_count number of entries in 'rd' array
* @param rd array of records with data to store
@@ -214,10 +215,11 @@
*/
int
GNUNET_NAMESTORE_verify_signature (const struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *public_key,
- const char *name,
- unsigned int rd_count,
- const struct GNUNET_NAMESTORE_RecordData *rd,
- const struct GNUNET_CRYPTO_RsaSignature
*signature);
+ const struct GNUNET_TIME_Absolute expire,
+ const char *name,
+ unsigned int rd_count,
+ const struct GNUNET_NAMESTORE_RecordData
*rd,
+ const struct GNUNET_CRYPTO_RsaSignature
*signature);
/**
Modified: gnunet/src/namestore/gnunet-service-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-service-namestore.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/namestore/gnunet-service-namestore.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -212,6 +212,21 @@
}
+struct GNUNET_TIME_Absolute
+get_block_expiration_time (unsigned int rd_count, const struct
GNUNET_NAMESTORE_RecordData *rd)
+{
+ int c;
+ struct GNUNET_TIME_Absolute expire = GNUNET_TIME_absolute_get_forever();
+ if (NULL == rd)
+ return GNUNET_TIME_absolute_get_zero();
+ for (c = 0; c < rd_count; c++)
+ {
+ if (rd[c].expiration.abs_value < expire.abs_value)
+ expire = rd[c].expiration;
+ }
+ return expire;
+}
+
/**
* Task run during shutdown.
*
@@ -231,6 +246,7 @@
snc = NULL;
GNUNET_CONTAINER_multihashmap_iterate(zonekeys, &zone_to_disk_it, NULL);
+ GNUNET_CONTAINER_multihashmap_destroy(zonekeys);
for (nc = client_head; nc != NULL; nc = next)
{
@@ -364,6 +380,7 @@
struct GNUNET_NAMESTORE_RecordData *rd_selected = NULL;
struct GNUNET_NAMESTORE_CryptoContainer *cc;
struct GNUNET_CRYPTO_RsaSignature *signature_new = NULL;
+ struct GNUNET_TIME_Absolute e;
GNUNET_HashCode zone_key_hash;
char *rd_tmp;
char *name_tmp;
@@ -435,7 +452,8 @@
if (GNUNET_CONTAINER_multihashmap_contains(zonekeys, &zone_key_hash))
{
cc = GNUNET_CONTAINER_multihashmap_get(zonekeys, &zone_key_hash);
- signature_new = GNUNET_NAMESTORE_create_signature(cc->privkey, name, rd,
rd_count);
+ e = get_block_expiration_time(rd_count, rd);
+ signature_new = GNUNET_NAMESTORE_create_signature(cc->privkey, e, name,
rd, rd_count);
GNUNET_assert (signature_new != NULL);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating signature for name `%s'
with %u records in zone `%s'\n",name, copied_elements,
GNUNET_h2s(&zone_key_hash));
authoritative = GNUNET_YES;
@@ -444,9 +462,6 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "I am not authoritative for name
`%s' in zone `%s'\n",name, GNUNET_h2s(&zone_key_hash));
}
- if (rd_selected != rd)
- GNUNET_free (rd_selected);
-
r_size = sizeof (struct LookupNameResponseMessage) +
sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded) +
name_len +
@@ -460,8 +475,11 @@
lnr_msg->rd_count = htons (copied_elements);
lnr_msg->rd_len = htons (rd_ser_len);
lnr_msg->name_len = htons (name_len);
- lnr_msg->expire = GNUNET_TIME_absolute_hton(expire);
+ lnr_msg->expire =
GNUNET_TIME_absolute_hton(get_block_expiration_time(copied_elements,
rd_selected));
+ if (rd_selected != rd)
+ GNUNET_free (rd_selected);
+
if (zone_key != NULL)
lnr_msg->public_key = (*zone_key);
else
@@ -811,6 +829,7 @@
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received `%s' message\n",
"NAMESTORE_RECORD_CREATE");
struct GNUNET_NAMESTORE_Client *nc;
+ struct GNUNET_NAMESTORE_CryptoContainer *cc;
struct CreateRecordContext crc;
struct GNUNET_CRYPTO_RsaPrivateKey *pkey;
struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pub;
@@ -895,6 +914,19 @@
GNUNET_CRYPTO_rsa_key_get_public(pkey, &pub);
GNUNET_CRYPTO_hash (&pub, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &pubkey_hash);
+ if (GNUNET_NO == GNUNET_CONTAINER_multihashmap_contains(zonekeys,
&pubkey_hash))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received new private key for zone
`%s'\n",GNUNET_h2s(&pubkey_hash));
+
+ cc = GNUNET_malloc (sizeof (struct GNUNET_NAMESTORE_CryptoContainer));
+ cc->privkey = GNUNET_CRYPTO_rsa_decode_key((char *) pkey_tmp, key_len);
+ cc->pubkey = GNUNET_malloc(sizeof (pub));
+ memcpy (cc->pubkey, &pub, sizeof(pub));
+ cc->zone = pubkey_hash;
+
+ GNUNET_CONTAINER_multihashmap_put(zonekeys, &pubkey_hash, cc,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+ }
+
crc.expire = GNUNET_TIME_absolute_ntoh(rp_msg->expire);
crc.res = GNUNET_SYSERR;
crc.pkey = pkey;
@@ -909,6 +941,7 @@
if (res != GNUNET_SYSERR)
res = GNUNET_OK;
GNUNET_CRYPTO_rsa_key_free(pkey);
+ pkey = NULL;
/* Send response */
send:
@@ -1027,6 +1060,7 @@
struct GNUNET_NAMESTORE_Client *nc;
struct RecordRemoveResponseMessage rrr_msg;
struct GNUNET_CRYPTO_RsaPrivateKey *pkey;
+ struct GNUNET_NAMESTORE_CryptoContainer *cc = NULL;
struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pub;
GNUNET_HashCode pubkey_hash;
char * pkey_tmp = NULL;
@@ -1120,6 +1154,18 @@
GNUNET_CRYPTO_rsa_key_get_public(pkey, &pub);
GNUNET_CRYPTO_hash (&pub, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &pubkey_hash);
+ if (GNUNET_NO == GNUNET_CONTAINER_multihashmap_contains(zonekeys,
&pubkey_hash))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received new private key for zone
`%s'\n",GNUNET_h2s(&pubkey_hash));
+ cc = GNUNET_malloc (sizeof (struct GNUNET_NAMESTORE_CryptoContainer));
+ cc->privkey = GNUNET_CRYPTO_rsa_decode_key((char *) pkey_tmp, key_len);
+ cc->pubkey = GNUNET_malloc(sizeof (pub));
+ memcpy (cc->pubkey, &pub, sizeof(pub));
+ cc->zone = pubkey_hash;
+
+ GNUNET_CONTAINER_multihashmap_put(zonekeys, &pubkey_hash, cc,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+ }
+
struct GNUNET_NAMESTORE_RecordData rd[rd_count];
res = GNUNET_NAMESTORE_records_deserialize(rd_ser_len, rd_ser, rd_count, rd);
if ((res != GNUNET_OK) || (rd_count != 1))
@@ -1334,6 +1380,7 @@
struct GNUNET_NAMESTORE_Client *nc = zi->client;
struct GNUNET_NAMESTORE_CryptoContainer * cc;
struct GNUNET_CRYPTO_RsaSignature *signature_new = NULL;
+ struct GNUNET_TIME_Absolute e;
GNUNET_HashCode zone_key_hash;
int authoritative = GNUNET_NO;
@@ -1393,9 +1440,11 @@
if (GNUNET_CONTAINER_multihashmap_contains(zonekeys, &zone_key_hash))
{
cc = GNUNET_CONTAINER_multihashmap_get(zonekeys, &zone_key_hash);
- signature_new = GNUNET_NAMESTORE_create_signature(cc->privkey, name, rd,
rd_count);
+ e = get_block_expiration_time(rd_count, rd);
+ expire = e;
+ signature_new = GNUNET_NAMESTORE_create_signature(cc->privkey, e, name,
rd, rd_count);
GNUNET_assert (signature_new != NULL);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating signature for name `%s'
with %u records in zone `%s'\n",name, rd_count, GNUNET_h2s(&zone_key_hash));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating signature for `%s' in
zone `%s' with %u records and expiration %llu\n", name,
GNUNET_h2s(&zone_key_hash), rd_count, e.abs_value);
authoritative = GNUNET_YES;
}
Modified: gnunet/src/namestore/namestore.h
===================================================================
--- gnunet/src/namestore/namestore.h 2012-03-09 13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/namestore.h 2012-03-09 14:14:01 UTC (rev 20412)
@@ -47,9 +47,10 @@
#define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_STOP 448
/**
- * Create a signature based on name and records
+ * Sign name and records
*
* @param key the private key
+ * @param expire block expiration
* @param name the name
* @param rd record data
* @param rd_count number of records
@@ -58,9 +59,10 @@
*/
struct GNUNET_CRYPTO_RsaSignature *
GNUNET_NAMESTORE_create_signature (const struct GNUNET_CRYPTO_RsaPrivateKey
*key,
- const char *name,
- const struct GNUNET_NAMESTORE_RecordData
*rd,
- unsigned int rd_count);
+ struct GNUNET_TIME_Absolute expire,
+ const char *name,
+ const struct GNUNET_NAMESTORE_RecordData *rd,
+ unsigned int rd_count);
/**
* Compares if two records are equal
Modified: gnunet/src/namestore/namestore_api.c
===================================================================
--- gnunet/src/namestore/namestore_api.c 2012-03-09 13:32:25 UTC (rev
20411)
+++ gnunet/src/namestore/namestore_api.c 2012-03-09 14:14:01 UTC (rev
20412)
@@ -1048,6 +1048,7 @@
* to validate signatures received from the network.
*
* @param public_key public key of the zone
+ * @param expire block expiration
* @param name name that is being mapped (at most 255 characters long)
* @param rd_count number of entries in 'rd' array
* @param rd array of records with data to store
@@ -1056,6 +1057,7 @@
*/
int
GNUNET_NAMESTORE_verify_signature (const struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *public_key,
+ const struct GNUNET_TIME_Absolute expire,
const char *name,
unsigned int rd_count,
const struct GNUNET_NAMESTORE_RecordData *rd,
@@ -1067,6 +1069,8 @@
char * name_tmp;
char * rd_tmp;
struct GNUNET_CRYPTO_RsaSignaturePurpose *sig_purpose;
+ struct GNUNET_TIME_AbsoluteNBO *expire_tmp;
+ struct GNUNET_TIME_AbsoluteNBO expire_nbo =
GNUNET_TIME_absolute_hton(expire);
GNUNET_assert (public_key != NULL);
GNUNET_assert (name != NULL);
@@ -1085,11 +1089,13 @@
return GNUNET_SYSERR;
}
- sig_purpose = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose) + rd_ser_len + name_len);
+ sig_purpose = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
rd_ser_len + name_len);
sig_purpose->size = htonl (sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose)+ rd_ser_len + name_len);
sig_purpose->purpose = htonl (GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN);
- name_tmp = (char *) &sig_purpose[1];
+ expire_tmp = (struct GNUNET_TIME_AbsoluteNBO *) &sig_purpose[1];
+ name_tmp = (char *) &expire_tmp[1];
rd_tmp = &name_tmp[name_len];
+ memcpy (expire_tmp, &expire_nbo, sizeof (struct GNUNET_TIME_AbsoluteNBO));
memcpy (name_tmp, name, name_len);
memcpy (rd_tmp, rd_ser, rd_ser_len);
Modified: gnunet/src/namestore/namestore_common.c
===================================================================
--- gnunet/src/namestore/namestore_common.c 2012-03-09 13:32:25 UTC (rev
20411)
+++ gnunet/src/namestore/namestore_common.c 2012-03-09 14:14:01 UTC (rev
20412)
@@ -198,6 +198,7 @@
* Sign name and records
*
* @param key the private key
+ * @param expire block expiration
* @param name the name
* @param rd record data
* @param rd_count number of records
@@ -206,14 +207,18 @@
*/
struct GNUNET_CRYPTO_RsaSignature *
GNUNET_NAMESTORE_create_signature (const struct GNUNET_CRYPTO_RsaPrivateKey
*key,
+ struct GNUNET_TIME_Absolute expire,
const char *name,
const struct GNUNET_NAMESTORE_RecordData *rd,
unsigned int rd_count)
{
struct GNUNET_CRYPTO_RsaSignature *sig = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignature));
struct GNUNET_CRYPTO_RsaSignaturePurpose *sig_purpose;
+ struct GNUNET_TIME_AbsoluteNBO expire_nbo =
GNUNET_TIME_absolute_hton(expire);
size_t rd_ser_len;
size_t name_len;
+
+ struct GNUNET_TIME_AbsoluteNBO *expire_tmp;
char * name_tmp;
char * rd_tmp;
int res;
@@ -230,12 +235,13 @@
char rd_ser[rd_ser_len];
GNUNET_NAMESTORE_records_serialize(rd_count, rd, rd_ser_len, rd_ser);
- sig_purpose = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose) + rd_ser_len + name_len);
-
+ sig_purpose = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
rd_ser_len + name_len);
sig_purpose->size = htonl (sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose)+ rd_ser_len + name_len);
sig_purpose->purpose = htonl (GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN);
- name_tmp = (char *) &sig_purpose[1];
+ expire_tmp = (struct GNUNET_TIME_AbsoluteNBO *) &sig_purpose[1];
+ name_tmp = (char *) &expire_tmp[1];
rd_tmp = &name_tmp[name_len];
+ memcpy (expire_tmp, &expire_nbo, sizeof (struct GNUNET_TIME_AbsoluteNBO));
memcpy (name_tmp, name, name_len);
memcpy (rd_tmp, rd_ser, rd_ser_len);
Modified: gnunet/src/namestore/test_namestore_api_create.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_create.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/namestore/test_namestore_api_create.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -176,14 +176,14 @@
}
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, expire, n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
@@ -192,7 +192,7 @@
struct GNUNET_NAMESTORE_RecordData rd_new[2];
rd_new[0] = *s_first_record;
rd_new[1] = *s_second_record;
- s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, s_name,
rd_new, 2);
+ s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, expire,
s_name, rd_new, 2);
if (0 != memcmp (s_signature_updated, signature, sizeof (struct
GNUNET_CRYPTO_RsaSignature)))
{
@@ -281,7 +281,7 @@
}
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire,n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
@@ -423,7 +423,7 @@
char rd_ser[rd_ser_len];
GNUNET_NAMESTORE_records_serialize(1, s_first_record, rd_ser_len, rd_ser);
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name,
s_first_record, 1);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey,
s_first_record->expiration, s_name, s_first_record, 1);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_create_update.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_create_update.c 2012-03-09
13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_create_update.c 2012-03-09
14:14:01 UTC (rev 20412)
@@ -176,7 +176,7 @@
}
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
@@ -185,7 +185,7 @@
struct GNUNET_NAMESTORE_RecordData rd_new[2];
rd_new[0] = *s_first_record;
rd_new[1] = *s_second_record;
- s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, s_name,
rd_new, 2);
+ s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, expire,
s_name, rd_new, 2);
if (0 != memcmp (s_signature_updated, signature, sizeof (struct
GNUNET_CRYPTO_RsaSignature)))
{
@@ -274,7 +274,7 @@
}
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
@@ -462,7 +462,7 @@
char rd_ser[rd_ser_len];
GNUNET_NAMESTORE_records_serialize(1, s_first_record, rd_ser_len, rd_ser);
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name,
s_first_record, 1);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey,
s_first_record->expiration, s_name, s_first_record, 1);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_lookup.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_lookup.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/namestore/test_namestore_api_lookup.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -270,7 +270,7 @@
GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
/* sign */
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd,
RECORDS);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[0].expiration,
s_name, s_rd, RECORDS);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_lookup_specific_type.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_lookup_specific_type.c
2012-03-09 13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_lookup_specific_type.c
2012-03-09 14:14:01 UTC (rev 20412)
@@ -279,7 +279,7 @@
for (c = 0; c < RECORDS-1; c++)
{
- rd[c].expiration = GNUNET_TIME_absolute_get();
+ rd[c].expiration = GNUNET_TIME_absolute_get_zero();
rd[c].record_type = 1;
rd[c].data_size = TEST_RECORD_DATALEN;
rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
@@ -342,7 +342,7 @@
GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
/* sign */
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd,
RECORDS);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[RECORDS
-1].expiration, s_name, s_rd, RECORDS);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_put.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_put.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/namestore/test_namestore_api_put.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -196,7 +196,7 @@
char * s_name = "dummy.dummy.gnunet";
s_rd = create_record (RECORDS);
- signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd,
RECORDS);
+ signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[0].expiration,
s_name, s_rd, RECORDS);
GNUNET_break (s_rd != NULL);
GNUNET_break (s_name != NULL);
Modified: gnunet/src/namestore/test_namestore_api_remove.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_remove.c 2012-03-09 13:32:25 UTC
(rev 20411)
+++ gnunet/src/namestore/test_namestore_api_remove.c 2012-03-09 14:14:01 UTC
(rev 20412)
@@ -174,7 +174,7 @@
}
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count,
rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n,
rd_count, rd, signature))
{
GNUNET_break (0);
failed = GNUNET_YES;
@@ -251,7 +251,7 @@
for (c = 1; c < RECORDS; c++)
{
- rd[c].expiration = GNUNET_TIME_absolute_get();
+ rd[c].expiration = GNUNET_TIME_absolute_get_zero();
rd[c].record_type = TEST_RECORD_TYPE;
rd[c].data_size = TEST_RECORD_DATALEN;
rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
@@ -306,7 +306,7 @@
GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
/* sign */
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd,
RECORDS);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[0].expiration,
s_name, s_rd, RECORDS);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_remove_not_existing_record.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_remove_not_existing_record.c
2012-03-09 13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_remove_not_existing_record.c
2012-03-09 14:14:01 UTC (rev 20412)
@@ -240,7 +240,7 @@
GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
/* sign */
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd,
RECORDS);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[0].expiration,
s_name, s_rd, RECORDS);
/* create random zone hash */
GNUNET_CRYPTO_hash (&pubkey, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
Modified: gnunet/src/namestore/test_namestore_api_sign_verify.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_sign_verify.c 2012-03-09
13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_sign_verify.c 2012-03-09
14:14:01 UTC (rev 20412)
@@ -80,6 +80,7 @@
privkey = GNUNET_CRYPTO_rsa_key_create_from_file(hostkey_file);
GNUNET_free (hostkey_file);
GNUNET_assert (privkey != NULL);
+ struct GNUNET_TIME_Absolute expire = GNUNET_TIME_absolute_get();
/* get public key */
GNUNET_CRYPTO_rsa_key_get_public(privkey, &pubkey);
@@ -90,19 +91,19 @@
s_name = "dummy.dummy.gnunet";
s_rd = create_record (RECORDS);
- signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, s_rd,
RECORDS);
+ signature = GNUNET_NAMESTORE_create_signature (privkey, expire, s_name,
s_rd, RECORDS);
GNUNET_assert (signature != NULL);
- res_c = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS, s_rd,
signature);
+ res_c = GNUNET_NAMESTORE_verify_signature(&pubkey, expire, s_name, RECORDS,
s_rd, signature);
GNUNET_break (res == GNUNET_OK);
GNUNET_free (signature);
- signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, s_rd,
RECORDS);
+ signature = GNUNET_NAMESTORE_create_signature (privkey, expire, s_name,
s_rd, RECORDS);
GNUNET_break (signature != NULL);
GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "FYI: The next warning is
intended!\n");
- res_w = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS - 1,
s_rd, signature);
+ res_w = GNUNET_NAMESTORE_verify_signature(&pubkey, expire, s_name, RECORDS -
1, s_rd, signature);
GNUNET_break (res_w == GNUNET_SYSERR);
GNUNET_free (signature);
Modified: gnunet/src/namestore/test_namestore_api_zone_iteration.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_zone_iteration.c 2012-03-09
13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_zone_iteration.c 2012-03-09
14:14:01 UTC (rev 20412)
@@ -220,8 +220,12 @@
else
{
/* verify signature returned from name store */
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, name,
rd_count, rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature (zone_key, expire,
name, rd_count, rd, signature))
{
+ GNUNET_HashCode zone_key_hash;
+ GNUNET_CRYPTO_hash (zone_key, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &zone_key_hash);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Verifying signature for `%s' in
zone `%s' with %u records and expiration %llu failed\n", name,
GNUNET_h2s(&zone_key_hash), rd_count, expire.abs_value);
+
failed = GNUNET_YES;
GNUNET_break (0);
}
@@ -284,7 +288,7 @@
failed = GNUNET_YES;
GNUNET_break (0);
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, name,
rd_count, rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, expire,
name, rd_count, rd, signature))
{
failed = GNUNET_YES;
GNUNET_break (0);
@@ -430,7 +434,7 @@
GNUNET_asprintf(&s_name_1, "dummy1");
s_rd_1 = create_record(1);
- sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_name_1, s_rd_1, 1);
+ sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_1->expiration,
s_name_1, s_rd_1, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_1, s_rd_1, &put_cont,
NULL);
@@ -438,14 +442,14 @@
GNUNET_asprintf(&s_name_2, "dummy2");
s_rd_2 = create_record(1);
- sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_name_2, s_rd_2, 1);
+ sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_2->expiration,
s_name_2, s_rd_2, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_2, s_rd_2, &put_cont,
NULL);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 3\n");
/* name in different zone */
GNUNET_asprintf(&s_name_3, "dummy3");
s_rd_3 = create_record(1);
- sig_3 = GNUNET_NAMESTORE_create_signature(privkey2, s_name_3, s_rd_3, 1);
+ sig_3 = GNUNET_NAMESTORE_create_signature(privkey2, s_rd_3->expiration,
s_name_3, s_rd_3, 1);
GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3,
GNUNET_TIME_absolute_get_forever(), 1, s_rd_3, sig_3, &put_cont, NULL);
}
Modified: gnunet/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
2012-03-09 13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
2012-03-09 14:14:01 UTC (rev 20412)
@@ -396,7 +396,7 @@
GNUNET_asprintf(&s_name_1, "dummy1");
s_rd_1 = create_record(1);
- sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_name_1, s_rd_1, 1);
+ sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_1[0].expiration
,s_name_1, s_rd_1, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_1, s_rd_1, &put_cont,
NULL);
@@ -404,14 +404,14 @@
GNUNET_asprintf(&s_name_2, "dummy2");
s_rd_2 = create_record(1);
- sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_name_2, s_rd_2, 1);
+ sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_2[0].expiration,
s_name_2, s_rd_2, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_2, s_rd_2, &put_cont,
NULL);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 3\n");
/* name in different zone */
GNUNET_asprintf(&s_name_3, "dummy3");
s_rd_3 = create_record(1);
- sig_3 = GNUNET_NAMESTORE_create_signature(privkey, s_name_3, s_rd_3, 1);
+ sig_3 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_3[0].expiration,
s_name_3, s_rd_3, 1);
GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3,
GNUNET_TIME_absolute_get_forever(), 1, s_rd_3, sig_3, &put_cont, NULL);
}
Modified: gnunet/src/namestore/test_namestore_api_zone_iteration_stop.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_zone_iteration_stop.c
2012-03-09 13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_zone_iteration_stop.c
2012-03-09 14:14:01 UTC (rev 20412)
@@ -226,7 +226,7 @@
{
/* verify signature returned from name store */
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, name,
rd_count, rd, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(zone_key, expire, name,
rd_count, rd, signature))
{
failed = GNUNET_YES;
GNUNET_break (0);
@@ -249,7 +249,7 @@
failed = GNUNET_YES;
GNUNET_break (0);
}
- if (0 != memcmp (signature, sig_1, sizeof (struct
GNUNET_CRYPTO_RsaSignature)))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire,
s_name_1, 1, s_rd_1, signature))
{
failed = GNUNET_YES;
GNUNET_break (0);
@@ -271,7 +271,7 @@
GNUNET_break (0);
}
- if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey2, s_name_2,
1, s_rd_2, signature))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire,
s_name_2, 1, s_rd_2, signature))
{
failed = GNUNET_YES;
GNUNET_break (0);
@@ -292,7 +292,7 @@
failed = GNUNET_YES;
GNUNET_break (0);
}
- if (0 != memcmp (signature, sig_3, sizeof (struct
GNUNET_CRYPTO_RsaSignature)))
+ if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey2, expire,
s_name_3, 1, s_rd_3, signature))
{
failed = GNUNET_YES;
GNUNET_break (0);
@@ -446,7 +446,7 @@
GNUNET_asprintf(&s_name_1, "dummy1");
s_rd_1 = create_record(1);
- sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_name_1, s_rd_1, 1);
+ sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_1[0].expiration,
s_name_1, s_rd_1, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_1, s_rd_1, &put_cont,
NULL);
@@ -454,14 +454,14 @@
GNUNET_asprintf(&s_name_2, "dummy2");
s_rd_2 = create_record(1);
- sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_name_2, s_rd_2, 1);
+ sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_2[0].expiration,
s_name_2, s_rd_2, 1);
GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_2, s_rd_2, &put_cont,
NULL);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 3\n");
/* name in different zone */
GNUNET_asprintf(&s_name_3, "dummy3");
s_rd_3 = create_record(1);
- sig_3 = GNUNET_NAMESTORE_create_signature(privkey2, s_name_3, s_rd_3, 1);
+ sig_3 = GNUNET_NAMESTORE_create_signature(privkey2, s_rd_3[0].expiration,
s_name_3, s_rd_3, 1);
GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3,
GNUNET_TIME_absolute_get_forever(), 1, s_rd_3, sig_3, &put_cont, NULL);
}
Modified: gnunet/src/namestore/test_namestore_api_zone_to_name.c
===================================================================
--- gnunet/src/namestore/test_namestore_api_zone_to_name.c 2012-03-09
13:32:25 UTC (rev 20411)
+++ gnunet/src/namestore/test_namestore_api_zone_to_name.c 2012-03-09
14:14:01 UTC (rev 20412)
@@ -247,7 +247,7 @@
GNUNET_break (NULL != nsh);
expire = GNUNET_TIME_absolute_get ();
- s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, &rd, 1);
+ s_signature = GNUNET_NAMESTORE_create_signature(privkey, rd.expiration,
s_name, &rd, 1);
GNUNET_NAMESTORE_record_put(nsh, &pubkey, s_name, expire, 1, &rd,
s_signature, put_cont, NULL);
GNUNET_free ((void *) rd.data);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20412 - in gnunet/src: gns include namestore,
gnunet <=