From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 10 22:37:10 2017 Received: (at submit) by debbugs.gnu.org; 11 Jun 2017 02:37:10 +0000 Received: from localhost ([127.0.0.1]:39591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJskY-0005bB-Kn for submit@debbugs.gnu.org; Sat, 10 Jun 2017 22:37:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54266) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJskX-0005ay-3k for submit@debbugs.gnu.org; Sat, 10 Jun 2017 22:37:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJskQ-00053G-TH for submit@debbugs.gnu.org; Sat, 10 Jun 2017 22:37:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45702) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dJskQ-00053C-QH for submit@debbugs.gnu.org; Sat, 10 Jun 2017 22:37:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dJskP-0000df-Ni for guix-patches@gnu.org; Sat, 10 Jun 2017 22:37:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJskM-00051U-LV for guix-patches@gnu.org; Sat, 10 Jun 2017 22:37:01 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:47110) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dJskM-00051J-EV for guix-patches@gnu.org; Sat, 10 Jun 2017 22:36:58 -0400 Received: from dayas.3.home (178.113.233.117.wireless.dyn.drei.com [178.113.233.117]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 036101CA04D6; Sun, 11 Jun 2017 04:36:55 +0200 (CEST) From: Danny Milosavljevic To: guix-patches@gnu.org Subject: [PATCH shepherd] Make sure that shepherd does not serve already-served sockets. Date: Sun, 11 Jun 2017 04:36:50 +0200 Message-Id: <20170611023650.6928-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 Tags: patch X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * modules/shepherd.scm (server-present?): New variable. (main): Adapt. --- modules/shepherd.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/shepherd.scm b/modules/shepherd.scm index dd8a076..4998e09 100644 --- a/modules/shepherd.scm +++ b/modules/shepherd.scm @@ -32,10 +32,21 @@ #:use-module (shepherd runlevel) #:use-module (shepherd args) #:use-module (shepherd comm) + #:use-module (rnrs io ports) #:export (main)) +(define (server-present? file-name) + "Open a socket at FILE-NAME, and connect to the server, if any. +Return #t if that worked." + (with-fluids ((%default-port-encoding "UTF-8")) + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (call-with-port sock + (lambda (sock) + (let ((address (make-socket-address AF_UNIX file-name))) + (false-if-exception (connect sock address)))))))) + (define (open-server-socket file-name) "Open a socket at FILE-NAME, and listen for connections there." (with-fluids ((%default-port-encoding "UTF-8")) @@ -132,8 +143,12 @@ ;; we use no socket. #f))))))) ;; We do this early so that we can abort early if necessary. - (and socket-file - (verify-dir (dirname socket-file) #:secure? secure)) + (if socket-file + (begin + (verify-dir (dirname socket-file) #:secure? secure) + (if (server-present? socket-file) + (exit 0)))) ; There's already a shepherd instance running. + ;; Enable logging as first action. (start-logging logfile) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 14 03:49:11 2017 Received: (at 27323) by debbugs.gnu.org; 14 Jun 2017 07:49:11 +0000 Received: from localhost ([127.0.0.1]:46637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL339-0006YG-Gf for submit@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:11 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:58462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL337-0006Xz-5l for 27323@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:09 -0400 Received: from dayas.3.home (77.118.140.169.wireless.dyn.drei.com [77.118.140.169]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 607841CA0156; Wed, 14 Jun 2017 09:49:07 +0200 (CEST) From: Danny Milosavljevic To: 27323@debbugs.gnu.org Subject: [PATCH v2 shepherd 0/2] Make sure that shepherd does not serve already-served sockets. Date: Wed, 14 Jun 2017 09:49:00 +0200 Message-Id: <20170614074902.1130-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170611023650.6928-1-dannym@scratchpost.org> References: <20170611023650.6928-1-dannym@scratchpost.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 27323 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Danny Milosavljevic (2): Use XDG_RUNTIME_DIR for the shepherd socket. Make sure that shepherd does not serve already-served sockets. modules/shepherd.scm | 1 - modules/shepherd/support.scm | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 14 03:49:11 2017 Received: (at 27323) by debbugs.gnu.org; 14 Jun 2017 07:49:12 +0000 Received: from localhost ([127.0.0.1]:46639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL339-0006YN-Mj for submit@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:11 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:58468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL337-0006Y2-KY for 27323@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:09 -0400 Received: from dayas.3.home (77.118.140.169.wireless.dyn.drei.com [77.118.140.169]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 73BEC1CA04EC; Wed, 14 Jun 2017 09:49:08 +0200 (CEST) From: Danny Milosavljevic To: 27323@debbugs.gnu.org Subject: [PATCH v2 shepherd 1/2] Use XDG_RUNTIME_DIR for the shepherd socket. Date: Wed, 14 Jun 2017 09:49:01 +0200 Message-Id: <20170614074902.1130-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170614074902.1130-1-dannym@scratchpost.org> References: <20170611023650.6928-1-dannym@scratchpost.org> <20170614074902.1130-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 27323 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --- modules/shepherd/support.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/shepherd/support.scm b/modules/shepherd/support.scm index e50de74..ea98b5f 100644 --- a/modules/shepherd/support.scm +++ b/modules/shepherd/support.scm @@ -251,6 +251,11 @@ There is NO WARRANTY, to the extent permitted by law."))) (string-append user-homedir "/.config")) "/shepherd")) +(define %user-runtime-dir + ;; Default runtime directory if shepherd is run as a normal user. + (string-append (or (getenv "XDG_RUNTIME_DIR") + (format #f "/run/user/~s" (getuid))))) + (define (make-bare-init-file target) "Return #t if a bare init file was created at TARGET; #f otherwise. @@ -301,7 +306,7 @@ create a template configuration file if non exists." (define default-socket-dir (if (zero? (getuid)) %system-socket-dir - (string-append %user-config-dir "/run"))) + (string-append %user-runtime-dir "/shepherd"))) ;; Unix domain socket for receiving commands in shepherd. (define default-socket-file From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 14 03:49:12 2017 Received: (at 27323) by debbugs.gnu.org; 14 Jun 2017 07:49:12 +0000 Received: from localhost ([127.0.0.1]:46641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL339-0006YU-To for submit@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:12 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:58478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dL339-0006YE-8F for 27323@debbugs.gnu.org; Wed, 14 Jun 2017 03:49:11 -0400 Received: from dayas.3.home (77.118.140.169.wireless.dyn.drei.com [77.118.140.169]) by dd1012.kasserver.com (Postfix) with ESMTPSA id D7B781CA0156; Wed, 14 Jun 2017 09:49:09 +0200 (CEST) From: Danny Milosavljevic To: 27323@debbugs.gnu.org Subject: [PATCH v2 shepherd 2/2] Make sure that shepherd does not serve already-served sockets. Date: Wed, 14 Jun 2017 09:49:02 +0200 Message-Id: <20170614074902.1130-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170614074902.1130-1-dannym@scratchpost.org> References: <20170611023650.6928-1-dannym@scratchpost.org> <20170614074902.1130-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 27323 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --- modules/shepherd.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/shepherd.scm b/modules/shepherd.scm index dd8a076..f7c169d 100644 --- a/modules/shepherd.scm +++ b/modules/shepherd.scm @@ -41,7 +41,6 @@ (with-fluids ((%default-port-encoding "UTF-8")) (let ((sock (socket PF_UNIX SOCK_STREAM 0)) (address (make-socket-address AF_UNIX file-name))) - (false-if-exception (delete-file file-name)) (bind sock address) (listen sock 10) sock))) From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 16 04:19:53 2017 Received: (at 27323-done) by debbugs.gnu.org; 16 Jun 2017 08:19:53 +0000 Received: from localhost ([127.0.0.1]:50148 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dLmTx-0002rL-4p for submit@debbugs.gnu.org; Fri, 16 Jun 2017 04:19:53 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dLmTw-0002rA-6V for 27323-done@debbugs.gnu.org; Fri, 16 Jun 2017 04:19:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dLmTn-0004T8-Lf for 27323-done@debbugs.gnu.org; Fri, 16 Jun 2017 04:19:46 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dLmTn-0004Sy-IA; Fri, 16 Jun 2017 04:19:43 -0400 Received: from [193.50.110.101] (port=54364 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dLmTm-0002cm-Vj; Fri, 16 Jun 2017 04:19:43 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: [bug#27323] [PATCH v2 shepherd 0/2] Make sure that shepherd does not serve already-served sockets. References: <20170611023650.6928-1-dannym@scratchpost.org> <20170614074902.1130-1-dannym@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 28 Prairial an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Fri, 16 Jun 2017 10:19:40 +0200 In-Reply-To: <20170614074902.1130-1-dannym@scratchpost.org> (Danny Milosavljevic's message of "Wed, 14 Jun 2017 09:49:00 +0200") Message-ID: <87tw3gibtv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: 27323-done Cc: 27323-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) Hi, Danny Milosavljevic skribis: > Danny Milosavljevic (2): > Use XDG_RUNTIME_DIR for the shepherd socket. > Make sure that shepherd does not serve already-served sockets. > > modules/shepherd.scm | 1 - > modules/shepherd/support.scm | 7 ++++++- > 2 files changed, 6 insertions(+), 2 deletions(-) Cool, applied both with a commit log and doc/test adjustments. Thanks! Ludo=E2=80=99. From unknown Wed Jun 18 23:18:13 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 14 Jul 2017 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator