From: Kirill A. Korinsky To: OpenBSD tech , djm@openbsd.org Date: Sun, 06 Sep 2026 12:15:06 +0200 tech@, my update libfido accidently reverted a hardcoded USB device metadata which leads broken pledge in, for example, chromium. Ok? Index: src/hid_openbsd.c =================================================================== RCS file: /home/cvs/src/lib/libfido2/src/hid_openbsd.c,v diff -u -p -r1.9 hid_openbsd.c --- src/hid_openbsd.c 4 Sep 2026 16:20:01 -0000 1.9 +++ src/hid_openbsd.c 6 Sep 2026 09:52:18 -0000 @@ -7,9 +7,6 @@ #include -#include -#include - #include #include #include @@ -32,33 +29,23 @@ static int copy_info(fido_dev_info_t *di, const char *path) { int fd = -1, ok = -1; - struct usb_device_info udi; memset(di, 0, sizeof(*di)); - memset(&udi, 0, sizeof(udi)); if ((fd = fido_hid_unix_open(path)) == -1) goto fail; - if (ioctl(fd, USB_GET_DEVICEINFO, &udi) == -1) { - fido_log_error(errno, "%s: ioctl %s", __func__, path); - goto fail; - } - - fido_log_debug("%s: %s: bus = 0x%02x, addr = 0x%02x", __func__, path, - udi.udi_bus, udi.udi_addr); - fido_log_debug("%s: %s: vendor = \"%s\", product = \"%s\"", __func__, - path, udi.udi_vendor, udi.udi_product); - fido_log_debug("%s: %s: productNo = 0x%04x, vendorNo = 0x%04x, " - "releaseNo = 0x%04x", __func__, path, udi.udi_productNo, - udi.udi_vendorNo, udi.udi_releaseNo); + /* USB_GET_DEVICEINFO is not permitted by pledge(2). */ if ((di->path = strdup(path)) == NULL || - (di->manufacturer = strdup(udi.udi_vendor)) == NULL || - (di->product = strdup(udi.udi_product)) == NULL) + (di->manufacturer = strdup("OpenBSD")) == NULL || + (di->product = strdup("fido(4)")) == NULL) goto fail; - di->vendor_id = (int16_t)udi.udi_vendorNo; - di->product_id = (int16_t)udi.udi_productNo; + di->vendor_id = 0x0b5d; /* PCI_VENDOR_OPENBSD */ + di->product_id = 0; + + fido_log_debug("%s: %s: vendor = \"%s\", product = \"%s\"", __func__, + path, di->manufacturer, di->product); ok = 0; fail: -- wbr, Kirill