;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; 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\203A\202A@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\"\307\n\"\204C\nB\310\302!\207" [eudc-server ldap-default-base ldap-host-parameters-alist eudc-ldap-get-host-parameter base y-or-n-p "No search base defined. Configure it now? " assoc customize-variable] 3 (#$ . 5169)]) (byte-code "\300\301!\210\302\303!\207" [eudc-register-protocol ldap provide eudcb-ldap] 2)