summaryrefslogtreecommitdiffstats
path: root/src/responder/common
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-08-10 18:59:40 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-08-13 15:10:30 +0200
commitf3a5ac1a50c1fccd0801023658e42d2093e1a33a (patch)
tree273ce39f9b428016f18ff123f546c3c81c560f89 /src/responder/common
parent1f3127e88a87953f059c9a70d3582ae1719594b1 (diff)
downloadsssd-f3a5ac1a50c1fccd0801023658e42d2093e1a33a.tar.gz
sssd-f3a5ac1a50c1fccd0801023658e42d2093e1a33a.tar.xz
sssd-f3a5ac1a50c1fccd0801023658e42d2093e1a33a.zip
Make the space override responder-agnostic
https://fedorahosted.org/sssd/ticket/2397 In order to make the override_space option usable by other responders, we need to move the override_space option to the generic responder structure. Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/responder/common')
-rw-r--r--src/responder/common/responder.h1
-rw-r--r--src/responder/common/responder_common.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/src/responder/common/responder.h b/src/responder/common/responder.h
index 167f45cb1..3674d13f2 100644
--- a/src/responder/common/responder.h
+++ b/src/responder/common/responder.h
@@ -102,6 +102,7 @@ struct resp_ctx {
uid_t *allowed_uids;
char *default_domain;
+ char override_space;
void *pvt_ctx;
diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c
index 2f9db70ce..a0c476e1d 100644
--- a/src/responder/common/responder_common.c
+++ b/src/responder/common/responder_common.c
@@ -781,6 +781,7 @@ int sss_process_init(TALLOC_CTX *mem_ctx,
struct resp_ctx *rctx;
struct sss_domain_info *dom;
int ret;
+ char *tmp = NULL;
rctx = talloc_zero(mem_ctx, struct resp_ctx);
if (!rctx) {
@@ -844,6 +845,26 @@ int sss_process_init(TALLOC_CTX *mem_ctx,
goto fail;
}
+ ret = confdb_get_string(rctx->cdb, rctx, CONFDB_MONITOR_CONF_ENTRY,
+ CONFDB_MONITOR_OVERRIDE_SPACE, NULL,
+ &tmp);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_OP_FAILURE,
+ "Cannnot get the space substitution character [%d]: %s\n",
+ ret, strerror(ret));
+ goto fail;
+ }
+
+ if (tmp != NULL) {
+ if (strlen(tmp) > 1) {
+ DEBUG(SSSDBG_MINOR_FAILURE, "Option %s is longer than 1 character "
+ "only the first character %c will be used\n",
+ CONFDB_MONITOR_OVERRIDE_SPACE, tmp[0]);
+ }
+
+ rctx->override_space = tmp[0];
+ }
+
ret = sss_monitor_init(rctx, rctx->ev, monitor_intf,
svc_name, svc_version, rctx,
&rctx->mon_conn);