From 2a41fd3df92acf84e9377fbe02a18b8cacf12dec Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Wed, 5 May 2021 19:56:17 +0200 Subject: [PATCH] gnu: oath-toolkit: Build libpskc and pskctool. * gnu/packages/authentication.scm (oath-toolkit): Use xmlsec-openssl to enable libpskc and pskctool. --- gnu/packages/authentication.scm | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index c7b58b3e61..d0fef39cb2 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -23,6 +23,8 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xml) + #:use-module (gnu packages tls) #:use-module (gnu packages security-token) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -45,7 +47,9 @@ (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,15 @@ (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 + `(("xmlsec-openssl" ,xmlsec-openssl) + ("openssl" ,openssl) + ("linux-pam" ,linux-pam))) ; for --enable-pam (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 +75,16 @@ for building one-time password (@dfn{OTP}) authentication systems: @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 $dfn{HOTP} algorithm (RFC4226), +the time-based @dfn{TOTP} algorithm (RFC6238), and Portable Symmetric Key +Container (@dfn{PSKC}, RFC6030) to manage secret key data.") (license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/) license:gpl3+)))) ; the tools (everything else) -- 2.20.1