summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2020-05-18 10:10:26 +0200
committerMartin Schanzenbach <mschanzenbach@posteo.de>2020-05-18 10:10:26 +0200
commit338be6576f4d08f01a4d00fcc21956131eb1262b (patch)
treed5f4e76f67535e5f5ccad94af3cd8f34e64d1c85
parent22343a741e14ea9d5e6ac6ed30af87c3d4a291e1 (diff)
pow values should be nbo
-rw-r--r--src/revocation/revocation_api.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/revocation/revocation_api.c b/src/revocation/revocation_api.c
index 721c40c2a..39fdb8b6f 100644
--- a/src/revocation/revocation_api.c
+++ b/src/revocation/revocation_api.c
@@ -483,7 +483,7 @@ GNUNET_REVOCATION_check_pow (const struct GNUNET_REVOCATION_PowP *pow,
for (unsigned int i = 0; i < POW_COUNT; i++)
{
pow_val = GNUNET_ntohll (pow->pow[i]);
- GNUNET_memcpy (buf, &pow_val, sizeof(uint64_t));
+ GNUNET_memcpy (buf, &pow->pow[i], sizeof(uint64_t));
GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work",
buf,
sizeof(buf),
@@ -619,6 +619,7 @@ GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
struct GNUNET_HashCode result;
unsigned int zeros;
int ret;
+ uint64_t pow_nbo;
pc->current_pow++;
@@ -628,8 +629,8 @@ GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
for (unsigned int i = 0; i < POW_COUNT; i++)
if (pc->current_pow == pc->best[i].pow)
return GNUNET_NO;
-
- GNUNET_memcpy (buf, &pc->current_pow, sizeof(uint64_t));
+ pow_nbo = GNUNET_htonll (pc->current_pow);
+ GNUNET_memcpy (buf, &pow_nbo, sizeof(uint64_t));
GNUNET_memcpy (&buf[sizeof(uint64_t)],
&pc->pow->timestamp,
sizeof (uint64_t));
@@ -647,7 +648,7 @@ GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
{
pc->best[i].bits = zeros;
pc->best[i].pow = pc->current_pow;
- pc->pow->pow[i] = GNUNET_htonll (pc->current_pow);
+ pc->pow->pow[i] = pow_nbo;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"New best score %u with %" PRIu64 " (#%u)\n",
zeros, pc->current_pow, i);