summaryrefslogtreecommitdiff
path: root/gnu/packages/authentication.scm
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/authentication.scm
parent2fd903c7ded6f819513f648cffa6fa3a83b6b1b0 (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.scm31
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
70for building one-time password (@dfn{OTP}) authentication systems: 74for 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
80files in the Portable Symmetric Key Container (@dfn{PSKC}) format
81described 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
78Supported technologies include the event-based @dfn{HOTP} algorithm (RFC4226) 86Supported technologies include the event-based @acronym{HOTP, Hash-based Message
79and the time-based @dfn{TOTP} algorithm (RFC6238).") 87Authentication 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
90data.")
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