Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internalize ykcore into code base #6654

Merged
merged 2 commits into from
Sep 5, 2021
Merged

Conversation

droidmonkey
Copy link
Member

@droidmonkey droidmonkey commented Jun 20, 2021

Yubico has officially deprecated their YubiKey Personalization Library

Some improvements to the Yubico implementation:

  • Allow for multiple vendor ID's to be checked at once. This allows for the use of one tracking index, streamlining KPXC code.
  • Remove support for libusb 0.x on Linux
  • Better handling of USB errors during initial key query. Output warnings to console.

NOTE: I would also like to move zxcvbn and some other thirdparty code into the thirdparty subfolder.

This change is required to support Visual Studio builds

Testing strategy

Tested on Windows 10, macOS, Ubuntu, and Fedora

Type of change

  • ✅ Bug fix (non-breaking change that fixes an issue)
  • ✅ Refactor (significant modification to existing code)

Copy link
Member

@phoerious phoerious left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is fine. It's mostly external code that we've already been using for a long time and I don't see major blunders after a quick read-through.

One question, though: since we control the code now and this already depends on libusb, can we finally support USB hotplug events so we can get rid of the obnoxious refresh button and polling behaviour?

@droidmonkey
Copy link
Member Author

Yes we can add a signal when a USB device is plugged in to kickoff a refresh automatically.

@droidmonkey droidmonkey force-pushed the refactor/internalize-ykcore branch from 9e88fc4 to 7cb8265 Compare August 22, 2021 21:17
* Allow for multiple vendor ID's to be checked at once. This allows for the use of one tracking index, streamlining KPXC code.
* Remove support for libusb 0.x on Linux
* Better handling of USB errors during initial key query. Output warnings to console.
@droidmonkey droidmonkey force-pushed the refactor/internalize-ykcore branch from 7cb8265 to 7db9e3a Compare September 5, 2021 12:51
@droidmonkey
Copy link
Member Author

droidmonkey commented Sep 5, 2021

Huzzah, figured out what was wrong with building on Ubuntu 16.04.... needed to define _GNU_SOURCE to pull in the modern C Lib.

@droidmonkey droidmonkey merged commit b37dbe7 into develop Sep 5, 2021
@droidmonkey droidmonkey deleted the refactor/internalize-ykcore branch September 5, 2021 13:11
yan12125 pushed a commit to archlinuxcn/repo that referenced this pull request Oct 2, 2021
* libusb & pcsclite: needed since keepassxreboot/keepassxc#6895
* yubikey-personalization: vendored since keepassxreboot/keepassxc#6654
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: Hardware Keys pr: refactoring Pull request that refactors code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants