diff --git a/lightningd/crypto_sync.c b/lightningd/crypto_sync.c index 952bd7bbb..411c5d834 100644 --- a/lightningd/crypto_sync.c +++ b/lightningd/crypto_sync.c @@ -1,6 +1,10 @@ #include +#include +#include #include #include +#include +#include #include bool sync_crypto_write(struct crypto_state *cs, int fd, const void *msg) @@ -8,6 +12,8 @@ bool sync_crypto_write(struct crypto_state *cs, int fd, const void *msg) u8 *enc = cryptomsg_encrypt_msg(msg, cs, msg); bool ret; + status_trace("Writing crypto with sn=%"PRIu64" msg=%s", + cs->sn-2, tal_hex(trc, msg)); ret = write_all(fd, enc, tal_len(enc)); tal_free(enc); return ret; @@ -18,17 +24,27 @@ u8 *sync_crypto_read(const tal_t *ctx, struct crypto_state *cs, int fd) u8 hdr[18], *enc, *dec; u16 len; - if (!read_all(fd, hdr, sizeof(hdr))) + if (!read_all(fd, hdr, sizeof(hdr))) { + status_trace("Failed reading header: %s", strerror(errno)); return NULL; + } - if (!cryptomsg_decrypt_header(cs, hdr, &len)) + if (!cryptomsg_decrypt_header(cs, hdr, &len)) { + status_trace("Failed hdr decrypt with rn=%"PRIu64, cs->rn-1); return NULL; + } enc = tal_arr(ctx, u8, len + 16); - if (!read_all(fd, enc, tal_len(enc))) + if (!read_all(fd, enc, tal_len(enc))) { + status_trace("Failed reading body: %s", strerror(errno)); return tal_free(enc); + } dec = cryptomsg_decrypt_body(ctx, cs, enc); tal_free(enc); + if (!dec) + status_trace("Failed body decrypt with rn=%"PRIu64, cs->rn-2); + else + status_trace("Read decrypt %s", tal_hex(trc, dec)); return dec; }