>From cccc068c1ac00855b75541197126d1f0fab39907 Mon Sep 17 00:00:00 2001
Message-ID: <cccc068c1ac00855b75541197126d1f0fab39907.1790236595.git.gniibe@fsij.org>
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Thu, 24 Sep 2026 16:54:05 +0900
Subject: [PATCH] scd: Fix pinpad handling for macOS.
To: gnupg-devel@gnupg.org
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------2.47.3"

This is a multi-part message in MIME format.
--------------2.47.3
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit


* scd/apdu.c (pcsc_init): Try SCardControl123 firstly.

--

Co-authored-by: Mario Hoberg
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
---
 scd/apdu.c | 6 ++++++
 1 file changed, 6 insertions(+)


--------------2.47.3
Content-Type: text/x-patch; name="0001-scd-Fix-pinpad-handling-for-macOS.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-scd-Fix-pinpad-handling-for-macOS.patch"

diff --git a/scd/apdu.c b/scd/apdu.c
index 6b874ef29..d899d1126 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -1182,6 +1182,12 @@ pcsc_init (void)
       pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
       pcsc_transmit          = dlsym (handle, "SCardTransmit");
       pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
+#ifdef __APPLE__
+      /* Apple keeps old name, gives a different name for new API.  */
+      pcsc_control           = dlsym (handle, "SCardControl123");
+      /* If it's not available, try "SCardControl" */
+      if (!pcsc_control)
+#endif
       pcsc_control           = dlsym (handle, "SCardControl");
 
       if (!pcsc_establish_context

--------------2.47.3--


