summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>2017-01-12 19:10:25 +0200
committerNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>2017-04-20 11:23:23 +0300
commitce7b3c33179a04ac9ac2038133094e31bcf12e3a (patch)
tree9071799f8590978f0cff16a3c5e9d7b23ae816b4
parent96f519ff9a9fa253191f7e5eec1f4d88f908f2d5 (diff)
downloadsssd-ce7b3c33179a04ac9ac2038133094e31bcf12e3a.tar.gz
sssd-ce7b3c33179a04ac9ac2038133094e31bcf12e3a.tar.xz
sssd-ce7b3c33179a04ac9ac2038133094e31bcf12e3a.zip
RESPONDER: Add session recording conf loading
Add session recording configuration loading to the common responder initialization. To be used for substituting the user shell when session recording is enabled.
-rw-r--r--Makefile.am3
-rw-r--r--src/responder/common/responder.h3
-rw-r--r--src/responder/common/responder_common.c9
-rw-r--r--src/tests/cwrap/Makefile.am2
4 files changed, 17 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index acbfdb8b1..2cfdc5fb8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -573,6 +573,7 @@ SSSD_RESPONDER_OBJ = \
src/responder/common/data_provider/rdp_client.c \
src/monitor/monitor_iface_generated.c \
src/providers/data_provider_req.c \
+ src/util/session_recording.c \
$(SSSD_RESPONDER_IFACE_OBJ) \
$(SSSD_CACHE_REQ_OBJ) \
$(NULL)
@@ -2213,6 +2214,7 @@ responder_socket_access_tests_SOURCES = \
src/responder/common/cache_req/cache_req_domain.c \
src/responder/common/data_provider/rdp_message.c \
src/responder/common/data_provider/rdp_client.c \
+ src/util/session_recording.c \
$(SSSD_RESPONDER_IFACE_OBJ) \
$(NULL)
responder_socket_access_tests_CFLAGS = \
@@ -2301,6 +2303,7 @@ TEST_MOCK_RESP_OBJ = \
src/responder/common/data_provider/rdp_message.c \
src/responder/common/data_provider/rdp_client.c \
src/responder/common/responder_utils.c \
+ src/util/session_recording.c \
$(SSSD_CACHE_REQ_OBJ) \
$(SSSD_RESPONDER_IFACE_OBJ) \
$(NULL)
diff --git a/src/responder/common/responder.h b/src/responder/common/responder.h
index 0d5898e59..320893f3a 100644
--- a/src/responder/common/responder.h
+++ b/src/responder/common/responder.h
@@ -38,6 +38,7 @@
#include "responder/common/negcache.h"
#include "sss_client/sss_cli.h"
#include "responder/common/cache_req/cache_req_domain.h"
+#include "util/session_recording.h"
extern hash_table_t *dp_requests;
@@ -142,6 +143,8 @@ struct resp_ctx {
char *shell_fallback;
char *default_shell;
+ struct session_recording_conf sr_conf;
+
uint32_t cache_req_num;
void *pvt_ctx;
diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c
index d5786c72a..ca8d40506 100644
--- a/src/responder/common/responder_common.c
+++ b/src/responder/common/responder_common.c
@@ -1294,6 +1294,15 @@ int sss_process_init(TALLOC_CTX *mem_ctx,
&rctx->default_shell);
if (ret != EOK) goto fail;
+ /* Read session_recording section */
+ ret = session_recording_conf_load(rctx, rctx->cdb, &rctx->sr_conf);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_OP_FAILURE,
+ "Failed loading session recording configuration: %s\n",
+ strerror(ret));
+ goto fail;
+ }
+
ret = sss_monitor_init(rctx, rctx->ev, monitor_intf,
svc_name, svc_version, MT_SVC_SERVICE,
rctx, &rctx->last_request_time,
diff --git a/src/tests/cwrap/Makefile.am b/src/tests/cwrap/Makefile.am
index c99ebde5f..6c499cb94 100644
--- a/src/tests/cwrap/Makefile.am
+++ b/src/tests/cwrap/Makefile.am
@@ -86,6 +86,7 @@ SSSD_RESPONDER_OBJ = \
../../../src/responder/common/data_provider/rdp_client.c \
../../../src/monitor/monitor_iface_generated.c \
../../../src/providers/data_provider_req.c \
+ ../../../src/util/session_recording.c \
$(SSSD_RESPONDER_IFACE_OBJ) \
$(SSSD_CACHE_REQ_OBJ) \
$(NULL)
@@ -180,6 +181,7 @@ responder_common_tests_SOURCES =\
../../../src/responder/common/responder_packet.c \
../../../src/responder/common/responder_cmd.c \
../../../src/tests/cmocka/common_mock_resp_dp.c \
+ ../../../src/util/session_recording.c \
$(SSSD_CACHE_REQ_OBJ) \
$(NULL)
responder_common_tests_CFLAGS = \