summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2021-01-07 05:56:34 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-01-07 06:04:31 +0100
commit17663b6a7c505226cfe9ccc0671611075a3dff57 (patch)
tree45bff7762a01dad8ddcca0826d71bc3083e6137a
parent2a8cc7259e236773f1b8423ef63305a5b8bfd652 (diff)
RPKI: Remove port (and SSH username) from 'Cache server' output line
It was mixed-up if hostname is IPv6 address, and reporting separate values (like port) on separate lines fits better into key-value style of 'show protocols all' output. Also, the patch simplifies transport identification formatting (although it is unused now). Thanks to Alarig Le Lay for the suggestion.
-rw-r--r--proto/rpki/rpki.c2
-rw-r--r--proto/rpki/ssh_transport.c10
-rw-r--r--proto/rpki/tcp_transport.c22
3 files changed, 10 insertions, 24 deletions
diff --git a/proto/rpki/rpki.c b/proto/rpki/rpki.c
index 3ee46ae2..799cb877 100644
--- a/proto/rpki/rpki.c
+++ b/proto/rpki/rpki.c
@@ -837,7 +837,7 @@ rpki_show_proto_info(struct proto *P)
case RPKI_TR_TCP: transport_name = "Unprotected over TCP"; break;
};
- cli_msg(-1006, " Cache server: %s", rpki_get_cache_ident(cache));
+ cli_msg(-1006, " Cache server: %s", cf->hostname);
cli_msg(-1006, " Status: %s", rpki_cache_state_to_str(cache->state));
cli_msg(-1006, " Transport: %s", transport_name);
cli_msg(-1006, " Protocol version: %u", cache->version);
diff --git a/proto/rpki/ssh_transport.c b/proto/rpki/ssh_transport.c
index 469eb199..6333f367 100644
--- a/proto/rpki/ssh_transport.c
+++ b/proto/rpki/ssh_transport.c
@@ -47,17 +47,15 @@ rpki_tr_ssh_ident(struct rpki_tr_sock *tr)
struct rpki_cache *cache = tr->cache;
struct rpki_config *cf = (void *) cache->p->p.cf;
struct rpki_tr_ssh_config *ssh_cf = (void *) cf->tr_config.spec;
+ const char *username = ssh_cf->user;
if (tr->ident != NULL)
return tr->ident;
- const char *username = ssh_cf->user;
- const char *host = cf->hostname;
- u16 port = cf->port;
-
- size_t len = strlen(username) + 1 + strlen(host) + 1 + 5 + 1; /* <user> + '@' + <host> + ':' + <port> + '\0' */
+ /* Length: <user> + '@' + <host> + ' port ' + <port> + '\0' */
+ size_t len = strlen(username) + 1 + strlen(cf->hostname) + 1 + 5 + 1;
char *ident = mb_alloc(cache->pool, len);
- bsnprintf(ident, len, "%s@%s:%u", username, host, port);
+ bsnprintf(ident, len, "%s@%s:%u", username, cf->hostname, cf->port);
tr->ident = ident;
return tr->ident;
diff --git a/proto/rpki/tcp_transport.c b/proto/rpki/tcp_transport.c
index 0d3c7e99..132f8e2d 100644
--- a/proto/rpki/tcp_transport.c
+++ b/proto/rpki/tcp_transport.c
@@ -43,24 +43,12 @@ rpki_tr_tcp_ident(struct rpki_tr_sock *tr)
if (tr->ident != NULL)
return tr->ident;
- const char *host = cf->hostname;
- ip_addr ip = cf->ip;
- u16 port = cf->port;
-
- size_t colon_and_port_len = 6; /* max ":65535" */
- size_t ident_len;
- if (host)
- ident_len = strlen(host) + colon_and_port_len + 1;
- else
- ident_len = IPA_MAX_TEXT_LENGTH + colon_and_port_len + 1;
-
- char *ident = mb_alloc(cache->pool, ident_len);
- if (host)
- bsnprintf(ident, ident_len, "%s:%u", host, port);
- else
- bsnprintf(ident, ident_len, "%I:%u", ip, port);
-
+ /* Length: <host> + ':' + <port> + '\0' */
+ size_t len = strlen(cf->hostname) + 1 + 5 + 1;
+ char *ident = mb_alloc(cache->pool, len);
+ bsnprintf(ident, len, "%s:%u", cf->hostname, cf->port);
tr->ident = ident;
+
return tr->ident;
}