From 3ec6e7e31d569fd75354eda967da72a0fe34837e Mon Sep 17 00:00:00 2001 From: Jule Anger Date: Mon, 9 May 2022 12:26:30 +0200 Subject: [PATCH] smbstatus: add encryption and signing to sessions Signed-off-by: Jule Anger Reviewed-by: Ralph Boehme --- source3/utils/status.c | 4 ++++ source3/utils/status_json.c | 14 ++++++++++++++ source3/utils/status_json.h | 4 ++++ source3/utils/status_json_dummy.c | 4 ++++ 4 files changed, 26 insertions(+) diff --git a/source3/utils/status.c b/source3/utils/status.c index cf5f0a71a0b..007f97bf7bb 100644 --- a/source3/utils/status.c +++ b/source3/utils/status.c @@ -748,6 +748,10 @@ static int traverse_sessionid(const char *key, struct sessionid *session, session, uid_str, gid_str, + encryption, + encryption_degree, + signing, + signing_degree, session_dialect_str(session->connection_dialect)); } diff --git a/source3/utils/status_json.c b/source3/utils/status_json.c index 51011461d24..5ad91094b37 100644 --- a/source3/utils/status_json.c +++ b/source3/utils/status_json.c @@ -267,6 +267,10 @@ int traverse_sessionid_json(struct traverse_state *state, struct sessionid *session, char *uid_str, char *gid_str, + const char *encryption_cipher, + enum crypto_degree encryption_degree, + const char *signing_cipher, + enum crypto_degree signing_degree, const char *connection_dialect) { struct json_object sub_json; @@ -326,6 +330,16 @@ int traverse_sessionid_json(struct traverse_state *state, if (result < 0) { goto failure; } + result = add_crypto_to_json(&sub_json, "encryption", + encryption_cipher, encryption_degree); + if (result < 0) { + goto failure; + } + result = add_crypto_to_json(&sub_json, "signing", + signing_cipher, signing_degree); + if (result < 0) { + goto failure; + } result = json_add_object(&session_json, id_str, &sub_json); if (result < 0) { diff --git a/source3/utils/status_json.h b/source3/utils/status_json.h index c2760d04ba6..72fa9f98fd0 100644 --- a/source3/utils/status_json.h +++ b/source3/utils/status_json.h @@ -38,6 +38,10 @@ int traverse_sessionid_json(struct traverse_state *state, struct sessionid *session, char *uid_str, char *gid_str, + const char *encryption_cipher, + enum crypto_degree encryption_degree, + const char *signing_cipher, + enum crypto_degree signing_degree, const char *connection_dialect); #endif diff --git a/source3/utils/status_json_dummy.c b/source3/utils/status_json_dummy.c index 6ea7d09f5ea..6530b2f8f07 100644 --- a/source3/utils/status_json_dummy.c +++ b/source3/utils/status_json_dummy.c @@ -49,6 +49,10 @@ int traverse_sessionid_json(struct traverse_state *state, struct sessionid *session, char *uid_str, char *gid_str, + const char *encryption_cipher, + enum crypto_degree encryption_degree, + const char *signing_cipher, + enum crypto_degree signing_degree, const char *connection_dialect) { return 0; -- 2.47.3