GNU bug report logs - #60707
[PATCH] gnu: services: Fix fail2ban configuration serialization.

Previous Next

Package: guix-patches;

Reported by: muradm <mail <at> muradm.net>

Date: Tue, 10 Jan 2023 10:12:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60707 in the body.
You can then email your comments to 60707 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#60707; Package guix-patches. (Tue, 10 Jan 2023 10:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to muradm <mail <at> muradm.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 10 Jan 2023 10:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: muradm <mail <at> muradm.net>
To: guix-patches <at> gnu.org
Cc: maxim.cournoyer <at> gmail.com
Subject: [PATCH] gnu: services: Fix fail2ban configuration serialization.
Date: Tue, 10 Jan 2023 13:11:36 +0300
This fixes a regression from 543d971ed2a1d9eb934af1f51930741d7cc4e7ef whereby
match-lambda due to configuration field reordering.

* gnu/services/security.scm:
[serialize-fail2ban-ignore-cache-configuration]: Remove first _ field.
[serialize-fail2ban-jail-filter-configuration]: Remove first _ field.
[serialize-fail2ban-jail-action-configuration]: Remove first _ field.
---
 gnu/services/security.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/services/security.scm b/gnu/services/security.scm
index 50111455fb..53b3914a4f 100644
--- a/gnu/services/security.scm
+++ b/gnu/services/security.scm
@@ -44,7 +44,7 @@ (define-configuration/no-serialization fail2ban-ignore-cache-configuration
 
 (define serialize-fail2ban-ignore-cache-configuration
   (match-lambda
-    (($ <fail2ban-ignore-cache-configuration> _ key max-count max-time)
+    (($ <fail2ban-ignore-cache-configuration> key max-count max-time)
      (format #f "key=\"~a\", max-count=~d, max-time=~d"
              key max-count max-time))))
 
@@ -56,7 +56,7 @@ (define-configuration/no-serialization fail2ban-jail-filter-configuration
 
 (define serialize-fail2ban-jail-filter-configuration
   (match-lambda
-    (($ <fail2ban-jail-filter-configuration> _ name mode)
+    (($ <fail2ban-jail-filter-configuration> name mode)
      (format #f "~a~@[[mode=~a]~]" name (maybe-value mode)))))
 
 (define (argument? a)
@@ -88,7 +88,7 @@ (define (serialize-fail2ban-jail-action-configuration-arguments args)
 
 (define serialize-fail2ban-jail-action-configuration
   (match-lambda
-    (($ <fail2ban-jail-action-configuration> _ name arguments)
+    (($ <fail2ban-jail-action-configuration> name arguments)
      (format
       #f "~a~a"
       name
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60707; Package guix-patches. (Tue, 10 Jan 2023 12:06:01 GMT) Full text and rfc822 format available.

Message #8 received at 60707 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Victal <mirai <at> makinata.eu>
To: 60707 <at> debbugs.gnu.org
Cc: mail <at> muradm.net
Subject: [PATCH] gnu: services: Fix fail2ban configuration serialization.
Date: Tue, 10 Jan 2023 12:05:09 +0000
You could refactor the code to use match-record instead.
It's easier to use and doesn't suffer from field reordering issues.


Cheers,
Bruno




Information forwarded to guix-patches <at> gnu.org:
bug#60707; Package guix-patches. (Tue, 10 Jan 2023 14:49:02 GMT) Full text and rfc822 format available.

Message #11 received at 60707 <at> debbugs.gnu.org (full text, mbox):

From: muradm <mail <at> muradm.net>
To: 60707 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: services: Fix fail2ban configuration serialization.
Date: Tue, 10 Jan 2023 17:47:56 +0300
This fixes a regression from 543d971ed2a1d9eb934af1f51930741d7cc4e7ef whereby
match-lambda due to configuration field reordering.

* gnu/services/security.scm:
[serialize-fail2ban-ignore-cache-configuration]: Switch to match-record.
[serialize-fail2ban-jail-filter-configuration]: Switch to match-record.
[serialize-fail2ban-jail-action-configuration]: Switch to match-record.
---
 gnu/services/security.scm | 40 +++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/gnu/services/security.scm b/gnu/services/security.scm
index 50111455fb..8116072920 100644
--- a/gnu/services/security.scm
+++ b/gnu/services/security.scm
@@ -42,11 +42,11 @@ (define-configuration/no-serialization fail2ban-ignore-cache-configuration
   (max-count integer "Cache size.")
   (max-time integer "Cache time."))
 
-(define serialize-fail2ban-ignore-cache-configuration
-  (match-lambda
-    (($ <fail2ban-ignore-cache-configuration> _ key max-count max-time)
-     (format #f "key=\"~a\", max-count=~d, max-time=~d"
-             key max-count max-time))))
+(define (serialize-fail2ban-ignore-cache-configuration config)
+  (match-record config <fail2ban-ignore-cache-configuration>
+    (key max-count max-time)
+    (format #f "key=\"~a\", max-count=~d, max-time=~d"
+            key max-count max-time)))
 
 (define-maybe/no-serialization string)
 
@@ -54,10 +54,10 @@ (define-configuration/no-serialization fail2ban-jail-filter-configuration
   (name string "Filter to use.")
   (mode maybe-string "Mode for filter."))
 
-(define serialize-fail2ban-jail-filter-configuration
-  (match-lambda
-    (($ <fail2ban-jail-filter-configuration> _ name mode)
-     (format #f "~a~@[[mode=~a]~]" name (maybe-value mode)))))
+(define (serialize-fail2ban-jail-filter-configuration config)
+  (match-record config <fail2ban-jail-filter-configuration>
+    (name mode)
+    (format #f "~a~@[[mode=~a]~]" name (maybe-value mode))))
 
 (define (argument? a)
   (and (pair? a)
@@ -86,17 +86,17 @@ (define (serialize-fail2ban-jail-action-configuration-arguments args)
             (format #f "~a=~a" (car e) (any-value (cdr e))))))
     (format #f "~a" (string-join (map key-value args) ","))))
 
-(define serialize-fail2ban-jail-action-configuration
-  (match-lambda
-    (($ <fail2ban-jail-action-configuration> _ name arguments)
-     (format
-      #f "~a~a"
-      name
-      (if (null? arguments) ""
-          (format
-           #f "[~a]"
-           (serialize-fail2ban-jail-action-configuration-arguments
-            arguments)))))))
+(define (serialize-fail2ban-jail-action-configuration config)
+  (match-record config <fail2ban-jail-action-configuration>
+    (name arguments)
+    (format
+     #f "~a~a"
+     name
+     (if (null? arguments) ""
+         (format
+          #f "[~a]"
+          (serialize-fail2ban-jail-action-configuration-arguments
+           arguments))))))
 
 (define fail2ban-backend->string
   (match-lambda
-- 
2.38.1





Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Tue, 10 Jan 2023 16:02:02 GMT) Full text and rfc822 format available.

Notification sent to muradm <mail <at> muradm.net>:
bug acknowledged by developer. (Tue, 10 Jan 2023 16:02:02 GMT) Full text and rfc822 format available.

Message #16 received at 60707-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: muradm <mail <at> muradm.net>
Cc: 60707-done <at> debbugs.gnu.org, mirai <at> makinata.eu
Subject: Re: bug#60707: [PATCH] gnu: services: Fix fail2ban configuration
 serialization.
Date: Tue, 10 Jan 2023 11:00:52 -0500
Hi!

(Please make sure to keep all participants such as Bruno in '--cc' in
the fututer to make it more likely they see your v2!)

muradm <mail <at> muradm.net> writes:

> This fixes a regression from 543d971ed2a1d9eb934af1f51930741d7cc4e7ef whereby
> match-lambda due to configuration field reordering.
>
> * gnu/services/security.scm:
> [serialize-fail2ban-ignore-cache-configuration]: Switch to match-record.
> [serialize-fail2ban-jail-filter-configuration]: Switch to match-record.
> [serialize-fail2ban-jail-action-configuration]: Switch to match-record.

LGTM.  Thanks to Bruno for the suggestion to use match-record.

Applied as dc403ec7f1.

-- 
Thanks,
Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 08 Feb 2023 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 174 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.