diff --git a/maxctrl/lib/show.js b/maxctrl/lib/show.js index f230b494b..e39f37a94 100644 --- a/maxctrl/lib/show.js +++ b/maxctrl/lib/show.js @@ -208,6 +208,11 @@ const session_fields = [ path: 'attributes.idle', description: 'How long the session has been idle, in seconds' }, + { + name: 'Client TLS Cipher', + path: 'attributes.client.cipher', + description: 'Client TLS cipher' + }, { name: 'Connections', path: 'attributes.connections[].server', diff --git a/server/core/dcb.cc b/server/core/dcb.cc index 747ea7d83..bdd7319e6 100644 --- a/server/core/dcb.cc +++ b/server/core/dcb.cc @@ -3866,7 +3866,16 @@ json_t* dcb_to_json(DCB* dcb) char buf[25]; snprintf(buf, sizeof(buf), "%p", dcb); json_object_set_new(obj, "id", json_string(buf)); - json_object_set_new(obj, "server", json_string(dcb->server->name)); + + if (dcb->server) + { + json_object_set_new(obj, "server", json_string(dcb->server->name)); + } + + if (dcb->ssl) + { + json_object_set_new(obj, "cipher", json_string(SSL_get_cipher_name(dcb->ssl))); + } if (dcb->func.diagnostics_json) { diff --git a/server/core/session.cc b/server/core/session.cc index 5daae465c..677cc94ec 100644 --- a/server/core/session.cc +++ b/server/core/session.cc @@ -876,6 +876,7 @@ json_t* session_json_data(const Session* session, const char* host) } json_object_set_new(attr, "connections", dcb_arr); + json_object_set_new(attr, "client", dcb_to_json(session->client_dcb)); json_t* queries = session->queries_as_json(); json_object_set_new(attr, "queries", queries);