diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2014-02-24 11:37:52 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-02-26 10:28:36 +0100 |
commit | 2b8208b45feb2aab64d560d3e12e01e7b6d00d39 (patch) | |
tree | d142d8f71cfb5b9af022be7d4d33ba20a69a69af /src | |
parent | 057cb583f02bf47678c393cb8f1f74861c2b960b (diff) | |
download | sssd-2b8208b45feb2aab64d560d3e12e01e7b6d00d39.tar.gz sssd-2b8208b45feb2aab64d560d3e12e01e7b6d00d39.tar.xz sssd-2b8208b45feb2aab64d560d3e12e01e7b6d00d39.zip |
UTIL: Sanitize whitespaces.
Original patches submitted by: mpesari(Thanks!!)
It can cause problems if user will hit spaces before entering username.
(e.g in gdm). Spaces are ignored by LDAP; it's better to escape them.
Resolves:
https://fedorahosted.org/sssd/ticket/1955
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/util/util.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/util/util.c b/src/util/util.c index 81ff3df92..fc37aad22 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -538,6 +538,16 @@ errno_t sss_filter_sanitize(TALLOC_CTX *mem_ctx, while (input[i]) { switch(input[i]) { + case '\t': + output[j++] = '\\'; + output[j++] = '0'; + output[j++] = '9'; + break; + case ' ': + output[j++] = '\\'; + output[j++] = '2'; + output[j++] = '0'; + break; case '*': output[j++] = '\\'; output[j++] = '2'; |