Lots of functions missing in various interfaces
This commit is contained in:
parent
1221026d00
commit
02f0884023
|
@ -1,14 +1,44 @@
|
||||||
(define-interface ldap-low-interface
|
(define-interface ldap-low-interface
|
||||||
(export
|
(export
|
||||||
ldap-open
|
|
||||||
ldap-init
|
ldap-init
|
||||||
ldap-bind-sync
|
ldap-simple-bind
|
||||||
ldap-unbind-sync
|
ldap-sasl-bind
|
||||||
ldap-error-string
|
ldap-unbind
|
||||||
ldap-result-error))
|
ldap-search
|
||||||
|
|
||||||
|
set-ldap-session-option!
|
||||||
|
ldap-session-option
|
||||||
|
|
||||||
|
ldap-first-message
|
||||||
|
ldap-next-message
|
||||||
|
ldap-count-messages
|
||||||
|
|
||||||
|
ldap-get-message-type
|
||||||
|
ldap-get-message-id
|
||||||
|
|
||||||
|
ldap-first-attribute
|
||||||
|
ldap-next-attribute
|
||||||
|
ldap-all-attributes
|
||||||
|
|
||||||
|
ldap-get-values
|
||||||
|
ldap-compare
|
||||||
|
ldap-message-dn
|
||||||
|
ldap-explode-dn
|
||||||
|
ldap-explode-rdn
|
||||||
|
ldap-make-dn-userfriendly
|
||||||
|
|
||||||
|
ldap-count-entries
|
||||||
|
ldap-first-entry
|
||||||
|
ldap-next-entry
|
||||||
|
|
||||||
|
ldap-count-references
|
||||||
|
ldap-first-reference
|
||||||
|
ldap-next-reference))
|
||||||
|
|
||||||
(define-interface ldap-conditions-interface
|
(define-interface ldap-conditions-interface
|
||||||
(export
|
(export
|
||||||
|
raise-ldap-condition
|
||||||
|
|
||||||
&ldap-error ldap-error? ldap-error-code ldap-error-session
|
&ldap-error ldap-error? ldap-error-code ldap-error-session
|
||||||
&ldap-security-error ldap-security-error?
|
&ldap-security-error ldap-security-error?
|
||||||
&ldap-service-error ldap-service-error?
|
&ldap-service-error ldap-service-error?
|
||||||
|
@ -16,8 +46,8 @@
|
||||||
|
|
||||||
&ldap-bindings-internal-error ldap-bindings-internal-error?
|
&ldap-bindings-internal-error ldap-bindings-internal-error?
|
||||||
&ldap-bindings-not-implemented ldap-bindings-not-implemented?
|
&ldap-bindings-not-implemented ldap-bindings-not-implemented?
|
||||||
&ldap-session-option-error ldap-session-option-error?
|
|
||||||
&ldap-implicit-unbind ldap-implicit-unbind?
|
&ldap-implicit-unbind ldap-implicit-unbind?
|
||||||
|
&ldap-session-option-error ldap-session-option-error?
|
||||||
&ldap-operations-error ldap-operations-error?
|
&ldap-operations-error ldap-operations-error?
|
||||||
&ldap-protocol-error ldap-protocol-error?
|
&ldap-protocol-error ldap-protocol-error?
|
||||||
&ldap-timelimit-exceeded ldap-timelimit-exceeded?
|
&ldap-timelimit-exceeded ldap-timelimit-exceeded?
|
||||||
|
@ -69,6 +99,11 @@
|
||||||
(define-interface ldap-handle-types-interface
|
(define-interface ldap-handle-types-interface
|
||||||
(export
|
(export
|
||||||
ldap-session?
|
ldap-session?
|
||||||
|
ldap-session-bound?
|
||||||
|
set-ldap-session-bound?!
|
||||||
|
ldap-session-options
|
||||||
|
ldap-session-messages
|
||||||
|
|
||||||
ldap-message?
|
ldap-message?
|
||||||
ldap-modification?
|
ldap-modification?
|
||||||
|
|
||||||
|
@ -77,14 +112,24 @@
|
||||||
ldap-api-info-api-version
|
ldap-api-info-api-version
|
||||||
ldap-api-info-protocol-version
|
ldap-api-info-protocol-version
|
||||||
ldap-api-info-vendor-name
|
ldap-api-info-vendor-name
|
||||||
ldap-api-info-vendor-version))
|
ldap-api-info-vendor-version
|
||||||
|
|
||||||
|
make-session-options
|
||||||
|
set-ldap-session-options!
|
||||||
|
ldap-session-implicit-unbind-ok?
|
||||||
|
ldap-session-auto-unbind?
|
||||||
|
|
||||||
|
ldap-session-messages-adjoin!))
|
||||||
|
|
||||||
(define-interface ldap-return-interface
|
(define-interface ldap-return-interface
|
||||||
(export
|
(export
|
||||||
ldap-return-object?
|
ldap-return-object?
|
||||||
ldap-return-elements
|
ldap-return-elements
|
||||||
ldap-return-name
|
ldap-return-name
|
||||||
(ldap-return :syntax)))
|
(ldap-return :syntax)
|
||||||
|
convert-ldap-return-code
|
||||||
|
ldap-success?))
|
||||||
|
|
||||||
|
|
||||||
(define-interface ldap-option-version-interface
|
(define-interface ldap-option-version-interface
|
||||||
(export
|
(export
|
||||||
|
@ -98,6 +143,7 @@
|
||||||
ldap-scope-arguments-object?
|
ldap-scope-arguments-object?
|
||||||
ldap-scope-arguments-elements
|
ldap-scope-arguments-elements
|
||||||
ldap-scope-arguments-name
|
ldap-scope-arguments-name
|
||||||
|
ldap-scope-arguments-id
|
||||||
(ldap-scope-arguments :syntax)))
|
(ldap-scope-arguments :syntax)))
|
||||||
|
|
||||||
(define-interface ldap-session-option-values-interface
|
(define-interface ldap-session-option-values-interface
|
||||||
|
@ -105,6 +151,7 @@
|
||||||
ldap-session-option-value-object?
|
ldap-session-option-value-object?
|
||||||
ldap-session-option-value-elements
|
ldap-session-option-value-elements
|
||||||
ldap-session-option-value-name
|
ldap-session-option-value-name
|
||||||
|
ldap-session-option-value-id
|
||||||
(ldap-session-option-value :syntax)))
|
(ldap-session-option-value :syntax)))
|
||||||
|
|
||||||
(define-interface ldap-message-types-interface
|
(define-interface ldap-message-types-interface
|
||||||
|
@ -112,7 +159,8 @@
|
||||||
ldap-message-types-object?
|
ldap-message-types-object?
|
||||||
ldap-message-types-elements
|
ldap-message-types-elements
|
||||||
ldap-message-types-name
|
ldap-message-types-name
|
||||||
(ldap-message-types :syntax)))
|
(ldap-message-types :syntax)
|
||||||
|
convert-ldap-message-type))
|
||||||
|
|
||||||
(define-interface ldap-attributes-special-values-interfaces
|
(define-interface ldap-attributes-special-values-interfaces
|
||||||
(export
|
(export
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
; ,open define-record-types external-calls
|
|
||||||
|
|
||||||
(import-lambda-definition ldap-session-free
|
(import-lambda-definition ldap-session-free
|
||||||
(session)
|
(session)
|
||||||
|
@ -7,7 +6,7 @@
|
||||||
(define (ldap-session-finalizer session)
|
(define (ldap-session-finalizer session)
|
||||||
(if (ldap-session-bound? session)
|
(if (ldap-session-bound? session)
|
||||||
(if (not (ldap-session-implicit-unbind-ok? session))
|
(if (not (ldap-session-implicit-unbind-ok? session))
|
||||||
(raise (condition (ldap-implicit-unbind (session session))))
|
(raise (condition (&ldap-implicit-unbind (session session))))
|
||||||
(if (ldap-session-auto-unbind? session)
|
(if (ldap-session-auto-unbind? session)
|
||||||
(ldap-unbind session)))))
|
(ldap-unbind session)))))
|
||||||
|
|
||||||
|
@ -35,11 +34,11 @@
|
||||||
|
|
||||||
(define (ldap-simple-bind session user password)
|
(define (ldap-simple-bind session user password)
|
||||||
(let ((ret-obj
|
(let ((ret-obj
|
||||||
(ldap-return
|
(convert-ldap-return-code
|
||||||
(ldap-simple-bind-internal session user password))))
|
(ldap-simple-bind-internal session user password))))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
(set-ldap-session-bound?! session #t)
|
(set-ldap-session-bound?! session #t)
|
||||||
(raise-ldap-error ret-obj session))))
|
(raise-ldap-condition ret-obj session))))
|
||||||
|
|
||||||
;;; SASL_BIND_S
|
;;; SASL_BIND_S
|
||||||
|
|
||||||
|
@ -50,7 +49,7 @@
|
||||||
(define (ldap-sasl-bind session dn mechanism cred
|
(define (ldap-sasl-bind session dn mechanism cred
|
||||||
server-controls client-controls
|
server-controls client-controls
|
||||||
credentials)
|
credentials)
|
||||||
(raise (condition (ldap-bindings-not-implemented
|
(raise (condition (&ldap-bindings-not-implemented
|
||||||
(what '(ldap-sasl-bind ldap-controls))))))
|
(what '(ldap-sasl-bind ldap-controls))))))
|
||||||
|
|
||||||
;;; UNBIND_S
|
;;; UNBIND_S
|
||||||
|
@ -60,10 +59,11 @@
|
||||||
"scsh_ldap_unbind_s")
|
"scsh_ldap_unbind_s")
|
||||||
|
|
||||||
(define (ldap-unbind session)
|
(define (ldap-unbind session)
|
||||||
(let ((ret-obj (ldap-return (ldap-unbind-internal session))))
|
(let ((ret-obj
|
||||||
|
(convert-ldap-return-code (ldap-unbind-internal session))))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
(set-ldap-session-bound?! ldap #f)
|
(set-ldap-session-bound?! session #f)
|
||||||
(raise-ldap-error ret-obj session))))
|
(raise-ldap-condition ret-obj session))))
|
||||||
|
|
||||||
;;; SEARCH_S and SEARCH_ST
|
;;; SEARCH_S and SEARCH_ST
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
|
|
||||||
(define (ldap-search session base scope filter attribute-list attributes-only? . args)
|
(define (ldap-search session base scope filter attribute-list attributes-only? . args)
|
||||||
(let-optionals args ((timeout-seconds #f) (timeout-microseconds #f))
|
(let-optionals args ((timeout-seconds #f) (timeout-microseconds #f))
|
||||||
(let ((scope-id (ldap-scope-id scope))
|
(let ((scope-id (ldap-scope-arguments-id scope))
|
||||||
(attr-list (ldap-attribute-list-kludge attribute-list)))
|
(attr-list (ldap-attribute-list-kludge attribute-list)))
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
@ -103,13 +103,14 @@
|
||||||
session base scope filter attr-list attributes-only?
|
session base scope filter attr-list attributes-only?
|
||||||
timeout-seconds (or timeout-microseconds 0)))))
|
timeout-seconds (or timeout-microseconds 0)))))
|
||||||
(lambda (ret-code message)
|
(lambda (ret-code message)
|
||||||
(let ((ret-obj (ldap-return ret-code)))
|
(let ((ret-obj
|
||||||
|
(convert-ldap-return-code ret-code)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
(begin
|
(begin
|
||||||
(ldap-session-messages-adjoin! session message)
|
(ldap-session-messages-adjoin! session message)
|
||||||
(add-finalizer! message ldap-message-finalizer)
|
(add-finalizer! message ldap-message-finalizer)
|
||||||
message)
|
message)
|
||||||
(raise-ldap-error ret-obj session))))))))
|
(raise-ldap-condition ret-obj session))))))))
|
||||||
|
|
||||||
;;; GET/SET session options
|
;;; GET/SET session options
|
||||||
|
|
||||||
|
@ -122,7 +123,7 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply values
|
(apply values
|
||||||
(ldap-get-set-option-internal
|
(ldap-get-set-option-internal
|
||||||
session (ldap-session-options-id session-option) #t value)))
|
session (ldap-session-option-value-id session-option) #t value)))
|
||||||
(lambda (call-successful? result)
|
(lambda (call-successful? result)
|
||||||
(if call-successful?
|
(if call-successful?
|
||||||
result
|
result
|
||||||
|
@ -134,7 +135,7 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply values
|
(apply values
|
||||||
(ldap-get-set-option-internal
|
(ldap-get-set-option-internal
|
||||||
session (ldap-session-options-id session-option) #f #f)))
|
session (ldap-session-option-value-id session-option) #f #f)))
|
||||||
(lambda (call-successful? result)
|
(lambda (call-successful? result)
|
||||||
(if call-successful?
|
(if call-successful?
|
||||||
result
|
result
|
||||||
|
@ -148,9 +149,8 @@
|
||||||
"scsh_ldap_error_string")
|
"scsh_ldap_error_string")
|
||||||
|
|
||||||
(define (ldap-get-error-return-object session)
|
(define (ldap-get-error-return-object session)
|
||||||
(ldap-return
|
(ldap-session-option session
|
||||||
(ldap-session-option
|
(ldap-session-option-value error-number)))
|
||||||
session (ldap-session-option error-number))))
|
|
||||||
|
|
||||||
;;; FIRST/NEXT_MESSAGE, COUNT_MESSAGES
|
;;; FIRST/NEXT_MESSAGE, COUNT_MESSAGES
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@
|
||||||
|
|
||||||
(define (ldap-first-message session message)
|
(define (ldap-first-message session message)
|
||||||
(or (ldap-first-message-internal session message)
|
(or (ldap-first-message-internal session message)
|
||||||
(raise-ldap-error
|
(raise-ldap-condition
|
||||||
(ldap-get-error-return-object session) session)))
|
(ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
(import-lambda-definition ldap-next-message-internal
|
(import-lambda-definition ldap-next-message-internal
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
|
|
||||||
(define (ldap-next-message session message)
|
(define (ldap-next-message session message)
|
||||||
(or (ldap-next-message-internal session message)
|
(or (ldap-next-message-internal session message)
|
||||||
(raise-ldap-error
|
(raise-ldap-condition
|
||||||
(ldap-get-error-return-object session) session)))
|
(ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
(import-lambda-definition ldap-count-messages-internal
|
(import-lambda-definition ldap-count-messages-internal
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
(define (ldap-count-messages session message)
|
(define (ldap-count-messages session message)
|
||||||
(let ((ret (ldap-count-messages-internal session message)))
|
(let ((ret (ldap-count-messages-internal session message)))
|
||||||
(or ret
|
(or ret
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session))))
|
(raise-ldap-condition (ldap-get-error-return-object session) session))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -190,9 +190,9 @@
|
||||||
(define (ldap-get-message-type session message)
|
(define (ldap-get-message-type session message)
|
||||||
(cond
|
(cond
|
||||||
((ldap-get-message-type-internal message)
|
((ldap-get-message-type-internal message)
|
||||||
=> (lambda (code) (ldap-message-type code)))
|
=> (lambda (code) (convert-ldap-message-type code)))
|
||||||
(else
|
(else
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session))))
|
(raise-ldap-condition (ldap-get-error-return-object session) session))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -201,8 +201,8 @@
|
||||||
"scsh_ldap_msgid")
|
"scsh_ldap_msgid")
|
||||||
|
|
||||||
(define (ldap-get-message-id session message)
|
(define (ldap-get-message-id session message)
|
||||||
(or (ldap-get-message-id-internal message)
|
(or (ldap-message-id-internal message)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -231,14 +231,14 @@
|
||||||
(begin
|
(begin
|
||||||
(add-finalizer! ber-element ber-element-finalizer)
|
(add-finalizer! ber-element ber-element-finalizer)
|
||||||
(values attribute-name ber-element))
|
(values attribute-name ber-element))
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))))
|
||||||
|
|
||||||
(define (ldap-next-attribute session entry ber-element)
|
(define (ldap-next-attribute session entry ber-element)
|
||||||
(or (ldap-next-attribute-internal session entry ber-element)
|
(or (ldap-next-attribute-internal session entry ber-element)
|
||||||
(let ((ret-obj (ldap-get-error-return-object session)))
|
(let ((ret-obj (ldap-get-error-return-object session)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
#f
|
#f
|
||||||
(raise-ldap-error ret-obj session)))))
|
(raise-ldap-condition ret-obj session)))))
|
||||||
|
|
||||||
(define (ldap-all-attributes session entry)
|
(define (ldap-all-attributes session entry)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
|
|
||||||
(define (ldap-get-values session entry attribute-name)
|
(define (ldap-get-values session entry attribute-name)
|
||||||
(or (ldap-get-values-internal session entry attribute-name)
|
(or (ldap-get-values-internal session entry attribute-name)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -270,12 +270,12 @@
|
||||||
|
|
||||||
(define (ldap-compare session dn attribute value)
|
(define (ldap-compare session dn attribute value)
|
||||||
(let ((ret-obj
|
(let ((ret-obj
|
||||||
(ldap-return
|
(convert-ldap-return-code
|
||||||
(ldap-compare-internal session dn attribute value))))
|
(ldap-compare-internal session dn attribute value))))
|
||||||
(if (or (equal? (ldap-return compare-true) ret-obj)
|
(if (or (equal? (ldap-return compare-true) ret-obj)
|
||||||
(equal? (ldap-return compare-false) ret-obj))
|
(equal? (ldap-return compare-false) ret-obj))
|
||||||
(equal? (ldap-return compare-true) ret-obj)
|
(equal? (ldap-return compare-true) ret-obj)
|
||||||
(raise-ldap-error ret-obj session))))
|
(raise-ldap-condition ret-obj session))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -285,7 +285,7 @@
|
||||||
|
|
||||||
(define (ldap-message-dn session entry)
|
(define (ldap-message-dn session entry)
|
||||||
(or (ldap-get-dn-internal session entry)
|
(or (ldap-get-dn-internal session entry)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
|
|
||||||
(define (ldap-explode-dn session dn no-types?)
|
(define (ldap-explode-dn session dn no-types?)
|
||||||
(or (ldap-explode-dn-internal dn no-types?)
|
(or (ldap-explode-dn-internal dn no-types?)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@
|
||||||
|
|
||||||
(define (ldap-explode-rdn session dn no-types?)
|
(define (ldap-explode-rdn session dn no-types?)
|
||||||
(or (ldap-explode-rdn-internal dn no-types?)
|
(or (ldap-explode-rdn-internal dn no-types?)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session dn no-types?))))
|
(raise-ldap-condition (ldap-get-error-return-object session dn no-types?))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@
|
||||||
|
|
||||||
(define (ldap-make-dn-userfriendly session dn)
|
(define (ldap-make-dn-userfriendly session dn)
|
||||||
(or (ldap-dn2ufn-internal dn)
|
(or (ldap-dn2ufn-internal dn)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
|
|
||||||
(define (ldap-count-entries session message)
|
(define (ldap-count-entries session message)
|
||||||
(or (ldap-count-entries-internal session message)
|
(or (ldap-count-entries-internal session message)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
(define (ldap-first-entry session message)
|
(define (ldap-first-entry session message)
|
||||||
(cond
|
(cond
|
||||||
|
@ -345,7 +345,7 @@
|
||||||
(let ((ret-obj (ldap-get-error-return-object session)))
|
(let ((ret-obj (ldap-get-error-return-object session)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
#f
|
#f
|
||||||
(raise-ldap-error ret-obj session))))))
|
(raise-ldap-condition ret-obj session))))))
|
||||||
|
|
||||||
(define (ldap-next-entry session message)
|
(define (ldap-next-entry session message)
|
||||||
(cond
|
(cond
|
||||||
|
@ -357,7 +357,7 @@
|
||||||
(let ((ret-obj (ldap-get-error-return-object session)))
|
(let ((ret-obj (ldap-get-error-return-object session)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
#f
|
#f
|
||||||
(raise-ldap-error ret-obj session))))))
|
(raise-ldap-condition ret-obj session))))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -375,7 +375,7 @@
|
||||||
|
|
||||||
(define (ldap-count-references session message)
|
(define (ldap-count-references session message)
|
||||||
(or (ldap-count-references-internal session message)
|
(or (ldap-count-references-internal session message)
|
||||||
(raise-ldap-error (ldap-get-error-return-object session) session)))
|
(raise-ldap-condition (ldap-get-error-return-object session) session)))
|
||||||
|
|
||||||
(define (ldap-first-reference session message)
|
(define (ldap-first-reference session message)
|
||||||
(cond
|
(cond
|
||||||
|
@ -387,7 +387,7 @@
|
||||||
(let ((ret-obj (ldap-get-error-return-object session)))
|
(let ((ret-obj (ldap-get-error-return-object session)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
#f
|
#f
|
||||||
(raise-ldap-error ret-obj session))))))
|
(raise-ldap-condition ret-obj session))))))
|
||||||
|
|
||||||
(define (ldap-next-reference session message)
|
(define (ldap-next-reference session message)
|
||||||
(cond
|
(cond
|
||||||
|
@ -399,7 +399,7 @@
|
||||||
(let ((ret-obj (ldap-get-error-return-object session)))
|
(let ((ret-obj (ldap-get-error-return-object session)))
|
||||||
(if (ldap-success? ret-obj)
|
(if (ldap-success? ret-obj)
|
||||||
#f
|
#f
|
||||||
(raise-ldap-error ret-obj session))))))
|
(raise-ldap-condition ret-obj session))))))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
@ -407,6 +407,17 @@
|
||||||
(session dn ldap-modification-vector)
|
(session dn ldap-modification-vector)
|
||||||
"scsh_ldap_modify")
|
"scsh_ldap_modify")
|
||||||
|
|
||||||
|
(define (ldap-modify session dn ldap-modifications)
|
||||||
|
(let ((vec (if (list? ldap-modifications)
|
||||||
|
(list->vector ldap-modifications)
|
||||||
|
(vector ldap-modifications))))
|
||||||
|
(let ((ret-obj
|
||||||
|
(convert-ldap-return-code (ldap-modify-internal session dn vec))))
|
||||||
|
(or (ldap-success? ret-obj)
|
||||||
|
(raise-ldap-condition ret-obj session)))))
|
||||||
|
|
||||||
|
;;;
|
||||||
|
|
||||||
(import-lambda-definition ldap-add-internal
|
(import-lambda-definition ldap-add-internal
|
||||||
(session dn ldap-modification-vector)
|
(session dn ldap-modification-vector)
|
||||||
"scsh_ldap_add")
|
"scsh_ldap_add")
|
||||||
|
@ -419,9 +430,3 @@
|
||||||
(session message-id)
|
(session message-id)
|
||||||
"scsh_ldap_abandon")
|
"scsh_ldap_abandon")
|
||||||
|
|
||||||
;;; import functions from C
|
|
||||||
(define c-value->ldap-success
|
|
||||||
(make-finite-type-import-function
|
|
||||||
'ldap-success ldap-success-elements ldap-success-id))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,12 @@
|
||||||
define-record-types
|
define-record-types
|
||||||
primitives
|
primitives
|
||||||
external-calls
|
external-calls
|
||||||
|
let-opt
|
||||||
srfi-34 srfi-35
|
srfi-34 srfi-35
|
||||||
ffi-tools-rts)
|
ffi-tools-rts
|
||||||
|
|
||||||
|
ldap-conditions
|
||||||
|
ldap-types)
|
||||||
(files ldap))
|
(files ldap))
|
||||||
|
|
||||||
(define-structure ldap-types ldap-types-interface
|
(define-structure ldap-types ldap-types-interface
|
||||||
|
|
Loading…
Reference in New Issue