From 9e9fdbba951622418c11b1ddc117072daa99f0ae Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Wed, 5 May 2021 20:13:44 +0200 Subject: [PATCH] Improve logging of connection attemps. Ensure all causes for a connection to be activated or terminated are logged at INFO level or higher. But remove the "Closing connection with" message for connections that were never activated. --- src/net.c | 4 +++- src/net_socket.c | 2 +- src/protocol_auth.c | 13 ++++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/net.c b/src/net.c index 9a062f41..35cfc650 100644 --- a/src/net.c +++ b/src/net.c @@ -52,7 +52,9 @@ static const int default_interval = 60; - Check if we need to retry making an outgoing connection */ void terminate_connection(meshlink_handle_t *mesh, connection_t *c, bool report) { - logger(mesh, MESHLINK_INFO, "Closing connection with %s", c->name); + if(c->status.active) { + logger(mesh, MESHLINK_INFO, "Closing connection with %s", c->name); + } if(c->node && c->node->connection == c) { if(c->status.active && mesh->meta_status_cb) { diff --git a/src/net_socket.c b/src/net_socket.c index dd02bf33..4989b6cf 100644 --- a/src/net_socket.c +++ b/src/net_socket.c @@ -161,7 +161,7 @@ static void handle_meta_io(event_loop_t *loop, void *data, int flags) { if(!result) { finish_connecting(mesh, c); } else { - logger(mesh, MESHLINK_DEBUG, "Error while connecting to %s: %s", c->name, sockstrerror(result)); + logger(mesh, MESHLINK_ERROR, "Error while connecting to %s: %s", c->name, sockstrerror(result)); terminate_connection(mesh, c, false); return; } diff --git a/src/protocol_auth.c b/src/protocol_auth.c index 5f2fc1c3..a0d350d5 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -296,10 +296,13 @@ bool id_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { snprintf(label, sizeof(label), "%s %s %s", meshlink_tcp_label, c->name, mesh->self->name); } - char buf1[1024], buf2[1024]; - bin2hex((uint8_t *)mesh->private_key + 64, buf1, 32); - bin2hex((uint8_t *)n->ecdsa + 64, buf2, 32); - logger(mesh, MESHLINK_DEBUG, "Connection to %s mykey %s hiskey %s", c->name, buf1, buf2); + if(mesh->log_level <= MESHLINK_DEBUG) { + char buf1[1024], buf2[1024]; + bin2hex((uint8_t *)mesh->private_key + 64, buf1, 32); + bin2hex((uint8_t *)n->ecdsa + 64, buf2, 32); + logger(mesh, MESHLINK_DEBUG, "Connection to %s mykey %s hiskey %s", c->name, buf1, buf2); + } + return sptps_start(&c->sptps, c, c->outgoing, false, mesh->private_key, n->ecdsa, label, sizeof(label) - 1, send_meta_sptps, receive_meta_sptps); } @@ -355,7 +358,7 @@ bool ack_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { } else { if(n->connection) { /* Oh dear, we already have a connection to this node. */ - logger(mesh, MESHLINK_DEBUG, "Established a second connection with %s, closing old connection", n->connection->name); + logger(mesh, MESHLINK_INFO, "Established a second connection with %s, closing old connection", n->connection->name); if(n->connection->outgoing) { if(c->outgoing) { -- 2.39.5