summaryrefslogtreecommitdiff
path: root/lisp/net/ldap.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/net/ldap.el')
-rw-r--r--lisp/net/ldap.el26
1 files changed, 16 insertions, 10 deletions
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index d539164e9f9..55af47e6a87 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -1,6 +1,6 @@
;;; ldap.el --- client interface to LDAP for Emacs
-;; Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 02, 2004 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
@@ -36,6 +36,7 @@
;;; Code:
(require 'custom)
+(eval-when-compile (require 'cl))
(defgroup ldap nil
"Lightweight Directory Access Protocol."
@@ -464,17 +465,16 @@ Additional search parameters can be specified through
(error "No LDAP host specified"))
(let ((host-plist (cdr (assoc host ldap-host-parameters-alist)))
result)
- (setq result (ldap-search-internal (append host-plist
- (list 'host host
- 'filter filter
- 'attributes attributes
- 'attrsonly attrsonly
- 'withdn withdn))))
+ (setq result (ldap-search-internal (list* 'host host
+ 'filter filter
+ 'attributes attributes
+ 'attrsonly attrsonly
+ 'withdn withdn
+ host-plist)))
(if ldap-ignore-attribute-codings
result
- (mapcar (function
- (lambda (record)
- (mapcar 'ldap-decode-attribute record)))
+ (mapcar (lambda (record)
+ (mapcar 'ldap-decode-attribute record))
result))))
@@ -582,6 +582,11 @@ an alist of attribute/value pairs."
(while (looking-at "^\\(\\w*\\)[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$")
(setq name (match-string 1)
value (match-string 3))
+ ;; Need to handle file:///D:/... as generated by OpenLDAP
+ ;; on DOS/Windows as local files.
+ (if (and (memq system-type '(windows-nt ms-dos))
+ (eq (string-match "/\\(.:.*\\)$" value) 0))
+ (setq value (match-string 1 value)))
;; Do not try to open non-existent files
(if (equal value "")
(setq value " ")
@@ -607,4 +612,5 @@ an alist of attribute/value pairs."
(provide 'ldap)
+;;; arch-tag: 47913a76-6155-42e6-ac58-6d28b5d50eb0
;;; ldap.el ends here