Yubico / python-fido2

Provides library functionality for FIDO 2.0, including communication with a device over USB.
BSD 2-Clause "Simplified" License
432 stars 109 forks source link

FreeBSD: remove dependency on uhid-freebsd. #114

Closed enrikb closed 3 years ago

enrikb commented 3 years ago

This is a first draft version to be discussed.

As a side effect, serial_number support is enabled immediately for FreeBSD, too.

As a second side effect, no more C compilation is needed during FreeBSD install.

I've only tested on FreeBSD 12.2 amd64, so far. Seems to work. But I can only run very simple tests, as fragmented packets still don't work in my setup.

I tried to keep the structure as close as possible to the existing code for now.

enrikb commented 3 years ago

Checks failing because flake8 and black disagree? Anything I can do?

enrikb commented 3 years ago

After installing FreeBSD on real and standard hardware (that old notebook not switched on for three years ...), I can finally test a little bit.

FreeBSD on Raspberry Pi 3+ and on amd64 KVM virtual machine both failed badly due to unrelated suspected USB driver issues. But that's a different story. (libfido2 also fails in these environments, tested both with Yubikey and Solo.)

dainnilsson commented 3 years ago

Sorry for taking so long on this, I got sidetracked with other work. I've tested the code on a VM running FreeBSD, in both Python 2 and 3, and everything seems to work fine. I have nothing else to comment on in the code. Do you consider this to be ready to be merged?

enrikb commented 3 years ago

It's ready from side. Thanks for testing.

dainnilsson commented 3 years ago

Thanks again!