summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2014-02-24 11:37:52 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-02-26 10:28:36 +0100
commit2b8208b45feb2aab64d560d3e12e01e7b6d00d39 (patch)
treed142d8f71cfb5b9af022be7d4d33ba20a69a69af
parent057cb583f02bf47678c393cb8f1f74861c2b960b (diff)
downloadsssd-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>
-rw-r--r--src/util/util.c10
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';