-
Notifications
You must be signed in to change notification settings - Fork 32
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
FIDO support for openssh #34
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an incredible achievement, in such a short amount of time.
It inspired me to try to assist more thoroughly than I normally would, e.g. by figuring out why the Release mode would not build, or why C99 was a problem.
I pointed out the fixes I made locally, and suggested a couple more changes.
Additionally, I would think that this commit would like to be split into three steps: adding libcbor and libfido2 separately, then using the latter in OpenSSH.
@tavrez could you fetch the openssh-with-security-tokens
branch from https://github.com/dscho/MSYS2-packages and use git log
and git diff
to compare my suggested edits with your patch, and if you like all of that, force-push and we're good to merge?
pkgname=("${pkgbase}" "${pkgbase}-devel") | ||
pkgver=1.3.1 | ||
pkgrel=1 | ||
pkgdesc="libfido2 provides library functionality and command-line tools to communicate with a FIDO device over USB, and to verify attestation and assertion signatures." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To anyone unfamiliar with FIDO or U2F, this description leaves things a bit unclear. I know it was lifted from the README of https://github.com/Yubico/libfido2, and they're probably too deep down in the rabbit hole to come up with a better description.
I think something like this might be better:
A library to support easy, strong authentication (e.g. via USB security tokens or smartcards)
Or something like that.
|
Wow! Thanks a lot Reza. |
@rimrul that is done automatically in the release management: https://github.com/git-for-windows/build-extra/blob/48bcaa455490c664fd9e8c003fdd02134a430869/please.sh#L2749-L2755 I think I forgot to update the checksums, though... My bad. |
Yep. Fixed. (Force-pushed |
Right. I tend to forgett about that part of |
Oh, that part is new... I worked pretty hard on parallelizing the Azure Pipeline I use to build and publish Pacman packages. I also moved it from a private org with a private agent pool to the public org over at https://dev.azure.com/git-for-windows/git/_build In the process, I had to reimplement small parts of the So yeah, lots has changed, lots of code should probably be removed, too. |
Sorry I'm little busy these days and can only work at nights. I liked your suggestions and will add some question and notes to them right now. |
We are about to build libfido2 so that we can rebuild OpenSSH with support for USB security tokens, smartcards, etc. To that end, we add libcbor (a library to read/write CBOR, a general-purpose schema-less binary data format) as it is a dependency of libfido2. Signed-off-by: Reza Tavakoli <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
This library will be useful in the next step when we rebuild OpenSSH to allow using security tokens. Signed-off-by: Reza Tavakoli <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
With this patch, our copy of OpenSSH can make use of the FIDO support library to access USB security tokens, smartcards, etc for easy and strong authentication. Signed-off-by: Reza Tavakoli <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
For lurkers who wonder why this is not deployed to Git for Windows' Pacman repositories yet: I have a reliable hang in the CMake process in 32-bit, just after detecting the C++ compiler: https://dev.azure.com/git-for-windows/git/_build/results?buildId=51479&view=logs&j=cfa20e98-6997-523c-4233-f0a7302c929f&t=4fefe862-c3fb-598f-9db1-d9857aa98bc4&l=377 |
Thanks for all the efforts, I've tracked everything you did through pipelines and pushes on git repo, I had a mistake on not adding libcbor-devel as dependency package on OpenSSH, hope I do things better in my next contributions :) |
@tavrez oh, don't worry. The biggest issue here was not caused by you, it was caused by me not realizing that Your contribution has been my highlight of the past few weeks. So please do not be sorry at all. |
if you are on Windows 10 version 1903 or higher you need to run git-bash as administrator