* bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS
@ 2024-01-11 0:57 Kirill A. Korinsky
2024-01-11 10:12 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Korinsky @ 2024-01-11 0:57 UTC (permalink / raw)
To: 68376
[-- Attachment #1.1: Type: text/plain, Size: 2829 bytes --]
Greeting,
I'd like to share a bug with simple reproducer:
(auth-source-search :host "some.host" :port "123" :user "user")
(auth-source-search :host "some.host" :port 123 :user "user")
The first line works as expected, and the second one fails as:
Debugger entered--Lisp error: (wrong-type-argument stringp 123)
call-process("/usr/bin/security" nil t nil "find-generic-password" "-g" "-c" "some.host" "-a" "user" "-s" 123)
auth-source-macos-keychain-search-items("default" macos-keychain-generic 1 "some.host" 123 "user" :type macos-keychain-generic :user "user")
apply(auth-source-macos-keychain-search-items "default" macos-keychain-generic 1 "some.host" 123 "user" (:type macos-keychain-generic :user "user"))
auth-source-macos-keychain-search(:backend #<auth-source-backend auth-source-backend-1ff08463df92> :type macos-keychain-generic :max 1 :require nil :create nil :delete nil :host "some.host" :port 123 :user "user")
auth-source-search-backends((#<auth-source-backend auth-source-backend-1ff08463df92> #<auth-source-backend auth-source-backend-1ff0887f79e6> #<auth-source-backend auth-source-backend-1ff07046d5fe> #<auth-source-backend auth-source-backend-1ff070457074>) (:host "some.host" :port 123 :user "user") 1 nil nil nil)
auth-source-search(:host "some.host" :port 123 :user "user")
eval((auth-source-search :host "some.host" :port 123 :user "user") nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
command-execute(eval-last-sexp)
on
In GNU Emacs 30.0.50 (build 1, x86_64-apple-darwin21.6.0, NS
appkit-2113.60 Version 12.7.1 (Build 21G920)) of 2024-01-10 built on
Kirills-MBP.sa31-home.catap.net
Windowing system distributor 'Apple', version 10.3.2113
System Description: macOS 12.7.1
Configured using:
'configure --prefix=/opt/local --disable-silent-rules --without-dbus
--without-gconf --without-libotf --without-m17n-flt --with-libgmp
--with-gnutls --with-json --with-xml2 --with-modules --with-sqlite3
--with-webp --infodir /opt/local/share/info/emacs --with-ns
--with-lcms2 --without-harfbuzz --without-xaw3d --with-imagemagick
--with-rsvg --with-native-compilation=aot --with-tree-sitter
'CFLAGS=-pipe -Os
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch
x86_64' 'CPPFLAGS=-I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk'
'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath
/opt/local/lib/gcc13
-Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
-arch x86_64''
which was build from https://github.com/emacs-mirror/emacs/commit/d9462e24a967e32d550ee886b5150f0cc78358f6 <https://github.com/emacs-mirror/emacs/commit/d9462e24a967e32d550ee886b5150f0cc78358f6>
--
wbr, Kirill
[-- Attachment #1.2: Type: text/html, Size: 4359 bytes --]
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS
2024-01-11 0:57 bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS Kirill A. Korinsky
@ 2024-01-11 10:12 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-11 10:38 ` Kirill A. Korinsky
0 siblings, 1 reply; 4+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-11 10:12 UTC (permalink / raw)
To: Kirill A. Korinsky; +Cc: 68376
[-- Attachment #1: Type: text/plain, Size: 762 bytes --]
"Kirill A. Korinsky" <kirill@korins.ky> writes:
> Greeting,
Hi Kirill,
> I'd like to share a bug with simple reproducer:
>
> (auth-source-search :host "some.host" :port "123" :user "user")
> (auth-source-search :host "some.host" :port 123 :user "user")
>
> The first line works as expected, and the second one fails as:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp 123)
> call-process("/usr/bin/security" nil t nil "find-generic-password"
> "-g" "-c" "some.host" "-a" "user" "-s" 123)
call-process requires strings as arguments. This must be converted
in auth-source-macos-keychain-search-items if needed.
Could you, please, check whether the appended patch works? I cannot test
myself, I have no macOS machine.
Best regards, Michael.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1985 bytes --]
diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 369cf4dca2e..cf93cb05fba 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -1946,18 +1946,20 @@ auth-source-macos-keychain-search
(returned-keys (delete-dups (append
'(:host :login :port :secret)
search-keys)))
- ;; Extract host and port from spec
+ ;; Extract host, port and user from spec
(hosts (plist-get spec :host))
- (hosts (if (and hosts (listp hosts)) hosts `(,hosts)))
+ (hosts (if (consp hosts) hosts `(,hosts)))
(ports (plist-get spec :port))
- (ports (if (and ports (listp ports)) ports `(,ports)))
+ (ports (if (consp ports) ports `(,ports)))
(users (plist-get spec :user))
- (users (if (and users (listp users)) users `(,users)))
+ (users (if (consp users) users `(,users)))
;; Loop through all combinations of host/port and pass each of these to
- ;; auth-source-macos-keychain-search-items
+ ;; auth-source-macos-keychain-search-items. Convert numeric port to
+ ;; string (bug#68376).
(items (catch 'match
(dolist (host hosts)
(dolist (port ports)
+ (when (numberp port) (setq port (number-to-string port)))
(dolist (user users)
(let ((items (apply
#'auth-source-macos-keychain-search-items
@@ -2019,7 +2021,7 @@ auth-source-macos-keychain-search-items
(when port
(if keychain-generic
(setq args (append args (list "-s" port)))
- (setq args (append args (if (string-match "[0-9]+" port)
+ (setq args (append args (if (string-match-p "\\`[[:digit:]]+\\'" port)
(list "-P" port)
(list "-r" (substring
(format "%-4s" port)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS
2024-01-11 10:12 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-11 10:38 ` Kirill A. Korinsky
2024-01-11 11:32 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Korinsky @ 2024-01-11 10:38 UTC (permalink / raw)
To: Michael Albinus; +Cc: 68376
[-- Attachment #1: Type: text/plain, Size: 227 bytes --]
> On 11. Jan 2024, at 11:12, Michael Albinus <michael.albinus@gmx.de> wrote:
>
> Could you, please, check whether the appended patch works? I cannot test
> myself, I have no macOS machine.
It works, thanks.
--
wbr, Kirill
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS
2024-01-11 10:38 ` Kirill A. Korinsky
@ 2024-01-11 11:32 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 4+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-11 11:32 UTC (permalink / raw)
To: Kirill A. Korinsky; +Cc: 68376-done
Version: 30.1
"Kirill A. Korinsky" <kirill@korins.ky> writes:
Hi Kirill,
>> Could you, please, check whether the appended patch works? I cannot test
>> myself, I have no macOS machine.
>
> It works, thanks.
Thanks for the feedback. I've pushed the fix to the master branch,
closing the bug.
> wbr, Kirill
Best regards, Michael.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-11 11:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-11 0:57 bug#68376: 30.0.50; auth-source-search doesn't support numeric port on macOS Kirill A. Korinsky
2024-01-11 10:12 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-11 10:38 ` Kirill A. Korinsky
2024-01-11 11:32 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).