[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20307 - gnunet/src/namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20307 - gnunet/src/namestore |
Date: |
Tue, 6 Mar 2012 13:49:02 +0100 |
Author: wachs
Date: 2012-03-06 13:49:02 +0100 (Tue, 06 Mar 2012)
New Revision: 20307
Modified:
gnunet/src/namestore/gnunet-service-namestore.c
gnunet/src/namestore/namestore.h
gnunet/src/namestore/namestore_api.c
Log:
- fixes for put and lookup
Modified: gnunet/src/namestore/gnunet-service-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-service-namestore.c 2012-03-06 12:32:16 UTC
(rev 20306)
+++ gnunet/src/namestore/gnunet-service-namestore.c 2012-03-06 12:49:02 UTC
(rev 20307)
@@ -231,8 +231,6 @@
/* send response */
struct LookupNameContext *lnc = cls;
struct LookupNameResponseMessage *lnr_msg;
-
- struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key_tmp;
struct GNUNET_NAMESTORE_RecordData *rd_selected = NULL;
char *rd_tmp;
char *name_tmp;
@@ -313,17 +311,16 @@
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->public_key = (*zone_key);
lnr_msg->contains_sig = htons (contains_signature);
if (GNUNET_YES == contains_signature)
lnr_msg->signature = *signature;
else
memset (&lnr_msg->signature, '\0', sizeof (lnr_msg->signature));
- zone_key_tmp = (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *)
&lnr_msg[1];
- name_tmp = (char *) &zone_key_tmp[1];
+ name_tmp = (char *) &lnr_msg[1];
rd_tmp = &name_tmp[name_len];
- memcpy (zone_key_tmp, zone_key, sizeof (struct
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded));
memcpy (name_tmp, name, name_len);
memcpy (rd_tmp, rd_ser, rd_ser_len);
@@ -488,7 +485,6 @@
goto send;
}
-
GNUNET_HashCode zone_hash;
GNUNET_CRYPTO_hash (&rp_msg->public_key, sizeof (rp_msg->public_key),
&zone_hash);
@@ -511,11 +507,7 @@
rpr_msg.gns_header.header.type = htons
(GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_PUT_RESPONSE);
rpr_msg.gns_header.header.size = htons (sizeof (struct
RecordPutResponseMessage));
rpr_msg.gns_header.r_id = rp_msg->gns_header.r_id;
-
- if (GNUNET_OK == res)
- rpr_msg.op_result = htons (GNUNET_OK);
- else
- rpr_msg.op_result = htons (GNUNET_NO);
+ rpr_msg.op_result = htons (res);
GNUNET_SERVER_notification_context_unicast (snc, nc->client, (const struct
GNUNET_MessageHeader *) &rpr_msg, GNUNET_NO);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
Modified: gnunet/src/namestore/namestore.h
===================================================================
--- gnunet/src/namestore/namestore.h 2012-03-06 12:32:16 UTC (rev 20306)
+++ gnunet/src/namestore/namestore.h 2012-03-06 12:49:02 UTC (rev 20307)
@@ -277,7 +277,9 @@
struct GNUNET_NAMESTORE_Header gns_header;
/**
- * name length: GNUNET_NO (0) on error, GNUNET_OK (1) on success
+ * result:
+ * GNUNET_SYSERR on failure
+ * GNUNET_OK on success
*/
int32_t op_result;
};
@@ -286,7 +288,6 @@
/**
* Create a record and put it to the namestore
* Memory layout:
- * [struct RecordCreateMessage][char *name][rc_count * struct
GNUNET_NAMESTORE_RecordData]
*/
struct RecordCreateMessage
{
Modified: gnunet/src/namestore/namestore_api.c
===================================================================
--- gnunet/src/namestore/namestore_api.c 2012-03-06 12:32:16 UTC (rev
20306)
+++ gnunet/src/namestore/namestore_api.c 2012-03-06 12:49:02 UTC (rev
20307)
@@ -323,23 +323,20 @@
"RECORD_PUT_RESPONSE");
struct GNUNET_NAMESTORE_Handle *h = qe->nsh;
- int res = GNUNET_OK;
if (ntohs (msg->op_result) == GNUNET_OK)
{
- res = GNUNET_OK;
if (qe->cont != NULL)
{
- qe->cont (qe->cont_cls, res, _("Namestore added record successfully"));
+ qe->cont (qe->cont_cls, GNUNET_OK, _("Namestore added record
successfully"));
}
}
- else if (ntohs (msg->op_result) == GNUNET_NO)
+ else if (ntohs (msg->op_result) == GNUNET_SYSERR)
{
- res = GNUNET_SYSERR;
if (qe->cont != NULL)
{
- qe->cont (qe->cont_cls, res, _("Namestore failed to add record"));
+ qe->cont (qe->cont_cls, GNUNET_SYSERR, _("Namestore failed to add
record"));
}
}
else
@@ -952,7 +949,6 @@
size_t msg_size = 0;
size_t name_len = 0;
size_t rd_ser_len = 0;
- size_t pubkey_len = 0;
uint32_t rid = 0;
GNUNET_assert (NULL != h);
@@ -981,9 +977,8 @@
char rd_ser[rd_ser_len];
GNUNET_NAMESTORE_records_serialize(rd_count, rd, rd_ser_len, rd_ser);
- pubkey_len = sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);
struct RecordPutMessage * msg;
- msg_size = sizeof (struct RecordPutMessage) + pubkey_len + name_len +
rd_ser_len;
+ msg_size = sizeof (struct RecordPutMessage) + name_len + rd_ser_len;
/* create msg here */
pe = GNUNET_malloc(sizeof (struct PendingMessage) + msg_size);
@@ -1042,13 +1037,20 @@
GNUNET_assert (public_key != NULL);
GNUNET_assert (name != NULL);
+ GNUNET_assert (rd != NULL);
GNUNET_assert (signature != NULL);
+
rd_ser_len = GNUNET_NAMESTORE_records_get_size(rd_count, rd);
char rd_ser[rd_ser_len];
GNUNET_NAMESTORE_records_serialize(rd_count, rd, rd_ser_len, rd_ser);
name_len = strlen (name) + 1;
+ if (name_len > 256)
+ {
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
sig_purpose = GNUNET_malloc(sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose) + rd_ser_len + name_len);
sig_purpose->size = htonl (sizeof (struct
GNUNET_CRYPTO_RsaSignaturePurpose)+ rd_ser_len + name_len);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20307 - gnunet/src/namestore,
gnunet <=