From b9bd7e89f28b2ed5f32c8c1eba7b9b7d6b8b8e29 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 9 Jan 2024 16:46:06 +0100 Subject: [PATCH] smbstatus: let --json include session.{creation,expiration,auth}_time MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This is very useful in order to predict NETWORK_SESSION_EXPIRED messages... Signed-off-by: Stefan Metzmacher Reviewed-by: Günther Deschner --- source3/utils/status_json.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/source3/utils/status_json.c b/source3/utils/status_json.c index 161e85a3d6c..ee24a3b31d9 100644 --- a/source3/utils/status_json.c +++ b/source3/utils/status_json.c @@ -485,6 +485,9 @@ int traverse_sessionid_json(struct traverse_state *state, struct json_object session_json; int result = 0; char *id_str = NULL; + struct timeval tv; + struct timeval_buf tv_buf; + char *time_str = NULL; TALLOC_CTX *tmp_ctx = talloc_stackframe(); if (tmp_ctx == NULL) { @@ -526,6 +529,37 @@ int traverse_sessionid_json(struct traverse_state *state, if (result < 0) { goto failure; } + + nttime_to_timeval(&tv, session->global->creation_time); + time_str = timeval_str_buf(&tv, true, true, &tv_buf); + if (time_str == NULL) { + goto failure; + } + result = json_add_string(&sub_json, "creation_time", time_str); + if (result < 0) { + goto failure; + } + + nttime_to_timeval(&tv, session->global->expiration_time); + time_str = timeval_str_buf(&tv, true, true, &tv_buf); + if (time_str == NULL) { + goto failure; + } + result = json_add_string(&sub_json, "expiration_time", time_str); + if (result < 0) { + goto failure; + } + + nttime_to_timeval(&tv, session->global->auth_time); + time_str = timeval_str_buf(&tv, true, true, &tv_buf); + if (time_str == NULL) { + goto failure; + } + result = json_add_string(&sub_json, "auth_time", time_str); + if (result < 0) { + goto failure; + } + result = json_add_string(&sub_json, "remote_machine", session->remote_machine); if (result < 0) { goto failure; -- 2.47.3