Skip to content

Commit 44a593d

Browse files
spaceoneencukou
authored andcommitted
Fix escape_dn_chars
#268
1 parent 1d373da commit 44a593d

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

Lib/ldap/dn.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ def escape_dn_chars(s):
2929
s = s.replace(';' ,'\\;')
3030
s = s.replace('=' ,'\\=')
3131
s = s.replace('\000' ,'\\\000')
32-
if s[0]=='#' or s[0]==' ':
33-
s = ''.join(('\\',s))
3432
if s[-1]==' ':
3533
s = ''.join((s[:-1],'\\ '))
34+
if s[0]=='#' or s[0]==' ':
35+
s = ''.join(('\\',s))
3636
return s
3737

3838

Tests/t_ldap_dn.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ def test_escape_dn_chars(self):
5050
self.assertEqual(ldap.dn.escape_dn_chars('#foobar'), '\\#foobar')
5151
self.assertEqual(ldap.dn.escape_dn_chars('foo bar'), 'foo bar')
5252
self.assertEqual(ldap.dn.escape_dn_chars(' foobar'), '\\ foobar')
53+
self.assertEqual(ldap.dn.escape_dn_chars(' '), '\\ ')
54+
self.assertEqual(ldap.dn.escape_dn_chars(' '), '\\ \\ ')
55+
self.assertEqual(ldap.dn.escape_dn_chars('foobar '), 'foobar\\ ')
56+
self.assertEqual(ldap.dn.escape_dn_chars('f+o>o,b<a;r="\00"'), 'f\\+o\\>o\\,b\\<a\\;r\\=\\"\\\x00\\"')
57+
self.assertEqual(ldap.dn.escape_dn_chars('foo\\,bar'), 'foo\\\\\\,bar')
5358

5459
def test_str2dn(self):
5560
"""

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy