pkgsrc-Changes archive

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

CVS commit: pkgsrc/security



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Fri Oct 31 14:56:39 UTC 2025

Modified Files:
        pkgsrc/security/py-yubikey-manager: Makefile PLIST distinfo
        pkgsrc/security/ykman: version.mk
Added Files:
        pkgsrc/security/py-yubikey-manager/patches:
            patch-ykman_hid_____init____.py patch-ykman_hid_netbsd.py

Log Message:
security/{py-yubikey-manager,ykman}: Update to 5.8.0

* Add preliminary NetBSD support.

Changelog:
5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.8.0:
Version 5.8.0 (released 2025-09-03)

    Python 3.10 or later is now required.
    CLI: The "otp settings" command now supports --serial-usb-visible.
    CLI: List PIV "retired" key slots after normal slots.
    CLI: Add --no-update-chuid to "piv certificate" commands.
    CLI: Improve "fido" command error handing when FIDO2 is disabled/missing.
    CLI: Support "fido reset" when multiple keys are connected.
    Windows CLI: Fix issue with command line arguments starting with "~".
    Add "YkmanDevice.reinsert" method to simplify reconnecting a YubiKey.
    PIV: Add "PivSession.get_serial" method.
    Building the project now uses uv.
    Windows and MacOS installers built with Python 3.13.7

5.7.2:
Version 5.7.2 (released 2025-06-09)
This is a Windows-only patch release.

    FIDO reset over NFC on Windows fixed
    Windows installer built with Python 3.13.4

5.7.1:
Version 5.7.1 (released 2025-06-09)

    Bugfix: Fix OTP connections for YubiKeys with all other USB interfaces deactivated.
    Windows and MacOS installers built with Python 3.13.4

5.7.0:
Version 5.7.0 (released 2025-05-28)

    Python 3.9 or later is now required.
    PIV: Improve error handling for the Printed data slot.
    PIV: Improve error handling when decompressing malformed certificates.
    Fix incompatibility with pyscard 2.2.2.
    Improve compatibility with NFC readers that don't support extended APDUs.
    Building the project now requires Poetry version 2.0 or later.
    Windows and MacOS installers built with Python 3.13.3

5.6.1:
Version 5.6.1 (released 2025-03-18)

    Fix: Version 5.6.0 uses Exclusive smart card connections, which caused connections to fail if another application was accessing the YubiKey. This version adds a fallback to use non-exclusive 
connections in case of such a failure.
    Bugfix: APDU encoding was slightly incorrect for commands which specify Le, but no data body. This caused issued on some platforms.
    CLI: The "fido info" command now shows the YubiKey AAGUID, when available.

5.6.0:
Version 5.6.0 (released 2025-03-12)

    SCP: Add support for specifying Le (needed in OpenPGP get_challenge).
    PIV: When writing a new CHUID, prefer to keep data from the old one if possible.
    CLI: Specifying public-key is now optional when generating a PIV certificate, if a public key can be read from the YubiKey itself.
    CLI: (YK FIPS) Disallow --protect for PIV when not in FIPS approved state.
    CLI: Support specifying Le in "apdu" command.
    CLI: Show OpenPGP key information in "openpgp info" and "openpgp keys info" commands.
    CLI: Detect OpenPGP memory corruption, and correctly factory reset OpenPGP if needed.
    CLI: Don't fail on corrupted configuration files, instead show a warning.
    Require Poetry >= 2.0 for building and packaging of the library.
    Bugfix: CLI - Don't use extended APDUs in the "apdu" command on old YubiKeys which do not support it.

5.5.1:
Version 5.5.1 (released 2024-07-1)

    Bugfix: CLI - Don't use formatting that doesn't work on older Python versions.
    Note: As the 5.5.0 installers bundle Python 3.12, this will be a source-only release.
    Existing installers are unaffected by this issue.

5.5.0:
Version 5.5.0 (released 2024-06-26)

    Add Secure Channel support to smartcard sessions.
    Support extended APDUs in the "apdu" command (this is now the default).
    HSMAuth: Treat management key as a PIN/password instead of a key, adding new CLI commands.
    PIV: Deprecate explicit passing of management key type when authenticating.
    CLI: Add "config nfc --restrict" command to set "NFC restricted mode".
    CLI: Display more information about PIN complexity and FIPS status for compatible YubiKeys.
    CLI: Improved error messages for illegal values of PIV PIN and PUK.
    CLI: Drop error messages for old 3.x commands.
    CLI: Removal of --upload for YubiCloud credentials. Export to CSV and upload via web instead.
    CLI: Add more detailed information to the CLI output for several commands.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 pkgsrc/security/py-yubikey-manager/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/security/py-yubikey-manager/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/security/py-yubikey-manager/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_____init____.py \
    pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_netbsd.py
cvs rdiff -u -r1.8 -r1.9 pkgsrc/security/ykman/version.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/security/py-yubikey-manager/Makefile
diff -u pkgsrc/security/py-yubikey-manager/Makefile:1.18 pkgsrc/security/py-yubikey-manager/Makefile:1.19
--- pkgsrc/security/py-yubikey-manager/Makefile:1.18    Thu Oct  9 07:57:56 2025
+++ pkgsrc/security/py-yubikey-manager/Makefile Fri Oct 31 14:56:39 2025
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.18 2025/10/09 07:57:56 wiz Exp $
+# $NetBSD: Makefile,v 1.19 2025/10/31 14:56:39 ryoon Exp $
 
 .include "../../security/ykman/version.mk"
 
 DISTNAME=      yubikey_manager-${VERSION}
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/_/-/}
-PKGREVISION=   1
 CATEGORIES=    security sysutils
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=Yubico/}
 GITHUB_PROJECT=        yubikey-manager
@@ -25,6 +24,9 @@ DEPENDS+=     ${PYPKGPREFIX}-keyring>=23.4:.
 
 PYTHON_VERSIONS_INCOMPATIBLE=  310
 
+pre-configure:
+       ${RM} ${WRKSRC}/ykman/hid/*.orig
+
 post-install:
        cd ${DESTDIR}${PREFIX}/bin && \
        ${MV} ykman ykman-${PYVERSSUFFIX}

Index: pkgsrc/security/py-yubikey-manager/PLIST
diff -u pkgsrc/security/py-yubikey-manager/PLIST:1.7 pkgsrc/security/py-yubikey-manager/PLIST:1.8
--- pkgsrc/security/py-yubikey-manager/PLIST:1.7        Sat Sep 27 18:20:02 2025
+++ pkgsrc/security/py-yubikey-manager/PLIST    Fri Oct 31 14:56:39 2025
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.7 2025/09/27 18:20:02 gdt Exp $
+@comment $NetBSD: PLIST,v 1.8 2025/10/31 14:56:39 ryoon Exp $
 bin/ykman-${PYVERSSUFFIX}
 ${PYSITELIB}/ykman/__init__.py
 ${PYSITELIB}/ykman/__init__.pyc
@@ -9,9 +9,6 @@ ${PYSITELIB}/ykman/_cli/__init__.pyo
 ${PYSITELIB}/ykman/_cli/__main__.py
 ${PYSITELIB}/ykman/_cli/__main__.pyc
 ${PYSITELIB}/ykman/_cli/__main__.pyo
-${PYSITELIB}/ykman/_cli/aliases.py
-${PYSITELIB}/ykman/_cli/aliases.pyc
-${PYSITELIB}/ykman/_cli/aliases.pyo
 ${PYSITELIB}/ykman/_cli/apdu.py
 ${PYSITELIB}/ykman/_cli/apdu.pyc
 ${PYSITELIB}/ykman/_cli/apdu.pyo
@@ -42,6 +39,9 @@ ${PYSITELIB}/ykman/_cli/piv.pyo
 ${PYSITELIB}/ykman/_cli/script.py
 ${PYSITELIB}/ykman/_cli/script.pyc
 ${PYSITELIB}/ykman/_cli/script.pyo
+${PYSITELIB}/ykman/_cli/securitydomain.py
+${PYSITELIB}/ykman/_cli/securitydomain.pyc
+${PYSITELIB}/ykman/_cli/securitydomain.pyo
 ${PYSITELIB}/ykman/_cli/util.py
 ${PYSITELIB}/ykman/_cli/util.pyc
 ${PYSITELIB}/ykman/_cli/util.pyo
@@ -63,6 +63,9 @@ ${PYSITELIB}/ykman/hid/__init__.pyo
 ${PYSITELIB}/ykman/hid/base.py
 ${PYSITELIB}/ykman/hid/base.pyc
 ${PYSITELIB}/ykman/hid/base.pyo
+${PYSITELIB}/ykman/hid/fido.py
+${PYSITELIB}/ykman/hid/fido.pyc
+${PYSITELIB}/ykman/hid/fido.pyo
 ${PYSITELIB}/ykman/hid/freebsd.py
 ${PYSITELIB}/ykman/hid/freebsd.pyc
 ${PYSITELIB}/ykman/hid/freebsd.pyo
@@ -72,6 +75,9 @@ ${PYSITELIB}/ykman/hid/linux.pyo
 ${PYSITELIB}/ykman/hid/macos.py
 ${PYSITELIB}/ykman/hid/macos.pyc
 ${PYSITELIB}/ykman/hid/macos.pyo
+${PYSITELIB}/ykman/hid/netbsd.py
+${PYSITELIB}/ykman/hid/netbsd.pyc
+${PYSITELIB}/ykman/hid/netbsd.pyo
 ${PYSITELIB}/ykman/hid/windows.py
 ${PYSITELIB}/ykman/hid/windows.pyc
 ${PYSITELIB}/ykman/hid/windows.pyo
@@ -153,9 +159,12 @@ ${PYSITELIB}/yubikit/core/fido.pyo
 ${PYSITELIB}/yubikit/core/otp.py
 ${PYSITELIB}/yubikit/core/otp.pyc
 ${PYSITELIB}/yubikit/core/otp.pyo
-${PYSITELIB}/yubikit/core/smartcard.py
-${PYSITELIB}/yubikit/core/smartcard.pyc
-${PYSITELIB}/yubikit/core/smartcard.pyo
+${PYSITELIB}/yubikit/core/smartcard/__init__.py
+${PYSITELIB}/yubikit/core/smartcard/__init__.pyc
+${PYSITELIB}/yubikit/core/smartcard/__init__.pyo
+${PYSITELIB}/yubikit/core/smartcard/scp.py
+${PYSITELIB}/yubikit/core/smartcard/scp.pyc
+${PYSITELIB}/yubikit/core/smartcard/scp.pyo
 ${PYSITELIB}/yubikit/hsmauth.py
 ${PYSITELIB}/yubikit/hsmauth.pyc
 ${PYSITELIB}/yubikit/hsmauth.pyo
@@ -175,6 +184,9 @@ ${PYSITELIB}/yubikit/piv.py
 ${PYSITELIB}/yubikit/piv.pyc
 ${PYSITELIB}/yubikit/piv.pyo
 ${PYSITELIB}/yubikit/py.typed
+${PYSITELIB}/yubikit/securitydomain.py
+${PYSITELIB}/yubikit/securitydomain.pyc
+${PYSITELIB}/yubikit/securitydomain.pyo
 ${PYSITELIB}/yubikit/support.py
 ${PYSITELIB}/yubikit/support.pyc
 ${PYSITELIB}/yubikit/support.pyo

Index: pkgsrc/security/py-yubikey-manager/distinfo
diff -u pkgsrc/security/py-yubikey-manager/distinfo:1.11 pkgsrc/security/py-yubikey-manager/distinfo:1.12
--- pkgsrc/security/py-yubikey-manager/distinfo:1.11    Sun Apr  7 21:38:35 2024
+++ pkgsrc/security/py-yubikey-manager/distinfo Fri Oct 31 14:56:39 2025
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.11 2024/04/07 21:38:35 wiz Exp $
+$NetBSD: distinfo,v 1.12 2025/10/31 14:56:39 ryoon Exp $
 
-BLAKE2s (yubikey_manager-5.4.0.tar.gz) = dc0482e1b228a9763f063ffd2ba2eedcae9ccd537b508484ddca37845bfa5f48
-SHA512 (yubikey_manager-5.4.0.tar.gz) = c773895957d17ceac8e944958435071fbb3a80469016a22aa13785a5bc009406870366e5b65d3d2ddbd2ed1722f84b377a49101f4db67f0d3c04daee852301b3
-Size (yubikey_manager-5.4.0.tar.gz) = 188859 bytes
+BLAKE2s (yubikey_manager-5.8.0.tar.gz) = c3b01d48edd26fbfa1b2c652f58ea2576eae9e094e32756265b7c3dd3655b110
+SHA512 (yubikey_manager-5.8.0.tar.gz) = 8c22dd65e37d4bc78a16c62b24244f2cd180237354d4b325d2786614ef75651104eb92a0ad751f66af7812746669b397e4cab7ed41c9016cb73081f6740ca604
+Size (yubikey_manager-5.8.0.tar.gz) = 228631 bytes
+SHA1 (patch-ykman_hid_____init____.py) = 916a119019484ae5d6dec3a0f499250bab86b774
+SHA1 (patch-ykman_hid_netbsd.py) = 473c0e8a0c2c945bc6135daec1c765b859c00cd8

Index: pkgsrc/security/ykman/version.mk
diff -u pkgsrc/security/ykman/version.mk:1.8 pkgsrc/security/ykman/version.mk:1.9
--- pkgsrc/security/ykman/version.mk:1.8        Sun Apr  7 21:38:35 2024
+++ pkgsrc/security/ykman/version.mk    Fri Oct 31 14:56:39 2025
@@ -1,6 +1,6 @@
-#      $NetBSD: version.mk,v 1.8 2024/04/07 21:38:35 wiz Exp $
+#      $NetBSD: version.mk,v 1.9 2025/10/31 14:56:39 ryoon Exp $
 
 # used by security/py-yubikey-manager/Makefile
 # used by security/ykman/Makefile
 
-VERSION=       5.4.0
+VERSION=       5.8.0

Added files:

Index: pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_____init____.py
diff -u /dev/null pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_____init____.py:1.1
--- /dev/null   Fri Oct 31 14:56:39 2025
+++ pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_____init____.py  Fri Oct 31 14:56:39 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-ykman_hid_____init____.py,v 1.1 2025/10/31 14:56:39 ryoon Exp $
+
+* Support OTP HID for NetBSD.
+
+--- ykman/hid/__init__.py.orig 2025-09-03 07:25:44.000000000 +0000
++++ ykman/hid/__init__.py
+@@ -52,6 +52,8 @@ elif sys.platform == "darwin":
+     from .macos import list_devices
+ elif sys.platform == "freebsd":
+     from .freebsd import list_devices
++elif sys.platform.startswith("netbsd"):
++    from .netbsd import list_devices
+ else:
+ 
+     def list_devices() -> list:
Index: pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_netbsd.py
diff -u /dev/null pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_netbsd.py:1.1
--- /dev/null   Fri Oct 31 14:56:39 2025
+++ pkgsrc/security/py-yubikey-manager/patches/patch-ykman_hid_netbsd.py        Fri Oct 31 14:56:39 2025
@@ -0,0 +1,195 @@
+$NetBSD: patch-ykman_hid_netbsd.py,v 1.1 2025/10/31 14:56:39 ryoon Exp $
+
+* For NetBSD. Copied from freebsd.py.
+
+--- ykman/hid/netbsd.py.orig   2025-10-31 07:41:33.798174909 +0000
++++ ykman/hid/netbsd.py
+@@ -0,0 +1,188 @@
++# Original work Copyright 2016 Google Inc. All Rights Reserved.
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++#    http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++#
++# Modified work Copyright 2022 Michael Gmelin. All Rights Reserved.
++# This file, with modifications, is licensed under the above Apache License.
++#
++# Modified work Copyright 2022 Yubico AB. All Rights Reserved.
++# This file, with modifications, is licensed under the above Apache License.
++
++# NetBSD HID driver using uhid(4).
++#
++
++import ctypes
++import fcntl
++import glob
++import logging
++import os
++import re
++import struct
++import sys
++from ctypes.util import find_library
++
++from yubikit.core.otp import OtpConnection
++
++from .base import USAGE_OTP, YUBICO_VID, OtpYubiKeyDevice
++
++# Don't typecheck this file on Windows
++assert sys.platform != "win32"  # noqa: S101
++
++logger = logging.getLogger(__name__)
++
++devdir = "/dev/"
++
++# /usr/include/dev/usb/usb_ioctl.h
++USB_GET_REPORT = 0xC0205517
++USB_SET_REPORT = 0x80205518
++USB_GET_REPORT_DESC = 0xC0205515
++
++# For UhidConnection
++libc = ctypes.CDLL(find_library("c"))
++
++
++class usb_gen_descriptor(ctypes.Structure):
++    _fields_ = [
++        (
++            "ugd_data",
++            ctypes.c_void_p,
++        ),
++        ("ugd_lang_id", ctypes.c_uint16),
++        ("ugd_maxlen", ctypes.c_uint16),
++        ("ugd_actlen", ctypes.c_uint16),
++        ("ugd_offset", ctypes.c_uint16),
++        ("ugd_config_index", ctypes.c_uint8),
++        ("ugd_string_index", ctypes.c_uint8),
++        ("ugd_iface_index", ctypes.c_uint8),
++        ("ugd_altif_index", ctypes.c_uint8),
++        ("ugd_endpt_index", ctypes.c_uint8),
++        ("ugd_report_type", ctypes.c_uint8),
++        ("reserved", ctypes.c_uint8 * 8),
++    ]
++
++
++class UhidConnection(OtpConnection):
++    """
++    uhid(4) is NetBSD's USB hid access driver
++    """
++
++    def __init__(self, path):
++        self.fd = os.open(path, os.O_RDWR)
++
++    def close(self):
++        os.close(self.fd)
++
++    def receive(self):
++        buf = ctypes.create_string_buffer(9)
++        desc = usb_gen_descriptor(
++            ugd_data=ctypes.addressof(buf),
++            ugd_maxlen=ctypes.sizeof(buf),
++            ugd_report_type=3,
++        )
++        ret = libc.ioctl(self.fd, USB_GET_REPORT, ctypes.pointer(desc))
++        if ret != 0:
++            raise ValueError("ioctl failed: " + str(ret))
++
++        return buf.raw[:-1]
++
++    def send(self, data):
++        buf = ctypes.create_string_buffer(8)
++        for i in range(0, len(data)):
++            buf[i] = data[i]
++
++        desc = usb_gen_descriptor(
++            ugd_data=ctypes.addressof(buf),
++            ugd_maxlen=len(buf),
++            ugd_report_type=0x3,
++        )
++        ret = libc.ioctl(self.fd, USB_SET_REPORT, ctypes.pointer(desc))
++        if ret != 0:
++            raise ValueError("ioctl failed: " + str(ret))
++
++    @staticmethod
++    def get_usage(dev):
++        c_data = ctypes.create_string_buffer(4096)
++        desc = usb_gen_descriptor(
++            ugd_data=ctypes.addressof(c_data),
++            ugd_maxlen=ctypes.sizeof(c_data),
++            ugd_report_type=3,
++        )
++        ret = libc.ioctl(dev, USB_GET_REPORT_DESC, ctypes.pointer(desc))
++        if ret != 0:
++            raise ValueError("ioctl failed")
++
++        REPORT_DESCRIPTOR_KEY_MASK = 0xFC
++        SIZE_MASK = ~REPORT_DESCRIPTOR_KEY_MASK
++        USAGE_PAGE = 0x04
++        USAGE = 0x08
++
++        data = c_data.raw
++        usage, usage_page = (None, None)
++        while data and not (usage and usage_page):
++            head, data = struct.unpack_from(">B", data)[0], data[1:]
++            key, size = REPORT_DESCRIPTOR_KEY_MASK & head, SIZE_MASK & head
++            value = struct.unpack_from("<I", data[:size].ljust(4, b"\0"))[0]
++            data = data[size:]
++            if key == USAGE_PAGE and not usage_page:
++                usage_page = value
++            elif key == USAGE and not usage:
++                usage = value
++
++        return (usage_page, usage)
++
++    @staticmethod
++    def get_info(index):
++        vendor_re = re.compile("vendor=(0x[0-9a-fA-F]+)")
++        product_re = re.compile("product=(0x[0-9a-fA-F]+)")
++        sernum_re = re.compile('sernum="([^"]+)')
++
++        pnpinfo = ("dev.uhid." + index + ".%pnpinfo").encode()
++
++        ovalue = ctypes.create_string_buffer(1024)
++        olen = ctypes.c_size_t(ctypes.sizeof(ovalue))
++        key = ctypes.c_char_p(pnpinfo)
++        retval = libc.sysctlbyname(key, ovalue, ctypes.byref(olen), None, None)
++        if retval != 0:
++            raise IOError("sysctlbyname failed")
++
++        value = ovalue.value[: olen.value].decode()
++        m = vendor_re.search(value)
++        vid = int(m.group(1), 16) if m else None
++        m = product_re.search(value)
++        pid = int(m.group(1), 16) if m else None
++        m = sernum_re.search(value)
++        serial = m.group(1) if m else None
++        return (vid, pid, serial)
++
++    @staticmethod
++    def list_devices():
++        devices = []
++        for uhid in glob.glob(devdir + "uhid?*"):
++            index = uhid[len(devdir) + len("uhid") :]
++            if not index.isdigit():
++                continue
++
++            try:
++                (vid, pid, serial) = UhidConnection.get_info(index)
++                if vid == YUBICO_VID:
++                    with open(uhid, "rb") as f:
++                        if UhidConnection.get_usage(f.fileno()) == USAGE_OTP:
++                            devices.append(OtpYubiKeyDevice(uhid, pid, UhidConnection))
++            except Exception as e:
++                logger.debug("Failed opening HID device", exc_info=e)
++                continue
++        return devices
++
++
++def list_devices():
++    return UhidConnection.list_devices()



Home | Main Index | Thread Index | Old Index