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:42:21 +0100 |
commit | 1c4109bf7f16016cf0b53cd73e7b80e0d87be660 (patch) | |
tree | 6a07cd525082faca6dddf37573f221d23f119bdf | |
parent | f7a7a583c475eb22a6d762e74c67ffcfa7ba32d0 (diff) | |
download | sssd-1c4109bf7f16016cf0b53cd73e7b80e0d87be660.tar.gz sssd-1c4109bf7f16016cf0b53cd73e7b80e0d87be660.tar.xz sssd-1c4109bf7f16016cf0b53cd73e7b80e0d87be660.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>
(cherry picked from commit 2b8208b45feb2aab64d560d3e12e01e7b6d00d39)
-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 fb3bed146..1ec5c2a94 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -537,6 +537,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'; |