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
[procedure] (ldif-dn LDIF) -> *Returns the distinguished name (as S-expression) from LDIF object.
[procedure] (ldif-attributes LDIF) -> *Returns the attributes (as list of S-expression) from LDIF object.
[procedure] (make-ldif DN ATTRIBUTES) -> LDIFCreate an ldif record from DN and ATTRIBUTES.
[procedure] (read [PORT])Reads a LDIF record from PORT (default: current-input-port). Returns the ldif record or an eof-object.
[procedure] (write LDIF [PORT])Writes the LDIF object to PORT (default: current-output-port).
[procedure] (rfc4514-read STRING) -> SEXPRParse STRING as RDN.
[procedure] (rfc4514-write SEXPR [PORT])Write SEXPR as RDN.
[procedure] (write-ldap-filter OBJ [PORT])Write OBJ as LDAP filter (RFC 2254) to PORT (default current-output-port).
[procedure] (ldap-filter-string OBJ) -> STRINGReturns 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