Commit 17663b6a authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

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.
parent 2a8cc725
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+4 −6
Original line number Diff line number Diff line
@@ -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;
+5 −17
Original line number Diff line number Diff line
@@ -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;
}