From 37fd82177ef33f2d3331f14055c6302001cd7c04 Mon Sep 17 00:00:00 2001 From: Simon Josefsson via Guix-patches via Date: Wed, 5 May 2021 20:00:45 +0200 Subject: 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 --- gnu/packages/authentication.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index c7b58b3e61..a8070f4789 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -24,6 +24,8 @@ (define-module (gnu packages authentication) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages security-token) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) @@ -45,7 +47,9 @@ (define-public oath-toolkit (arguments ;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures. `(#:configure-flags - (list "--enable-pam") + (list "--enable-pam" + "--enable-pskc" + "--with-xmlsec-crypto-engine=openssl") #:phases (modify-phases %standard-phases (add-after 'install 'delete-static-libraries @@ -55,16 +59,16 @@ (define-public oath-toolkit (for-each delete-file (find-files lib "\\.a$")) #t)))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + + ;; XXX: Perhaps this should be propagated from xmlsec. + ("libltdl" ,libltdl))) (inputs - `(("linux-pam" ,linux-pam))) ; for --enable-pam + `(("linux-pam" ,linux-pam) + ("openssl" ,openssl) + ("xmlsec-openssl" ,xmlsec-openssl))) (home-page "https://www.nongnu.org/oath-toolkit/") (synopsis "One-time password (OTP) components") - ;; TODO Add the following items after they've been enabled. - ;; @item @command{pskctool}, a command-line tool for manipulating secret key - ;; files in the Portable Symmetric Key Container (@dfn{PSKC}) format - ;; described in RFC6030. - ;; @item @code{libpskc}, a shared and static C library for PSKC handling. (description "The @dfn{OATH} (Open AuTHentication) Toolkit provides various components for building one-time password (@dfn{OTP}) authentication systems: @@ -72,11 +76,18 @@ (define-public oath-toolkit @itemize @item @command{oathtool}, a command-line tool for generating & validating OTPs. @item @code{liboath}, a C library for OATH handling. +@item @command{pskctool}, a command-line tool for manipulating secret key +files in the Portable Symmetric Key Container (@dfn{PSKC}) format +described in RFC6030. +@item @code{libpskc}, a shared and static C library for PSKC handling. @item @code{pam_oath}, a PAM module for pluggable login authentication. @end itemize -Supported technologies include the event-based @dfn{HOTP} algorithm (RFC4226) -and the time-based @dfn{TOTP} algorithm (RFC6238).") +Supported technologies include the event-based @acronym{HOTP, Hash-based Message +Authentication Code One-Time Password} algorithm (RFC4226), the time-based +@acronym{TOTP, Time-based One-Time Password} algorithm (RFC6238), and +@acronym{PSKC, Portable Symmetric Key Container} (RFC6030) to manage secret key +data.") (license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/) license:gpl3+)))) ; the tools (everything else) -- cgit v1.2.3