diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-08-05 10:12:34 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-08-13 15:10:22 +0200 |
commit | 1f3127e88a87953f059c9a70d3582ae1719594b1 (patch) | |
tree | b4638413e09809da334d7dfa6ef0b75f51e2f61c /src/responder/nss | |
parent | d3c6fca0f0d3b1c5d3dda3dcf3de0ae3ae4c0c38 (diff) | |
download | sssd-1f3127e88a87953f059c9a70d3582ae1719594b1.tar.gz sssd-1f3127e88a87953f059c9a70d3582ae1719594b1.tar.xz sssd-1f3127e88a87953f059c9a70d3582ae1719594b1.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>
Diffstat (limited to 'src/responder/nss')
-rw-r--r-- | src/responder/nss/nsssrv.c | 4 | ||||
-rw-r--r-- | src/responder/nss/nsssrv.h | 2 | ||||
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 37 |
3 files changed, 19 insertions, 24 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c index cf4525a71..9705878fa 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 07443027e..f5238fb82 100644 --- a/src/responder/nss/nsssrv.h +++ b/src/responder/nss/nsssrv.h @@ -69,7 +69,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 3e1b470e5..10e84e52c 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -372,11 +372,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; } @@ -752,11 +751,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; } @@ -2361,11 +2360,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; } @@ -2525,11 +2523,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; } @@ -2727,11 +2724,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; } @@ -3758,11 +3754,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; } @@ -3925,11 +3920,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; } |