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);
+ if (zone_key != NULL)
+ lnr_msg->public_key = (*zone_key);
+ else
+ memset(&lnr_msg->public_key, '\0', sizeof (lnr_msg->public_key));
+
lnr_msg->contains_sig = htons (contains_signature);
if (GNUNET_YES == contains_signature)
lnr_msg->signature = *signature;
struct GNUNET_CRYPTO_RsaSignature *signature = NULL;
struct GNUNET_TIME_Absolute expire;
+ struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *public_key_tmp;
size_t exp_msg_len;
size_t msg_len = 0;
size_t name_len = 0;
GNUNET_break_op (0);
return;
}
- if (name_len == 0)
- {
- GNUNET_break_op (0);
- return;
- }
name = (char *) &msg[1];
rd_tmp = &name[name_len];
signature = NULL;
else
signature = &msg->signature;
+ if (name_len == 0)
+ name = NULL;
+ if ((name != NULL) && (signature != NULL) && (rd_count > 0))
+ public_key_tmp = &msg->public_key;
+ else
+ public_key_tmp = NULL;
if (qe->proc != NULL)
{
- qe->proc (qe->proc_cls, &msg->public_key, expire, name, rd_count, (rd_count > 0) ? rd : NULL, signature);
+ qe->proc (qe->proc_cls, public_key_tmp, expire, name, rd_count, (rd_count > 0) ? rd : NULL, signature);
}
/* Operation done, remove */
UNIXPATH = /tmp/gnunet-p1-service-arm.sock
[namestore]
-#PREFIX = valgrind --leak-check=full
+PREFIX = valgrind --leak-check=full
AUTOSTART = YES
UNIXPATH = /tmp/gnunet-service-namestore.sock
UNIX_MATCH_UID = YES