From 1be98d860fc899bae8534c507f31d4bc288931a3 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 6 May 2016 11:55:52 +0930 Subject: [PATCH] daemon: handle receipt of error packets. If it's all printable, print it, otherwise dump hex. Signed-off-by: Rusty Russell --- daemon/peer.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/daemon/peer.c b/daemon/peer.c index 286ef1baf..9740a13fc 100644 --- a/daemon/peer.c +++ b/daemon/peer.c @@ -1504,7 +1504,20 @@ void peer_calculate_close_fee(struct peer *peer) void peer_unexpected_pkt(struct peer *peer, const Pkt *pkt) { - FIXME_STUB(peer); + const char *p; + + /* Check packet for weird chars. */ + for (p = pkt->error->problem; *p; p++) { + if (cisprint(*p)) + continue; + + p = tal_hexstr(peer, pkt->error->problem, + strlen(pkt->error->problem)); + log_unusual(peer->log, "Error pkt (hex) %s", p); + tal_free(p); + return; + } + log_unusual(peer->log, "Error pkt '%s'", pkt->error->problem); } void peer_watch_htlcs_cleared(struct peer *peer,