summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorSimon Josefsson via Guix-patches via <guix-patches@gnu.org>2021-05-05 20:00:45 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-05-06 09:37:34 +0200
commit37fd82177ef33f2d3331f14055c6302001cd7c04 (patch)
tree39e66c4ee785f6b9b2d53abab73d01129132d37a /gnu/packages
parent2fd903c7ded6f819513f648cffa6fa3a83b6b1b0 (diff)
downloadguix-37fd82177ef33f2d3331f14055c6302001cd7c04.tar.gz
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')
-rw-r--r--gnu/packages/authentication.scm31
1 files 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 @@
   #: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 @@
     (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 @@
                (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 @@ 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 @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)