diff options
| author | Simon Josefsson via Guix-patches via <guix-patches@gnu.org> | 2021-05-05 20:00:45 +0200 |
|---|---|---|
| committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-06 09:37:34 +0200 |
| commit | 37fd82177ef33f2d3331f14055c6302001cd7c04 (patch) | |
| tree | 39e66c4ee785f6b9b2d53abab73d01129132d37a /gnu/packages/authentication.scm | |
| parent | 2fd903c7ded6f819513f648cffa6fa3a83b6b1b0 (diff) | |
gnu: oath-toolkit: Build libpskc and pskctool.
* gnu/packages/authentication.scm (oath-toolkit)[arguments]:
Add "--enable-pskc" and "--with-xmlsec-crypto-engine=openssl"
to #:configure-flags.
[native-inputs]: Add libltdl.
[inputs]: Add openssl and xmlsec-openssl.
[description]: Document the two new features.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
Diffstat (limited to 'gnu/packages/authentication.scm')
| -rw-r--r-- | gnu/packages/authentication.scm | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index c7b58b3e611..a8070f4789a 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | #:use-module (gnu packages linux) | 24 | #:use-module (gnu packages linux) |
| 25 | #:use-module (gnu packages pkg-config) | 25 | #:use-module (gnu packages pkg-config) |
| 26 | #:use-module (gnu packages security-token) | 26 | #:use-module (gnu packages security-token) |
| 27 | #:use-module (gnu packages tls) | ||
| 28 | #:use-module (gnu packages xml) | ||
| 27 | #:use-module (guix build-system gnu) | 29 | #:use-module (guix build-system gnu) |
| 28 | #:use-module (guix download) | 30 | #:use-module (guix download) |
| 29 | #:use-module (guix git-download) | 31 | #:use-module (guix git-download) |
| @@ -45,7 +47,9 @@ | |||
| 45 | (arguments | 47 | (arguments |
| 46 | ;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures. | 48 | ;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures. |
| 47 | `(#:configure-flags | 49 | `(#:configure-flags |
| 48 | (list "--enable-pam") | 50 | (list "--enable-pam" |
| 51 | "--enable-pskc" | ||
| 52 | "--with-xmlsec-crypto-engine=openssl") | ||
| 49 | #:phases | 53 | #:phases |
| 50 | (modify-phases %standard-phases | 54 | (modify-phases %standard-phases |
| 51 | (add-after 'install 'delete-static-libraries | 55 | (add-after 'install 'delete-static-libraries |
| @@ -55,16 +59,16 @@ | |||
| 55 | (for-each delete-file (find-files lib "\\.a$")) | 59 | (for-each delete-file (find-files lib "\\.a$")) |
| 56 | #t)))))) | 60 | #t)))))) |
| 57 | (native-inputs | 61 | (native-inputs |
| 58 | `(("pkg-config" ,pkg-config))) | 62 | `(("pkg-config" ,pkg-config) |
| 63 | |||
| 64 | ;; XXX: Perhaps this should be propagated from xmlsec. | ||
| 65 | ("libltdl" ,libltdl))) | ||
| 59 | (inputs | 66 | (inputs |
| 60 | `(("linux-pam" ,linux-pam))) ; for --enable-pam | 67 | `(("linux-pam" ,linux-pam) |
| 68 | ("openssl" ,openssl) | ||
| 69 | ("xmlsec-openssl" ,xmlsec-openssl))) | ||
| 61 | (home-page "https://www.nongnu.org/oath-toolkit/") | 70 | (home-page "https://www.nongnu.org/oath-toolkit/") |
| 62 | (synopsis "One-time password (OTP) components") | 71 | (synopsis "One-time password (OTP) components") |
| 63 | ;; TODO Add the following items after they've been enabled. | ||
| 64 | ;; @item @command{pskctool}, a command-line tool for manipulating secret key | ||
| 65 | ;; files in the Portable Symmetric Key Container (@dfn{PSKC}) format | ||
| 66 | ;; described in RFC6030. | ||
| 67 | ;; @item @code{libpskc}, a shared and static C library for PSKC handling. | ||
| 68 | (description | 72 | (description |
| 69 | "The @dfn{OATH} (Open AuTHentication) Toolkit provides various components | 73 | "The @dfn{OATH} (Open AuTHentication) Toolkit provides various components |
| 70 | for building one-time password (@dfn{OTP}) authentication systems: | 74 | for building one-time password (@dfn{OTP}) authentication systems: |
| @@ -72,11 +76,18 @@ for building one-time password (@dfn{OTP}) authentication systems: | |||
| 72 | @itemize | 76 | @itemize |
| 73 | @item @command{oathtool}, a command-line tool for generating & validating OTPs. | 77 | @item @command{oathtool}, a command-line tool for generating & validating OTPs. |
| 74 | @item @code{liboath}, a C library for OATH handling. | 78 | @item @code{liboath}, a C library for OATH handling. |
| 79 | @item @command{pskctool}, a command-line tool for manipulating secret key | ||
| 80 | files in the Portable Symmetric Key Container (@dfn{PSKC}) format | ||
| 81 | described in RFC6030. | ||
| 82 | @item @code{libpskc}, a shared and static C library for PSKC handling. | ||
| 75 | @item @code{pam_oath}, a PAM module for pluggable login authentication. | 83 | @item @code{pam_oath}, a PAM module for pluggable login authentication. |
| 76 | @end itemize | 84 | @end itemize |
| 77 | 85 | ||
| 78 | Supported technologies include the event-based @dfn{HOTP} algorithm (RFC4226) | 86 | Supported technologies include the event-based @acronym{HOTP, Hash-based Message |
| 79 | and the time-based @dfn{TOTP} algorithm (RFC6238).") | 87 | Authentication Code One-Time Password} algorithm (RFC4226), the time-based |
| 88 | @acronym{TOTP, Time-based One-Time Password} algorithm (RFC6238), and | ||
| 89 | @acronym{PSKC, Portable Symmetric Key Container} (RFC6030) to manage secret key | ||
| 90 | data.") | ||
| 80 | (license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/) | 91 | (license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/) |
| 81 | license:gpl3+)))) ; the tools (everything else) | 92 | license:gpl3+)))) ; the tools (everything else) |
| 82 | 93 | ||
