summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>2017-03-17 12:33:53 +0200
committerNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>2017-04-20 11:23:23 +0300
commit5790892a9378eee788c12d01c9a4a399b847fb36 (patch)
tree2ce541a93ed66aad0b5c9ae345662460d0261b80
parentce7b3c33179a04ac9ac2038133094e31bcf12e3a (diff)
downloadsssd-5790892a9378eee788c12d01c9a4a399b847fb36.tar.gz
sssd-5790892a9378eee788c12d01c9a4a399b847fb36.tar.xz
sssd-5790892a9378eee788c12d01c9a4a399b847fb36.zip
DP: Add session recording conf loading
Add session recording configuration loading to the data provider initialization. To be used for matching users and groups with session recording enabled.
-rw-r--r--Makefile.am1
-rw-r--r--src/providers/backend.h2
-rw-r--r--src/providers/data_provider_be.c9
3 files changed, 12 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 2cfdc5fb8..d098b6eeb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1570,6 +1570,7 @@ sssd_be_SOURCES = \
src/providers/data_provider/dp_target_subdomains.c \
src/providers/data_provider/dp_target_id.c \
src/providers/data_provider/dp_target_auth.c \
+ src/util/session_recording.c \
$(SSSD_FAILOVER_OBJ)
sssd_be_LDADD = \
$(LIBADD_DL) \
diff --git a/src/providers/backend.h b/src/providers/backend.h
index 305413660..42e80373d 100644
--- a/src/providers/backend.h
+++ b/src/providers/backend.h
@@ -27,6 +27,7 @@
#include "providers/be_refresh.h"
#include "providers/data_provider/dp.h"
#include "util/child_common.h"
+#include "util/session_recording.h"
#include "db/sysdb.h"
/* a special token, if used in place of the hostname, denotes that real
@@ -83,6 +84,7 @@ struct be_ctx {
const char *conf_path;
uid_t uid;
gid_t gid;
+ struct session_recording_conf sr_conf;
struct be_failover_ctx *be_fo;
struct be_resolv_ctx *be_res;
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c
index 7e7b74c36..f126ab0b7 100644
--- a/src/providers/data_provider_be.c
+++ b/src/providers/data_provider_be.c
@@ -427,6 +427,15 @@ errno_t be_process_init(TALLOC_CTX *mem_ctx,
goto done;
}
+ /* Read session_recording section */
+ ret = session_recording_conf_load(be_ctx, cdb, &be_ctx->sr_conf);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_FATAL_FAILURE,
+ "Failed loading session recording configuration: %s\n",
+ strerror(ret));
+ goto done;
+ }
+
/* Initialize be_refresh periodic task. */
be_ctx->refresh_ctx = be_refresh_ctx_init(be_ctx);
if (be_ctx->refresh_ctx == NULL) {