aboutsummaryrefslogtreecommitdiff
path: root/src/gnsrecord
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-04-24 23:28:24 +0200
committerChristian Grothoff <christian@grothoff.org>2018-04-24 23:28:24 +0200
commitbdbb7c684f2c9711989d2543ecc08a95be23e6c4 (patch)
tree28c453ab36c79aa5058ec64f4b42889216098c5a /src/gnsrecord
parent72b802f9173bdd0f5d6830c56d7c51c3349073fe (diff)
code cleanup, more diagnostics, more statistics
Diffstat (limited to 'src/gnsrecord')
-rw-r--r--src/gnsrecord/gnsrecord_crypto.c66
1 files changed, 41 insertions, 25 deletions
diff --git a/src/gnsrecord/gnsrecord_crypto.c b/src/gnsrecord/gnsrecord_crypto.c
index 0fab97f066..dd628ea767 100644
--- a/src/gnsrecord/gnsrecord_crypto.c
+++ b/src/gnsrecord/gnsrecord_crypto.c
@@ -85,7 +85,8 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
const struct GNUNET_GNSRECORD_Data *rd,
unsigned int rd_count)
{
- size_t payload_len = GNUNET_GNSRECORD_records_get_size (rd_count, rd);
+ size_t payload_len = GNUNET_GNSRECORD_records_get_size (rd_count,
+ rd);
char payload[sizeof (uint32_t) + payload_len];
struct GNUNET_GNSRECORD_Block *block;
struct GNUNET_CRYPTO_EcdsaPublicKey pkey;
@@ -94,14 +95,13 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
struct GNUNET_CRYPTO_SymmetricSessionKey skey;
struct GNUNET_GNSRECORD_Data rdc[rd_count];
uint32_t rd_count_nbo;
- unsigned int i;
struct GNUNET_TIME_Absolute now;
if (payload_len > GNUNET_GNSRECORD_MAX_BLOCK_SIZE)
return NULL;
/* convert relative to absolute times */
now = GNUNET_TIME_absolute_get ();
- for (i=0;i<rd_count;i++)
+ for (unsigned int i=0;i<rd_count;i++)
{
rdc[i] = rd[i];
if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION))
@@ -116,13 +116,19 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
}
/* serialize */
rd_count_nbo = htonl (rd_count);
- GNUNET_memcpy (payload, &rd_count_nbo, sizeof (uint32_t));
+ GNUNET_memcpy (payload,
+ &rd_count_nbo,
+ sizeof (uint32_t));
GNUNET_assert (payload_len ==
- GNUNET_GNSRECORD_records_serialize (rd_count, rdc,
- payload_len, &payload[sizeof (uint32_t)]));
+ GNUNET_GNSRECORD_records_serialize (rd_count,
+ rdc,
+ payload_len,
+ &payload[sizeof (uint32_t)]));
block = GNUNET_malloc (sizeof (struct GNUNET_GNSRECORD_Block) +
- sizeof (uint32_t) + payload_len);
- block->purpose.size = htonl (sizeof (uint32_t) + payload_len +
+ sizeof (uint32_t) +
+ payload_len);
+ block->purpose.size = htonl (sizeof (uint32_t) +
+ payload_len +
sizeof (struct GNUNET_CRYPTO_EccSignaturePurpose) +
sizeof (struct GNUNET_TIME_AbsoluteNBO));
block->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN);
@@ -132,18 +138,23 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
label,
"gns");
GNUNET_CRYPTO_ecdsa_key_get_public (dkey,
- &block->derived_key);
+ &block->derived_key);
GNUNET_CRYPTO_ecdsa_key_get_public (key,
- &pkey);
- derive_block_aes_key (&iv, &skey, label, &pkey);
+ &pkey);
+ derive_block_aes_key (&iv,
+ &skey,
+ label,
+ &pkey);
GNUNET_break (payload_len + sizeof (uint32_t) ==
- GNUNET_CRYPTO_symmetric_encrypt (payload, payload_len + sizeof (uint32_t),
- &skey, &iv,
+ GNUNET_CRYPTO_symmetric_encrypt (payload,
+ payload_len + sizeof (uint32_t),
+ &skey,
+ &iv,
&block[1]));
if (GNUNET_OK !=
GNUNET_CRYPTO_ecdsa_sign (dkey,
- &block->purpose,
- &block->signature))
+ &block->purpose,
+ &block->signature))
{
GNUNET_break (0);
GNUNET_free (dkey);
@@ -166,9 +177,9 @@ int
GNUNET_GNSRECORD_block_verify (const struct GNUNET_GNSRECORD_Block *block)
{
return GNUNET_CRYPTO_ecdsa_verify (GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN,
- &block->purpose,
- &block->signature,
- &block->derived_key);
+ &block->purpose,
+ &block->signature,
+ &block->derived_key);
}
@@ -224,9 +235,7 @@ GNUNET_GNSRECORD_block_decrypt (const struct GNUNET_GNSRECORD_Block *block,
}
{
struct GNUNET_GNSRECORD_Data rd[rd_count];
- unsigned int i;
unsigned int j;
- unsigned int k;
struct GNUNET_TIME_Absolute now;
if (GNUNET_OK !=
@@ -241,7 +250,7 @@ GNUNET_GNSRECORD_block_decrypt (const struct GNUNET_GNSRECORD_Block *block,
/* hide expired records */
now = GNUNET_TIME_absolute_get ();
j = 0;
- for (i=0;i<rd_count;i++)
+ for (unsigned int i=0;i<rd_count;i++)
{
if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION))
{
@@ -254,7 +263,7 @@ GNUNET_GNSRECORD_block_decrypt (const struct GNUNET_GNSRECORD_Block *block,
{
int include_record = GNUNET_YES;
/* Shadow record, figure out if we have a not expired active record */
- for (k=0;k<rd_count;k++)
+ for (unsigned int k=0;k<rd_count;k++)
{
if (k == i)
continue;
@@ -283,7 +292,9 @@ GNUNET_GNSRECORD_block_decrypt (const struct GNUNET_GNSRECORD_Block *block,
}
rd_count = j;
if (NULL != proc)
- proc (proc_cls, rd_count, (0 != rd_count) ? rd : NULL);
+ proc (proc_cls,
+ rd_count,
+ (0 != rd_count) ? rd : NULL);
}
}
return GNUNET_OK;
@@ -323,8 +334,13 @@ GNUNET_GNSRECORD_query_from_public_key (const struct GNUNET_CRYPTO_EcdsaPublicKe
{
struct GNUNET_CRYPTO_EcdsaPublicKey pd;
- GNUNET_CRYPTO_ecdsa_public_key_derive (pub, label, "gns", &pd);
- GNUNET_CRYPTO_hash (&pd, sizeof (pd), query);
+ GNUNET_CRYPTO_ecdsa_public_key_derive (pub,
+ label,
+ "gns",
+ &pd);
+ GNUNET_CRYPTO_hash (&pd,
+ sizeof (pd),
+ query);
}