diff mbox series

[bug#48242] gnu: oath-toolkit: Build libpskc and pskctool.

Message ID 8735v13vsi.fsf@latte.josefsson.org
State Accepted
Headers show
Series [bug#48242] gnu: oath-toolkit: Build libpskc and pskctool. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Simon Josefsson May 5, 2021, 6 p.m. UTC
Hi!  This patch enables libpskc and pskctool in OATH Toolkit, using the
newly added xmlsec-openssl (thanks!).

/Simon

Comments

Simon Josefsson May 6, 2021, 7:13 a.m. UTC | #1
Simon Josefsson via Guix-patches via <guix-patches@gnu.org> writes:

> +Supported technologies include the event-based $dfn{HOTP} algorithm (RFC4226),
                                                  ^

That should be @ -- sorry about that, and I hope you can fix it manually
when applying the patch.

/Simon
Tobias Geerinckx-Rice May 6, 2021, 7:50 a.m. UTC | #2
Simon,

Simon Josefsson via Guix-patches via 写道:
> Subject: [PATCH] gnu: oath-toolkit: Build libpskc and pskctool.

Thanks!  Pushed as 37fd82177ef33f2d3331f14055c6302001cd7c04 with 
minor changes.

> * gnu/packages/authentication.scm (oath-toolkit): Use 
> xmlsec-openssl to enable
> libpskc and pskctool.

Expanded to list all changes in our GNU ‘change log’ format.

> +  #:use-module (gnu packages xml)
> +  #:use-module (gnu packages tls)

Placed these and the new *inputs alphabetically.

> +             "--enable-pskc"
> +	     "--with-xmlsec-crypto-engine=openssl")

The second line used a tab for indentation.  Replaced by spaces.

> +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.")

Modified to use @acronym.

Kind regards,

T G-R
Simon Josefsson May 6, 2021, 10:21 a.m. UTC | #3
Tobias Geerinckx-Rice via Guix-patches via <guix-patches@gnu.org> writes:

> Simon,
>
> Simon Josefsson via Guix-patches via 写道:
>> Subject: [PATCH] gnu: oath-toolkit: Build libpskc and pskctool.
>
> Thanks!  Pushed as 37fd82177ef33f2d3331f14055c6302001cd7c04 with minor
> changes.

Thank you -- and especially for teaching me how I can review my own
patches and provide better ones in the future.

>> +  #:use-module (gnu packages xml)
>> +  #:use-module (gnu packages tls)
>
> Placed these and the new *inputs alphabetically.

Is there a lint-style tool to help me detect and/or fix that?

/Simon
Tobias Geerinckx-Rice May 6, 2021, 10:55 p.m. UTC | #4
Simon,

Simon Josefsson 写道:
> Is there a lint-style tool to help me detect and/or fix that?

You're probably already aware of ‘guix lint’, but maybe not, since 
it should have detected the tabs used instead of spaces.  Please 
let me know if you did and it didn't!

The ordering isn't a hard policy, but I ‘strongly recommend’ it 
;-)

I've removed more than one duplicate input/import that would have 
been trivially caught if the lists were sorted.  In one case it 
effectively masked a version mismatch bug.  And it costs nothing 
to sort new code, and keep existing sorted lists sorted...

Kind regards,

T G-R
diff mbox series

Patch

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(-)

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