summaryrefslogtreecommitdiffstats
path: root/src/responder
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-08-05 10:12:34 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-08-14 16:04:24 +0200
commit87bea3731d9d379a9cbc57e664b5e2c00ffb5cb9 (patch)
treefee502d8909997403efdb2fd508fad639942249e /src/responder
parent8a123db68d397f8e38a136ae8e9c00149e156818 (diff)
downloadsssd-87bea3731d9d379a9cbc57e664b5e2c00ffb5cb9.tar.gz
sssd-87bea3731d9d379a9cbc57e664b5e2c00ffb5cb9.tar.xz
sssd-87bea3731d9d379a9cbc57e664b5e2c00ffb5cb9.zip
Only replace space with the specified substitution
https://fedorahosted.org/sssd/ticket/2397 - make sss_replace_whitespaces only replace space (' ') not any whitespace - make sss_replace_whitespaces only replace a single char, not the whole string - rename CONFDB_NSS_OVERRIDE_DEFAULT_WHITESPACE to CONFDB_NSS_OVERRIDE_DEFAULT_SPACE - rename the override_default_whitespace option to override_space - rename sss_replace_whitespaces() to sss_replace_space() - rename sss_reverse_replace_whitespaces() to sss_reverse_replace_space() - rename nctx->override_default_wsp_str to nctx->override_space - make the return value of sss_replace_space non-const to avoid freeing the result without compilation warnings Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> (cherry picked from commit 1f3127e88a87953f059c9a70d3582ae1719594b1)
Diffstat (limited to 'src/responder')
-rw-r--r--src/responder/nss/nsssrv.c4
-rw-r--r--src/responder/nss/nsssrv.h2
-rw-r--r--src/responder/nss/nsssrv_cmd.c37
3 files changed, 19 insertions, 24 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c
index 313815e5d..5f58bf640 100644
--- a/src/responder/nss/nsssrv.c
+++ b/src/responder/nss/nsssrv.c
@@ -299,8 +299,8 @@ static int nss_get_config(struct nss_ctx *nctx,
if (ret != EOK) goto done;
ret = confdb_get_string(cdb, nctx, CONFDB_NSS_CONF_ENTRY,
- CONFDB_NSS_OVERRIDE_DEFAULT_WHITESPACE, NULL,
- &nctx->override_default_wsp_str);
+ CONFDB_NSS_OVERRIDE_SPACE, NULL,
+ &nctx->override_space);
if (ret != EOK) goto done;
ret = 0;
diff --git a/src/responder/nss/nsssrv.h b/src/responder/nss/nsssrv.h
index e8db17f35..83eed37bf 100644
--- a/src/responder/nss/nsssrv.h
+++ b/src/responder/nss/nsssrv.h
@@ -67,7 +67,7 @@ struct nss_ctx {
char **etc_shells;
char *shell_fallback;
char *default_shell;
- char *override_default_wsp_str;
+ char *override_space;
struct sss_mc_ctx *pwd_mc_ctx;
struct sss_mc_ctx *grp_mc_ctx;
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c
index 79e3aa904..fa6536de1 100644
--- a/src/responder/nss/nsssrv_cmd.c
+++ b/src/responder/nss/nsssrv_cmd.c
@@ -378,11 +378,10 @@ static int fill_pwent(struct sss_packet *packet,
continue;
}
- tmpstr = sss_replace_whitespaces(tmp_ctx, tmpstr,
- nctx->override_default_wsp_str);
+ tmpstr = sss_replace_space(tmp_ctx, tmpstr, nctx->override_space[0]);
if (tmpstr == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_replace_whitespaces failed, skipping\n");
+ "sss_replace_space failed, skipping\n");
continue;
}
@@ -766,11 +765,11 @@ static int nss_cmd_getpwnam_search(struct nss_dom_ctx *dctx)
name = sss_get_cased_name(cmdctx, cmdctx->name, dom->case_sensitive);
if (!name) return ENOMEM;
- name = sss_reverse_replace_whitespaces(dctx, name,
- nctx->override_default_wsp_str);
+ name = sss_reverse_replace_space(dctx, name,
+ nctx->override_space[0]);
if (name == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_reverse_replace_whitespaces failed\n");
+ "sss_reverse_replace_space failed\n");
return ENOMEM;
}
@@ -2315,11 +2314,10 @@ static int fill_members(struct sss_packet *packet,
continue;
}
- tmpstr = sss_replace_whitespaces(tmp_ctx, tmpstr,
- nctx->override_default_wsp_str);
+ tmpstr = sss_replace_space(tmp_ctx, tmpstr, nctx->override_space[0]);
if (tmpstr == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_replace_whitespaces failed\n");
+ "sss_replace_space failed\n");
ret = ENOMEM;
goto done;
}
@@ -2499,11 +2497,10 @@ static int fill_grent(struct sss_packet *packet,
continue;
}
- tmpstr = sss_replace_whitespaces(tmp_ctx, tmpstr,
- nctx->override_default_wsp_str);
+ tmpstr = sss_replace_space(tmp_ctx, tmpstr, nctx->override_space[0]);
if (tmpstr == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_replace_whitespaces failed, skipping\n");
+ "sss_replace_space failed, skipping\n");
continue;
}
@@ -2710,11 +2707,10 @@ static int nss_cmd_getgrnam_search(struct nss_dom_ctx *dctx)
name = sss_get_cased_name(dctx, cmdctx->name, dom->case_sensitive);
if (!name) return ENOMEM;
- name = sss_reverse_replace_whitespaces(dctx, name,
- nctx->override_default_wsp_str);
+ name = sss_reverse_replace_space(dctx, name, nctx->override_space[0]);
if (name == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_reverse_replace_whitespaces failed\n");
+ "sss_reverse_replace_space failed\n");
return ENOMEM;
}
@@ -3745,11 +3741,10 @@ static int nss_cmd_initgroups_search(struct nss_dom_ctx *dctx)
name = sss_get_cased_name(dctx, cmdctx->name, dom->case_sensitive);
if (!name) return ENOMEM;
- name = sss_reverse_replace_whitespaces(dctx, name,
- nctx->override_default_wsp_str);
+ name = sss_reverse_replace_space(dctx, name, nctx->override_space[0]);
if (name == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_reverse_replace_whitespaces failed\n");
+ "sss_reverse_replace_space failed\n");
return ENOMEM;
}
@@ -3913,11 +3908,11 @@ static errno_t nss_cmd_getsidby_search(struct nss_dom_ctx *dctx)
goto done;
}
- name = sss_reverse_replace_whitespaces(dctx, name,
- nctx->override_default_wsp_str);
+ name = sss_reverse_replace_space(dctx, name,
+ nctx->override_space[0]);
if (name == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE,
- "sss_reverse_replace_whitespaces failed\n");
+ "sss_reverse_replace_space failed\n");
ret = ENOMEM;
goto done;
}