Current File : //proc/thread-self/root/kunden/usr/share/emacs/27.2/lisp/net/eudcb-ldap.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\303\304!\203 \305\304M\210\202 \306\305\307\"\210\300\207" [require eudc ldap fboundp ldap-get-host-parameter eudc-ldap-get-host-parameter defalias #[(host parameter) "\303\304 \"A\n\"\207" [host ldap-host-parameters-alist parameter plist-get assoc] 4 "Get the value of PARAMETER for HOST in `ldap-host-parameters-alist'."]] 3)
#@51 Alist mapping EUDC attribute names to LDAP names.
(defvar eudc-ldap-attributes-translation-alist '((name . sn) (firstname . givenname) (email . mail) (phone . telephonenumber)) (#$ . 778))
(byte-code "\300\301\302\303#\210\300\304\305\303#\210\300\306\307\303#\210\300\310\311\303#\210\300\312\313\303#\210\300\314\315\303#\207" [eudc-protocol-set eudc-query-function eudc-ldap-simple-query-internal ldap eudc-list-attributes-function eudc-ldap-get-field-list eudc-protocol-attributes-translation-alist eudc-ldap-attributes-translation-alist eudc-bbdb-conversion-alist eudc-ldap-bbdb-conversion-alist eudc-protocol-has-default-query-attributes nil eudc-attribute-display-method-alist (("jpegphoto" . eudc-display-jpeg-inline) ("labeledurl" . eudc-display-url) ("audio" . eudc-display-sound) ("labeleduri" . eudc-display-url) ("mail" . eudc-display-mail) ("url" . eudc-display-url))] 4)
#@59 Do some cleanup in a RECORD to make it suitable for EUDC.
(defalias 'eudc-ldap-cleanup-record-simple #[(record) "\301\302\"\207" [record mapcar #[(field) "\301@\227!AA\203 A\202 A@B\207" [field intern] 2]] 3 (#$ . 1670)])
(make-obsolete 'eudc-ldap-cleanup-record-simple 'eudc-ldap-cleanup-record-filtering-addresses "25.1")
(defalias 'eudc-filter-$ #[(string) "\301\302\303\304\"\305#\207" [string mapconcat identity split-string "\\$" "\n"] 5])
#@252 Clean up RECORD to make it suitable for EUDC.
Make the record a cons-cell instead of a list if it is
single-valued. Change the `$' character in postal addresses to a
newline. Combine separate mail fields into one mail field with
multiple addresses.
(defalias 'eudc-ldap-cleanup-record-filtering-addresses #[(record) "\306\300!?\206 ?\307\211\f\307\211\203f @\310
@\227!
A\2038 \311>\2038 \312\313\"\314=\203H \315 \"\202\\ A\203U \202X @B\nB*A\211\204 *\314 A\203q \202s @B\nB\211\237+\207" [ldap-ignore-attribute-codings mail-addresses result clean-up-addresses record field boundp nil intern (postaladdress registeredaddress) mapcar eudc-filter-$ mail append --dolist-tail-- value name] 4 (#$ . 2131)])
#@226 Query the LDAP server with QUERY.
QUERY is a list of cons cells (ATTR . VALUE) where ATTRs should be valid
LDAP attribute names.
RETURN-ATTRS is a list of attributes to return, defaulting to
`eudc-default-return-attributes'.
(defalias 'eudc-ldap-simple-query-internal #[(query &optional return-attrs) "\306\307! \n<\205 \310\311\n\"#\312\310\313\f\"
\203* \n\203* \n\314=\204* \315\f\n\"\316=\2046 \317\320\f\"\210*\207" [query eudc-server return-attrs final-result result eudc-strict-return-matches ldap-search eudc-ldap-format-query-as-rfc1558 mapcar symbol-name nil eudc-ldap-cleanup-record-filtering-addresses all eudc-filter-partial-records list mapc #[(record) "\302\303! \"\211\207" [record final-result append eudc-filter-duplicate-attributes] 3] eudc-duplicate-attribute-handling-method] 6 (#$ . 2889)])
#@173 Return a list of valid attribute names for the current server.
OBJECTCLASS is the LDAP object class for which the valid
attribute names are returned. Default to `person'.
(defalias 'eudc-ldap-get-field-list #[(_dummy &optional objectclass) "\204 \303\304!\210\305BC\306\307\310\311\312\n\206 \313BC!\314\315$\")\207" [eudc-server ldap-host-parameters-alist objectclass call-interactively eudc-set-server (scope subtree sizelimit 1) mapcar eudc-ldap-cleanup-record-filtering-addresses ldap-search eudc-ldap-format-query-as-rfc1558 "objectclass" "person" nil t] 7 (#$ . 3720) nil])
#@68 Value is STRING with characters forbidden in LDAP queries escaped.
(defalias 'eudc-ldap-escape-query-special-chars #[(string) "\301\211\211\211\302\303#\304\305#\306\307#\310\311!\312#\207" [string eudc-replace-in-string "\\\\" "\\5c" "(" "\\28" ")" "\\29" char-to-string 0 "\\00"] 7 (#$ . 4313)])
#@61 Format the EUDC QUERY list as a RFC1558 LDAP search filter.
(defalias 'eudc-ldap-format-query-as-rfc1558 #[(query) "\302\303\304\305\306 !\307#\310 !@\311\"P\")\207" [formatter query #[(item &optional wildcard) "\302\303@\304A! \203 \305\202 \306P#\207" [item wildcard format "(%s=%s)" eudc-ldap-escape-query-special-chars "*" #1=""] 5] format "(&%s)" mapconcat butlast #1# last t] 6 (#$ . 4618)])
#@34 Customize the EUDC LDAP support.
(defalias 'eudc-ldap-customize #[nil "\300\301!\207" [customize-group eudc-ldap] 2 (#$ . 5029) nil])
#@64 Check if the current LDAP server has a configured search base.
(defalias 'eudc-ldap-check-base #[nil "\303\304\"\206 \206 \305\306!??\205\"