diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-01-07 05:56:34 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-01-07 06:04:31 +0100 |
commit | 17663b6a7c505226cfe9ccc0671611075a3dff57 (patch) | |
tree | 45bff7762a01dad8ddcca0826d71bc3083e6137a | |
parent | 2a8cc7259e236773f1b8423ef63305a5b8bfd652 (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.c | 2 | ||||
-rw-r--r-- | proto/rpki/ssh_transport.c | 10 | ||||
-rw-r--r-- | proto/rpki/tcp_transport.c | 22 |
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; } |