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

RPM specification #27

Open
wants to merge 64 commits into
base: master
Choose a base branch
from
Open

RPM specification #27

wants to merge 64 commits into from

Conversation

suhancz
Copy link

@suhancz suhancz commented Nov 17, 2020

This PR creates the RPM specification for fido2luks so it can be easily installed on Red Hat-based systems. I took the liberty to create an experimental repo for Fedora, too.

suhancz and others added 30 commits July 25, 2020 18:12
Added an helper script to be used with pam_mount
* create PKGBUILD file

* use build & install method

* add package dependencies
# This is the 1st commit message:

Added an helper script to be used with pam_mount

# This is the commit message shimunn#2:

successful RPM build

# This is the commit message shimunn#3:

correct license

# This is the commit message shimunn#4:

add Makefile

# This is the commit message shimunn#5:

install cargo-rpm

# This is the commit message shimunn#6:

fix outdir

# This is the commit message shimunn#7:

include all the rest beside of teh binary to RPM

# This is the commit message shimunn#8:

test commit to figure out the failure reason
@suhancz
Copy link
Author

suhancz commented Nov 18, 2020

Sorry for all the mess, the current one should be the final :)

@shimunn
Copy link
Owner

shimunn commented Nov 30, 2020

Thanks for putting this together, I wanted to that myself for quite a while but haven't gotten to it since the scripts used for fedora still fall under the GPL which means it's not possible to publish an RPM under the MPL which is used by the rest of the project.
I'll see if I can remedy that his weekend by replacing the current script with an simple keyscript like the one used for ubuntu etc.

@suhancz
Copy link
Author

suhancz commented Nov 30, 2020

Thanks @shimunn I'd appreciate it. If it's more a bash than a Rust thing, I'm also happy to help if you point at which scripts should be replaced. (Unfortunately I speak no actual Rust.)

@shimunn
Copy link
Owner

shimunn commented Nov 30, 2020

It's just bash this just has to be ported to dracut but I'll get onto it this weekend unless you beat me to it :)

@shimunn shimunn added the packaging Distribution specific scripts/builds label Nov 30, 2020
@suhancz
Copy link
Author

suhancz commented Nov 30, 2020

I'm not sure if I understand you well. Do we need to implement this under systemd? Because in my understanding this is already implemented here, except for the systemd service.

@shimunn
Copy link
Owner

shimunn commented Nov 30, 2020

I would just get rid of systemd and just use an plain old keyscript via /etc/crypttab, which is much simpler

@suhancz
Copy link
Author

suhancz commented Dec 1, 2020

So far my biggest concern is where to put the keyscript on Fedora. Apparently there is no similar directory around, but I still keep looking.

$ rpm -ql cryptsetup cryptsetup-libs
/usr/lib/.build-id
/usr/lib/.build-id/e9
/usr/lib/.build-id/e9/06a7833a59a7e7310bbd37542db388dff4b234
/usr/sbin/cryptsetup
/usr/share/doc/cryptsetup
/usr/share/doc/cryptsetup/AUTHORS
/usr/share/doc/cryptsetup/FAQ
/usr/share/doc/cryptsetup/v1.0.7-ReleaseNotes
/usr/share/doc/cryptsetup/v1.1.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.1.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.1.2-ReleaseNotes
/usr/share/doc/cryptsetup/v1.1.3-ReleaseNotes
/usr/share/doc/cryptsetup/v1.2.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.3.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.3.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.4.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.4.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.4.2-ReleaseNotes
/usr/share/doc/cryptsetup/v1.4.3-ReleaseNotes
/usr/share/doc/cryptsetup/v1.5.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.5.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.2-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.3-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.4-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.5-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.6-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.7-ReleaseNotes
/usr/share/doc/cryptsetup/v1.6.8-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.0-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.1-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.2-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.3-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.4-ReleaseNotes
/usr/share/doc/cryptsetup/v1.7.5-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.0-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.1-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.2-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.3-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.4-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.5-ReleaseNotes
/usr/share/doc/cryptsetup/v2.0.6-ReleaseNotes
/usr/share/doc/cryptsetup/v2.1.0-ReleaseNotes
/usr/share/doc/cryptsetup/v2.2.0-ReleaseNotes
/usr/share/doc/cryptsetup/v2.2.1-ReleaseNotes
/usr/share/doc/cryptsetup/v2.2.2-ReleaseNotes
/usr/share/doc/cryptsetup/v2.3.0-ReleaseNotes
/usr/share/doc/cryptsetup/v2.3.1-ReleaseNotes
/usr/share/doc/cryptsetup/v2.3.2-ReleaseNotes
/usr/share/doc/cryptsetup/v2.3.3-ReleaseNotes
/usr/share/doc/cryptsetup/v2.3.4-ReleaseNotes
/usr/share/licenses/cryptsetup
/usr/share/licenses/cryptsetup/COPYING
/usr/share/man/man8/cryptsetup.8.gz
/run/cryptsetup
/usr/lib/.build-id
/usr/lib/.build-id/48
/usr/lib/.build-id/48/f40f185b68ad455891e49486a6ebeaee1569a4
/usr/lib/tmpfiles.d/cryptsetup.conf
/usr/lib64/libcryptsetup.so.12
/usr/lib64/libcryptsetup.so.12.6.0
/usr/share/licenses/cryptsetup-libs
/usr/share/licenses/cryptsetup-libs/COPYING
/usr/share/licenses/cryptsetup-libs/COPYING.LGPL
/usr/share/locale/cs/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/da/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/de/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/es/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/fi/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/fr/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/id/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/it/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/ja/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/nl/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/pl/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/pt_BR/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/ru/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/sr/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/sv/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/uk/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/vi/LC_MESSAGES/cryptsetup.mo
/usr/share/locale/zh_CN/LC_MESSAGES/cryptsetup.mo
$

@suhancz
Copy link
Author

suhancz commented Dec 1, 2020

I didn't find any good references for keyscript on Fedora, so I started to experiment on my own. I'd appreciate if you looked into it before I submit something stupid as a PR :)

@shimunn
Copy link
Owner

shimunn commented Dec 7, 2020

I didn't find any good references for keyscript on Fedora, so I started to experiment on my own. I'd appreciate if you looked into it before I submit something stupid as a PR :)

Seems like you're right (I guess that's why I went with the current solution in the first place) which means I'll have to come up with an solution similar to the current one using systemd.

shimunn and others added 3 commits February 8, 2021 15:58
* obvious password promt

* prompt interaction with FIDO device
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packaging Distribution specific scripts/builds
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants