From e065384eee7e29a5d55cc5299207f11167be5d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Dec 2024 22:50:26 +0100 Subject: [PATCH] =?UTF-8?q?services:=20shepherd:=20Remove=20=E2=80=98call-?= =?UTF-8?q?with-{input,output}-file=E2=80=99=20replacements.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shepherd 1.0.0 provides similar replacements. * gnu/services/shepherd.scm (shepherd-configuration-file): Remove ‘call-with-input-file’ and ‘call-with-output-file’ O_CLOEXEC replacements. Change-Id: Id8a4d5cfcb9b9213f3a017cafead21cc86fdb51e --- gnu/services/shepherd.scm | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index d5c3ae77e8..0de3c9c55c 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -407,20 +407,6 @@ (define (make-user-module) (module-use! m (resolve-interface '(shepherd service))) m)) - ;; There's code run from shepherd that uses 'call-with-input-file' & - ;; co.--e.g., the 'urandom-seed' service. Starting from Shepherd - ;; 0.9.2, users need to make sure not to leak non-close-on-exec file - ;; descriptors to child processes. To address that, replace the - ;; standard bindings with O_CLOEXEC variants. - (set! call-with-input-file - (lambda (file proc) - (call-with-port (open file (logior O_RDONLY O_CLOEXEC)) - proc))) - (set! call-with-output-file - (lambda (file proc) - (call-with-port (open file (logior O_WRONLY O_CREAT O_CLOEXEC)) - proc))) - ;; Specify the default environment visible to all the services. ;; Without this statement, all the environment variables of PID 1 ;; are inherited by child services.