Files
macports-ports/security/libfido2/files/patch-hid_osx.diff
Blake GarnerandHerby Gillot 5322ce0b5f libfido2: update to 1.17.0
* switch to official Yubico release tarball instead of GitHub
  tarball (upstream changed packaging between 1.16.0 and 1.17.0)
* split legacy compatibility patches into focused files:
  - patch-compat-pre1012.diff: fix kIOHIDManagerOptionNone on < 10.12
  - patch-nosigpipe.diff: guard F_SETNOSIGPIPE on 10.5–10.6
  - patch-fallthrough.diff: fix FALLTHROUGH attribute on < 10.10
  - patch-bzero.diff: declare bzero hidden by _POSIX_C_SOURCE on < 10.9
  - patch-cmake-no-fallthrough.diff: drop -Wimplicit-fallthrough on 10.5–10.6

Closes: https://trac.macports.org/ticket/64833
Closes: https://trac.macports.org/ticket/68333
2026-04-19 13:55:22 -04:00

46 lines
1.2 KiB
Diff

--- src/hid_osx.c.orig 2023-02-20 16:21:28.000000000 +0800
+++ src/hid_osx.c 2023-06-20 10:42:18.000000000 +0800
@@ -12,7 +12,7 @@
#include <signal.h>
#include <unistd.h>
-#include <Availability.h>
+#include <AvailabilityMacros.h>
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/hid/IOHIDKeys.h>
@@ -169,25 +170,27 @@
static char *
get_path(IOHIDDeviceRef dev)
{
- io_service_t s;
- uint64_t id;
- char *path;
+ io_service_t s;
+ io_string_t path;
+#if MAC_OS_X_VERSION_MIN_REQUIRED > 1050 && !defined(__ppc__)
if ((s = IOHIDDeviceGetService(dev)) == MACH_PORT_NULL) {
fido_log_debug("%s: IOHIDDeviceGetService", __func__);
return (NULL);
}
+#endif
- if (IORegistryEntryGetRegistryEntryID(s, &id) != KERN_SUCCESS) {
- fido_log_debug("%s: IORegistryEntryGetRegistryEntryID",
- __func__);
+ if (IORegistryEntryGetPath(s, kIOServicePlane, path) != KERN_SUCCESS) {
+ fido_log_debug("%s: IORegistryEntryGetPath", __func__);
return (NULL);
}
+#if MAC_OS_X_VERSION_MIN_REQUIRED > 1050 && !defined(__ppc__)
if (asprintf(&path, "%s%llu", IOREG, (unsigned long long)id) == -1) {
fido_log_error(errno, "%s: asprintf", __func__);
return (NULL);
}
+#endif
return (path);
}