[python-ldap] Ldif parser bug?
michael at stroeder.com
Wed Sep 30 09:57:45 CEST 2015
Tobias Diaz Diaz-Chiron wrote:
> I'm working with the ldif parser and I've found this behaviour:
> If the DN is like:
> dn: dc=operator,dc=com
> it works fine, but if we remove the space after the quotes:
> Parsing results in a ugly "referenced before assignment" error. I've
> checked the RFC about LDIF format and it doesn't mention that the space is
> mandatory, so I think the parser should allow this. The solution (I think)
> it's easy: just add an "else" clause at the "_next_key_and_value(self)"
> method just to allow this.
> What do you think?
It seems you're right.
dn-spec = "dn:" (FILL distinguishedName /
":" FILL base64-distinguishedName)
FILL = *SPACE
and its pre-predecessor:
=> *SPACE could also allow zero spaces.
It likely also affects parsing value-spec. Example 2 in RFC 2849 contains such
Feel free to submit a patch if you really need it. Start with adding the
test-cases to Tests/t_ldif.py which was fortunately contributed by Petr
Viktorin and recently released in 2.4.21.
Which software produces LDIF without the space after the colon?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4245 bytes
Desc: S/MIME Cryptographic Signature
More information about the python-ldap