Skip to content

Internalize ykcore into code base#6654

Merged
droidmonkey merged 2 commits intodevelopfrom
refactor/internalize-ykcore
Sep 5, 2021
Merged

Internalize ykcore into code base#6654
droidmonkey merged 2 commits intodevelopfrom
refactor/internalize-ykcore

Conversation

@droidmonkey
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 added 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants