;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages authentication)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages security-token)
#:use-module (guix build-system gnu)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public oath-toolkit
(package
(name "oath-toolkit")
- (version "2.6.2")
+ (version "2.6.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.savannah.nongnu.org/releases/"
name "/" name "-" version ".tar.gz"))
- (patches
- (append (search-patches "oath-toolkit-glibc-compat.patch")
- (list (origin
- ;; This huge commit updates gnulib for GCC 7 compatibility.
- (method url-fetch)
- (uri (string-append
- "https://gitlab.com/oath-toolkit/oath-toolkit/commit/"
- "2fffce2a471f74a585939c84cce16ef3015e5d3d.diff"))
- (file-name "oath-toolkit-update-gnulib.patch")
- (sha256
- (base32
- "088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0"))))))
(sha256
- (base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
+ (base32 "0v4lrgip08b8xlivsfn3mwql3nv8hmcpzrn6pi3xp88vqwav6s7x"))))
(build-system gnu-build-system)
(arguments
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
and the time-based @dfn{TOTP} algorithm (RFC6238).")
(license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/)
license:gpl3+)))) ; the tools (everything else)
+
+(define-public yubico-pam
+ (let ((commit "b5bd00db81e0e0e0ecced65c684080bb56ddc35b")
+ (revision "0"))
+ (package
+ (name "yubico-pam")
+ (version (git-version "2.26" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Yubico/yubico-pam")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10dq8dqi3jldllj6p8r9hldx9sank9n82c44w8akxrs1vli6nj3m"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; The pam_test fails because ykclient fails to build a Curl handle.
+ '(#:make-flags '("TESTS=util_test")))
+ (inputs
+ `(("linux-pam" ,linux-pam)
+ ("libyubikey" ,libyubikey)
+ ("ykclient" ,ykclient)
+ ("yubikey-personalization" ,yubikey-personalization)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("asciidoc" ,asciidoc)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://developers.yubico.com/yubico-pam")
+ (synopsis "Yubico pluggable authentication module")
+ (description "The Yubico PAM module provides an easy way to integrate the
+YubiKey into your existing user authentication infrastructure.")
+ (license license:bsd-2))))
+
+(define-public pamtester
+ (package
+ (name "pamtester")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/pamtester/pamtester/"
+ version "/pamtester-" version ".tar.gz"))
+ (sha256
+ (base32 "1mdj1wj0adcnx354fs17928yn2xfr1hj5mfraq282dagi873sqw3"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("linux-pam" ,linux-pam)))
+ (home-page "http://pamtester.sourceforge.net/")
+ (synopsis "Utility for testing pluggable authentication modules (PAM) facility")
+ (description
+ "Pamtester is a tiny utility program to test the pluggable authentication
+modules (PAM) facility, specifically designed to help PAM module authors to
+intensively test their own modules.")
+ (license license:bsd-3)))