;;; ldap.el --- client interface to LDAP for Emacs
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
;; Created: April 1998
;; Keywords: comm
;;; Code:
(require 'custom)
-(eval-when-compile (require 'cl))
(autoload 'auth-source-search "auth-source")
(error "No LDAP host specified"))
(let ((host-plist (cdr (assoc host ldap-host-parameters-alist)))
result)
- (setq result (ldap-search-internal (list* 'host host
- 'filter filter
- 'attributes attributes
- 'attrsonly attrsonly
- 'withdn withdn
- host-plist)))
+ (setq result (ldap-search-internal `(host ,host
+ filter ,filter
+ attributes ,attributes
+ attrsonly ,attrsonly
+ withdn ,withdn
+ ,@host-plist)))
(if ldap-ignore-attribute-codings
result
(mapcar (lambda (record)
matching one will be used. Note the \"port ldap\" part is NOT
required.
- `host' is a string naming one or more (blank-separated) LDAP servers to
+ `host' is a string naming one or more (blank-separated) LDAP servers
to try to connect to. Each host name may optionally be of the form HOST:PORT.
`filter' is a filter string for the search as described in RFC 1558.
`attributes' is a list of strings indicating which attributes to retrieve
;; Skip error message when retrieving attribute list
(if (looking-at "Size limit exceeded")
(forward-line 1))
+ (if (looking-at "version:") (forward-line 1)) ;bug#12724.
(while (progn
(skip-chars-forward " \t\n")
(not (eobp)))
(setq record (cons (list name value)
record))
(forward-line 1))
- (push (if withdn
- (cons dn (nreverse record))
- (nreverse record)) result)
+ (cond (withdn
+ (push (cons dn (nreverse record)) result))
+ (record
+ (push (nreverse record) result)))
(setq record nil)
(skip-chars-forward " \t\n")
(message "Parsing results... %d" numres)