GNU bug report logs - #64119
[PATCH] services: shepherd: Sanitize 'provision' field.

Previous Next

Package: guix-patches;

Reported by: Bruno Victal <mirai <at> makinata.eu>

Date: Fri, 16 Jun 2023 20:26:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#64119: closed ([PATCH] services: shepherd: Sanitize
 'provision' field.)
Date: Sun, 25 Jun 2023 21:09:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 25 Jun 2023 23:08:20 +0200
with message-id <87cz1jxnaz.fsf <at> gnu.org>
and subject line Re: bug#64119: [PATCH] services: shepherd: Sanitize 'provision' field.
has caused the debbugs.gnu.org bug report #64119,
regarding [PATCH] services: shepherd: Sanitize 'provision' field.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
64119: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64119
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Bruno Victal <mirai <at> makinata.eu>
To: guix-patches <at> gnu.org
Cc: Bruno Victal <mirai <at> makinata.eu>
Subject: [PATCH] services: shepherd: Sanitize 'provision' field.
Date: Fri, 16 Jun 2023 21:25:24 +0100
Fixes <https://issues.guix.gnu.org/63979>.

* gnu/services/shepherd.scm (<shepherd-service>)[provision]: Set field
sanitizer.
(sanitize-shepherd-service-provision): New procedure.
---
 gnu/services/shepherd.scm | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index de40454f7d..1333067817 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Carlo Zancanaro <carlo <at> zancanaro.id.au>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
+;;; Copyright © 2023 Bruno Victal <mirai <at> makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu services shepherd)
+  #:use-module (guix diagnostics)
   #:use-module (guix ui)
   #:use-module (guix sets)
   #:use-module (guix gexp)
@@ -186,12 +188,21 @@ (define %default-modules
     ((guix build utils) #:hide (delete))
     (guix build syscalls)))
 
+(define (sanitize-shepherd-service-provision expr)
+  (match expr
+    (((? symbol?) ..1) expr)
+    (_
+     (raise
+      (formatted-message
+       (G_ "'provision' must be a non-empty list of symbols"))))))
+
 (define-record-type* <shepherd-service>
   shepherd-service make-shepherd-service
   shepherd-service?
   (documentation shepherd-service-documentation        ;string
                  (default "[No documentation.]"))
-  (provision     shepherd-service-provision)           ;list of symbols
+  (provision     shepherd-service-provision            ;list of symbols
+                 (sanitize sanitize-shepherd-service-provision))
   (requirement   shepherd-service-requirement          ;list of symbols
                  (default '()))
   (one-shot?     shepherd-service-one-shot?            ;Boolean

base-commit: 31336e9f5d68512a9c1c6826bce9f17c892a2125
-- 
2.39.2



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Bruno Victal <mirai <at> makinata.eu>
Cc: attila <at> lendvai.name, 64119-done <at> debbugs.gnu.org
Subject: Re: bug#64119: [PATCH] services: shepherd: Sanitize 'provision' field.
Date: Sun, 25 Jun 2023 23:08:20 +0200
Hi Bruno,

Bruno Victal <mirai <at> makinata.eu> skribis:

> Fixes <https://issues.guix.gnu.org/63979>.
>
> * gnu/services/shepherd.scm (<shepherd-service>)[provision]: Set field
> sanitizer.
> (sanitize-shepherd-service-provision): New procedure.

Applied, thanks!

Ludo’.


This bug report was last modified 1 year and 336 days ago.

Previous Next


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