;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\300\303!\210\300\304!\210\305\306\307\"\207" [require url-vars url-parse url-util ldap autoload tls-certificate-information "tls"] 3) #@20 Default LDAP port. (defconst url-ldap-default-port 389 (#$ . 581)) (defalias 'url-ldap-expand-file-name 'url-default-expander) #@76 An assoc list mapping LDAP attribute names to pretty descriptions of them. (defvar url-ldap-pretty-names '(("l" . "City") ("objectclass" . "Object Class") ("o" . "Organization") ("ou" . "Organizational Unit") ("cn" . "Name") ("sn" . "Last Name") ("givenname" . "First Name") ("mail" . "Email") ("title" . "Title") ("c" . "Country") ("postalcode" . "ZIP Code") ("telephonenumber" . "Phone Number") ("facsimiletelephonenumber" . "Fax") ("postaladdress" . "Mailing Address") ("description" . "Notes")) (#$ . 714)) #@75 An assoc list mapping LDAP attribute names to pretty formatters for them. (defvar url-ldap-attribute-formatters '(("mail" lambda (x) (format "%s" x x)) ("owner" . url-ldap-dn-formatter) ("creatorsname" . url-ldap-dn-formatter) ("jpegphoto" . url-ldap-image-formatter) ("usercertificate" . url-ldap-certificate-formatter) ("modifiersname" . url-ldap-dn-formatter) ("namingcontexts" . url-ldap-dn-formatter) ("defaultnamingcontext" . url-ldap-dn-formatter) ("member" . url-ldap-dn-formatter)) (#$ . 1231)) (defalias 'url-ldap-attribute-pretty-name #[(n) "\302\227 \"\243\206\n\207" [n url-ldap-pretty-names assoc] 3]) (put 'url-ldap-attribute-pretty-name 'byte-optimizer 'byte-compile-inline-expand) (defalias 'url-ldap-attribute-pretty-desc #[(n v) "\303\304\"\203\f\305\306\"\307\227 \"\243\206\310\n!\207" [n url-ldap-attribute-formatters v string-match "^\\([^;]+\\);" match-string 1 assoc identity] 3]) (put 'url-ldap-attribute-pretty-desc 'byte-optimizer 'byte-compile-inline-expand) (defalias 'url-ldap-dn-formatter #[(dn) "\301\302!\303\304\260\207" [dn "" ""] 5]) (defalias 'url-ldap-certificate-formatter #[(data) "\3021 \303\304!0\202\210\202\210\305\306!\203\306!\202\307!\211\204(\310\2020\311\312\313 \314#\315Q)\207" [data vals (error) require ssl fboundp ssl-certificate-information tls-certificate-information "Unable to parse certificate" "\n" mapconcat #[(ava) "\301\302@A#\207" [ava format "\n"] 4] "\n" "
%s%s
\n"] 6]) (defalias 'url-ldap-image-formatter #[(data) "\301\302\303\304!!\"\207" [data format "JPEG Photo" url-hexify-string base64-encode-string] 5]) #@200 Perform an LDAP search specified by URL. The return value is a buffer displaying the search results in HTML. URL can be a URL string, or a URL record of the type returned by `url-generic-parse-url'. (defalias 'url-ldap #[(url) ";\203\306\307!!\202\310! >\204\311\312!\210r\313\314!q\210\315c\210\316\317!\204A\320\321\322\323\324!\325\326\327\330\331\332\333\334\335\261\210\202\246\336\310! >\204R\337\340\300D\"\210\341H\310! >\204e\337\340\300D\"\210\342H\310! >\204y\337\340\300D\"\210\211\343H\206\251\310! >\204\216\337\340\300D\"\210\211\344H\205\251\345\310! >\204\244\337\340\300D\"\210\344H\346\"\262@\336\211AB\336\211CD\336\211EF\347\350\f\"\203\313\351\f\344\"\352\353\354\f\355\"\"\211@A\fA@B\356\f8C\357\f8D\342\f8E\307A\206\362\360!A\361\307C\206\375\362!!C\307D\206\363!DC\364>\204\311\365C\"\210C\366\236ACB\203.\352\307\354B\367\"\"BE\203D\352\370\354E\367\"\"E\352\371E\"E\372\373E\"\206Q\372\374E\"\243\317\305 \375\376@!Q\377A\201BB\201CC\201DD\303 \257\f!AF\320\321\201G\323\324!\325\326\327\201H\201IFG!\201J\261 \210\201K\201LF\"\210\201M\334\335\261\210.\np)\207" [url cl-struct-url-tags url-current-object binddn data host url-generic-parse-url url-unhex-string type-of error "Argument is not a valid URL" generate-new-buffer " *url-ldap*" "Content-type: text/html \n \n" fboundp ldap-search-internal "\n" " \n" " LDAP Not Supported\n" " \n" " \n" " \n" "

LDAP Not Supported

\n" "

\n" " This version of Emacs does not support LDAP.\n" "

\n" " \n" "\n" nil signal wrong-type-argument 6 4 5 1 url-scheme-get-property default-port string-match "^/" substring mapcar #[(x) "G\301U?\205 \207" [x 0] 2] split-string "\\?" 2 3 "" intern "base" "(objectClass=*)" (base one sub) "Malformed LDAP URL: Unknown scope: %S" ((base . base) (one . onelevel) (sub . subtree)) "," #[(ext) "\301\302\"\203\303\304\"\303\305\"B\207\211B\207" [ext string-match "\\([^=]*\\)=\\(.*\\)" match-string 1 2] 4] #[(ext) "\301@!\301A!B\207" [ext url-unhex-string] 3] assoc "bindname" "!bindname" ":" number-to-string base port base-object attributes scope filter extensions results " LDAP Search Results\n" "

" int-to-string " matches

\n" mapc #[(obj) "\301\302\261\210\303\304\"\210\305c\207" [obj "
\n" " \n" mapc #[(attr) "AG\305U\203<\306@\307 \227\n\"\243\206 )\310@A@\311\312 \"\203+\313\305 \"\307 \227\f\"\243\2065\314 !*\315\261\207\316\317\320!@\307 \227\n\"\243\206M )\310\321\322A\323#\324\325\261\207" [attr n url-ldap-pretty-names v url-ldap-attribute-formatters 1 " \n" " \n" format " " " \n"] 8] "
" assoc "" string-match #1="^\\([^;]+\\);" match-string identity "
" mapconcat #[(x) "@ \305\306 \"\203\307\310 \"\311 \227\f\"\243\206\312\n!*\207" [attr x v n url-ldap-attribute-formatters string-match #1# match-string 1 assoc identity] 3] "
\n" "
\n"] 3] "
\n"] 15 (#$ . 3009)]) (provide 'url-ldap)