GNU bug report logs -
#58605
29.0.50; Commit 2a2f5530fa2 breaks ldap-search-internal
Previous Next
Full log
View this message in rfc822 format
Hi there,
commit 2a2f5530fa230e2b994be5683e63763833bb6a0a breaks
ldap-search-internal for searches with empty results.
Consider this search with ldapsearch, returning an empty result:
ldapsearch -h ldap.pca.dfn.de -tt -x -b O=DFN-Verein,C=DE \
'(mail=x <at> example.org)' userCertificate
# extended LDIF
#
# LDAPv3
# base <O=DFN-Verein,C=DE> with scope subtree
# filter: (mail=x <at> example.org)
# requesting: userCertificate
#
# search result
search: 2
result: 0 Success
# numResponses: 1
The problem is that ldap-search-internal interprets the 2 in line
"search: 2" as filename with a certificate, bound to variable value.
Thus, (insert-file-contents-literally value) results in an error:
File is missing: "Opening input file", "Datei oder Verzeichnis nicht
gefunden", "[currentdir]/2"
Execute that:
(let ((ldap-default-base "O=DFN-Verein,C=DE")
(ldap-ldapsearch-args '("-x" "-tt" "-H ldaps://ldap.pca.dfn.de"))
(search-plist '(host "" filter "mail=x <at> example.org" attributes ("userCertificate") attrsonly nil withdn nil)))
(ldap-search-internal search-plist))
Previously, that returned nil, after the mentioned commit it
produces the above error.
The added “?” should be removed there again:
@@ -699,7 +699,7 @@ ldap-search-internal
(forward-line 1)
(while (looking-at "^\\([A-Za-z][-A-Za-z0-9]*\
\\|[0-9]+\\(?:\\.[0-9]+\\)*\\)\\(;[-A-Za-z0-9]+\\)*[=:\t ]+\
-\\(<[\t ]*file://\\)\\(.*\\)$")
+\\(<[\t ]*file://\\)?\\(.*\\)$")
(setq name (match-string 1)
value (match-string 4))
;; Need to handle file:///D:/... as generated by OpenLDAP
Thanks
Jens
This bug report was last modified 2 years and 265 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.