From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44867) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fakkC-0000LL-Ld for guix-patches@gnu.org; Wed, 04 Jul 2018 12:35:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fakkA-000156-Dy for guix-patches@gnu.org; Wed, 04 Jul 2018 12:35:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:38996) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fakkA-00014n-9e for guix-patches@gnu.org; Wed, 04 Jul 2018 12:35:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fakkA-0001pa-1F for guix-patches@gnu.org; Wed, 04 Jul 2018 12:35:02 -0400 Subject: [bug#32052] [PATCH] gnu: Add oath-toolkit. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fakjC-0008PE-KG for guix-patches@gnu.org; Wed, 04 Jul 2018 12:34:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fakj9-0000K7-7J for guix-patches@gnu.org; Wed, 04 Jul 2018 12:34:02 -0400 Received: from tobias.gr ([2001:470:cc92::1]:46322) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fakj8-0000Jg-R8 for guix-patches@gnu.org; Wed, 04 Jul 2018 12:33:59 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id 76a1c3ba for ; Wed, 4 Jul 2018 16:33:56 +0000 (UTC) Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 80985b07 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Wed, 4 Jul 2018 16:33:54 +0000 (UTC) From: Tobias Geerinckx-Rice Date: Wed, 4 Jul 2018 18:33:46 +0200 Message-Id: <20180704163346.3098-1-me@tobias.gr> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 32052@debbugs.gnu.org * gnu/packages/authentication.scm: New file. (oath-toolkit): New public variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Add the new file. --- 2FA, AF. gnu/local.mk | 1 + gnu/packages/authentication.scm | 69 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 gnu/packages/authentication.scm diff --git a/gnu/local.mk b/gnu/local.mk index dad664ca1..fe5e40b89 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -67,6 +67,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/attr.scm \ %D%/packages/audio.scm \ %D%/packages/augeas.scm \ + %D%/packages/authentication.scm \ %D%/packages/autogen.scm \ %D%/packages/autotools.scm \ %D%/packages/avahi.scm \ diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm new file mode 100644 index 000000000..1d3e1ec1a --- /dev/null +++ b/gnu/packages/authentication.scm @@ -0,0 +1,69 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages authentication) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public oath-toolkit + ;; If gcc@7 breaks this package before its next release, try patching it: + ;; . + (package + (name "oath-toolkit") + (version "2.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.savannah.nongnu.org/releases/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h")))) + (build-system gnu-build-system) + (arguments + ;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures. + `(#:configure-flags + (list "--enable-pam"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("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: + +@itemize +@item @command{oathtool}, a command-line tool for generating & validating OTPs. +@item @code{liboath}, a shared and static C library for OATH 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).") + (license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/) + license:gpl3+)))) ; the tools (everything else) -- 2.16.2