diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/gnunet-service-core_kx.c | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c index 944d1e692..69001a50f 100644 --- a/src/core/gnunet-service-core_kx.c +++ b/src/core/gnunet-service-core_kx.c | |||
@@ -1454,10 +1454,18 @@ GSC_KX_encrypt_and_transmit (struct GSC_KeyExchangeInfo *kx, | |||
1454 | &ph->sequence_number, | 1454 | &ph->sequence_number, |
1455 | &em->sequence_number, | 1455 | &em->sequence_number, |
1456 | used - ENCRYPTED_HEADER_SIZE)); | 1456 | used - ENCRYPTED_HEADER_SIZE)); |
1457 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1457 | { |
1458 | "Encrypted %u bytes for %s\n", | 1458 | struct GNUNET_HashCode hc; |
1459 | (unsigned int) (used - ENCRYPTED_HEADER_SIZE), | 1459 | |
1460 | GNUNET_i2s (kx->peer)); | 1460 | GNUNET_CRYPTO_hash (&ph->sequence_number, |
1461 | used - ENCRYPTED_HEADER_SIZE, | ||
1462 | &hc); | ||
1463 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1464 | "Encrypted payload `%s' of %u bytes for %s\n", | ||
1465 | GNUNET_h2s (&hc), | ||
1466 | (unsigned int) (used - ENCRYPTED_HEADER_SIZE), | ||
1467 | GNUNET_i2s (kx->peer)); | ||
1468 | } | ||
1461 | derive_auth_key (&auth_key, | 1469 | derive_auth_key (&auth_key, |
1462 | &kx->encrypt_key, | 1470 | &kx->encrypt_key, |
1463 | ph->iv_seed); | 1471 | ph->iv_seed); |
@@ -1465,6 +1473,18 @@ GSC_KX_encrypt_and_transmit (struct GSC_KeyExchangeInfo *kx, | |||
1465 | &em->sequence_number, | 1473 | &em->sequence_number, |
1466 | used - ENCRYPTED_HEADER_SIZE, | 1474 | used - ENCRYPTED_HEADER_SIZE, |
1467 | &em->hmac); | 1475 | &em->hmac); |
1476 | { | ||
1477 | struct GNUNET_HashCode hc; | ||
1478 | |||
1479 | GNUNET_CRYPTO_hash (&auth_key, | ||
1480 | sizeof (auth_key), | ||
1481 | &hc); | ||
1482 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1483 | "For peer %s, used AC %s to create hmac %s\n", | ||
1484 | GNUNET_i2s (kx->peer), | ||
1485 | GNUNET_h2s (&hc), | ||
1486 | GNUNET_h2s2 (&em->hmac)); | ||
1487 | } | ||
1468 | kx->has_excess_bandwidth = GNUNET_NO; | 1488 | kx->has_excess_bandwidth = GNUNET_NO; |
1469 | GNUNET_MQ_send (kx->mq, | 1489 | GNUNET_MQ_send (kx->mq, |
1470 | env); | 1490 | env); |
@@ -1544,6 +1564,19 @@ handle_encrypted (void *cls, | |||
1544 | } | 1564 | } |
1545 | 1565 | ||
1546 | /* validate hash */ | 1566 | /* validate hash */ |
1567 | { | ||
1568 | struct GNUNET_HashCode hc; | ||
1569 | |||
1570 | GNUNET_CRYPTO_hash (&m->sequence_number, | ||
1571 | size - ENCRYPTED_HEADER_SIZE, | ||
1572 | &hc); | ||
1573 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1574 | "Received encrypted payload `%s' of %u bytes from %s\n", | ||
1575 | GNUNET_h2s (&hc), | ||
1576 | (unsigned int) (size - ENCRYPTED_HEADER_SIZE), | ||
1577 | GNUNET_i2s (kx->peer)); | ||
1578 | } | ||
1579 | |||
1547 | derive_auth_key (&auth_key, | 1580 | derive_auth_key (&auth_key, |
1548 | &kx->decrypt_key, | 1581 | &kx->decrypt_key, |
1549 | m->iv_seed); | 1582 | m->iv_seed); |
@@ -1551,6 +1584,18 @@ handle_encrypted (void *cls, | |||
1551 | &m->sequence_number, | 1584 | &m->sequence_number, |
1552 | size - ENCRYPTED_HEADER_SIZE, | 1585 | size - ENCRYPTED_HEADER_SIZE, |
1553 | &ph); | 1586 | &ph); |
1587 | { | ||
1588 | struct GNUNET_HashCode hc; | ||
1589 | |||
1590 | GNUNET_CRYPTO_hash (&auth_key, | ||
1591 | sizeof (auth_key), | ||
1592 | &hc); | ||
1593 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1594 | "For peer %s, used AC %s to verify hmac %s\n", | ||
1595 | GNUNET_i2s (kx->peer), | ||
1596 | GNUNET_h2s (&hc), | ||
1597 | GNUNET_h2s2 (&m->hmac)); | ||
1598 | } | ||
1554 | if (0 != memcmp (&ph, | 1599 | if (0 != memcmp (&ph, |
1555 | &m->hmac, | 1600 | &m->hmac, |
1556 | sizeof (struct GNUNET_HashCode))) | 1601 | sizeof (struct GNUNET_HashCode))) |