Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
ldif-sexpr
Read/write LDIF, LDAP search strings and related data formats. (RFCs 2849, 4514, 2254)
Requirements
Irregex, ports, uri-common, base64.
API
- ldif-dn LDIFprocedure
Returns the distinguished name (as S-expression) from LDIF object.
- ldif-attributes LDIFprocedure
Returns the attributes (as list of S-expression) from LDIF object.
- make-ldif DN ATTRIBUTESprocedure
Create an ldif record from DN and ATTRIBUTES.
- read #!optional PORTprocedure
Reads a LDIF record from PORT (default: current-input-port). Returns the ldif record or an eof-object.
- write LDIF #!optional PORTprocedure
Writes the LDIF object to PORT (default: current-output-port).
- rfc4514-read STRINGprocedure
Parse STRING as RDN.
- rfc4514-write SEXPR #!optional PORTprocedure
Write SEXPR as RDN.
- write-ldap-filter OBJ #!optional PORTprocedure
Write OBJ as LDAP filter (RFC 2254) to PORT (default current-output-port).
- ldap-filter-string OBJprocedure
Returns a string with the output of write-ldap-filter applied to OBJ.
Examples
(use (prefix ldif-sexpr ldif:)) (assert (equal? (ldif:ldif-attributes (with-input-from-string "dn: CN=foobar\nfoo: bar" ldif:read)) '(("foo" "bar")))) (assert (equal? (ldif:ldap-filter-string '(and (exists name) (= foo "bar"))) "(&(name=*)(foo=bar))"))
About this egg
Author
Jörg F. Wittenberger
Source Code
The ldif-sexpr egg repository is maintained on github.
Version History
Version 0.1: Initial release.
License
BSD