bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#58605: 29.0.50; Commit 2a2f5530fa2 breaks ldap-search-internal


From: Jens Lechtenboerger
Subject: bug#58605: 29.0.50; Commit 2a2f5530fa2 breaks ldap-search-internal
Date: Tue, 18 Oct 2022 08:05:53 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

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@example.org)' userCertificate
# extended LDIF
#
# LDAPv3
# base <O=DFN-Verein,C=DE> with scope subtree
# filter: (mail=x@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@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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]