- Use more strict comparisons for client input asserts
- Fix baseObject comparison in SearchRequest initialization
- Alter default error for server route fallthrough
Certain applications depend upon DN string formatting in a manner more
strict than specified in the RFC. To enable format transcription and
reproduction, some changes were made to how DNs are converted to/from
strings.
- Store RDN strings raw instead of escaped
- Record formatting details during DN/RDN parsing
- Add DN.format method to control format recreation
- Remove DN.spaced method in favor of DN.setFormat
Fixmcavage/node-ldapjs#176
Some LDAP implementations (mainly AD and Outlook) accept and/or output
DNs that are not valid. To support interaction with these invalid DNs a
strictDN flag (default: true) has been added to the client and server
constructors. Setting this flag to false will allow use of
non-conforming DNs.
When disabling strictDN in the ldapjs client, strings which wouldn't
parse into a DN can then be passed to the ldap operation methods. It
also means that some methods (such as search) may return results with
string-formatted DNs instead of DN objects.
When disabling strictDN in the ldapjs server, incoming requests that
contain invalid DNs will be routed to the default ('') handler for that
operation type. It is your responsiblity to differentiate between
string-type and object-type DNs in those handlers.
Fixmcavage/node-ldapjs#222Fixmcavage/node-ldapjs#146Fixmcavage/node-ldapjs#113Fixmcavage/node-ldapjs#104
Parse port as an integer when possible in server.listen. In addition to
fixing server.url output, this avoids some weird socket reuse behavior
when mixing string and integer types passed to net.listen.
Fixmcavage/node-ldapjs#196
Force route lookups to proceed lexically through mounted endpoint DNs.
Mounting to a null ('') DN will act as the default route for requests
which aren't matched by defined routes.
Fixmcavage/node-ldapjs#154Fixmcavage/node-ldapjs#111