Simon Josefsson wrote 4 years ago
(address . guix-patches@gnu.org)
Hi! This patch enables libpskc and pskctool in OATH Toolkit, using the
newly added xmlsec-openssl (thanks!).
/Simon
From 2a41fd3df92acf84e9377fbe02a18b8cacf12dec Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon@josefsson.org>
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(-)
Toggle diff (68 lines)
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
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQSjzJyHC50xCrrUzy9RcisI/kdFogUCYJLdTQAKCRBRcisI/kdF
oljVAP9h8dckdUnV2fs/02Launsj1FMTOs8+cCC8Zgnw9HF2/AEA9hm/ekBEDY9P
IqamrNGuHYbq8/4lYPrgS8h5crk8HAg=
=KdRO
-----END PGP SIGNATURE-----