From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Mar 2023 13:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 62461@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167983910516462 (code B ref -1); Sun, 26 Mar 2023 13:59:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Mar 2023 13:58:25 +0000 Received: from localhost ([127.0.0.1]:45601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgQt6-0004HS-Me for submit@debbugs.gnu.org; Sun, 26 Mar 2023 09:58:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:55454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgQt4-0004HJ-Ig for submit@debbugs.gnu.org; Sun, 26 Mar 2023 09:58:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgQt4-000449-2u for guix-patches@gnu.org; Sun, 26 Mar 2023 09:58:22 -0400 Received: from 8.mo575.mail-out.ovh.net ([46.105.74.219]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgQt1-0004M1-Qo for guix-patches@gnu.org; Sun, 26 Mar 2023 09:58:21 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.109.138.21]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 97E1C20563 for ; Sun, 26 Mar 2023 13:58:15 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-ldm2b (unknown [10.111.208.70]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5A46E1FD17 for ; Sun, 26 Mar 2023 13:58:15 +0000 (UTC) Received: from ngraves.fr ([37.59.142.97]) by ghost-submission-6684bf9d7b-ldm2b with ESMTPSA id SlS3EndPIGTlDREA6ADbAA (envelope-from ) for ; Sun, 26 Mar 2023 13:58:15 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-97G002bdc3dfec-1c5d-49e2-9984-781ee7077830, 7E234574D634A6AB9E7E21F50CF4BBEA9FF18F38) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.45.24.108 From: Nicolas Graves Date: Sun, 26 Mar 2023 15:58:14 +0200 Message-ID: <87bkkfaa2x.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain X-Ovh-Tracer-Id: 5726045454231921402 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehtddgjedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvffufffkgggtsehttdertddttddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepueejleeileejfffhleetjedtleejheevudffleevgfdufeekhefgvddvveegveefnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdeljeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepghhuihigqdhprghttghhvghssehgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth Received-SPF: pass client-ip=46.105.74.219; envelope-from=ngraves@ngraves.fr; helo=8.mo575.mail-out.ovh.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: -2.3 (--) I'm using RDE and wanted to completely migrate RDE's ssh configuration to Guix, now that the ssh-agent is configured. It's not that simple, since RDE was using loosely defined alists, so I'm only contributing options I actually use, in the next patches. -- Best regards, Nicolas Graves From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH 1/3] gnu: home-openssh-configuration: Add field add-keys-to-agent. References: <87bkkfaa2x.fsf@ngraves.fr> In-Reply-To: <87bkkfaa2x.fsf@ngraves.fr> Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Mar 2023 14:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.167983963217392 (code B ref 62461); Sun, 26 Mar 2023 14:08:01 +0000 Received: (at 62461) by debbugs.gnu.org; 26 Mar 2023 14:07:12 +0000 Received: from localhost ([127.0.0.1]:45613 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1c-0004WS-6i for submit@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:12 -0400 Received: from 4.mo576.mail-out.ovh.net ([46.105.42.102]:35073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1a-0004WH-1s for 62461@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:11 -0400 Received: from director1.ghost.mail-out.ovh.net (unknown [10.108.4.4]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id D777723E1D for <62461@debbugs.gnu.org>; Sun, 26 Mar 2023 14:07:08 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-ml9bn (unknown [10.110.103.209]) by director1.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 6B48C1FD62; Sun, 26 Mar 2023 14:07:08 +0000 (UTC) Received: from ngraves.fr ([37.59.142.95]) by ghost-submission-6684bf9d7b-ml9bn with ESMTPSA id mqStFoxRIGQmtREAKXspMQ (envelope-from ); Sun, 26 Mar 2023 14:07:08 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-95G001e2e1b5e8-c84e-411c-8e90-70cb9c88def7, 7E234574D634A6AB9E7E21F50CF4BBEA9FF18F38) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.45.24.108 From: Nicolas Graves Date: Sun, 26 Mar 2023 16:07:04 +0200 Message-Id: <20230326140706.32412-1-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 5876071615968895714 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehtddgjeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeetveehffevvdfgtddthedvhfeguefggeffteetueeliedvhffhjeegudehleegheenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddrleehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeeipdhmohguvgepshhmthhpohhuth X-Spam-Score: -0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 44 +++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 01917a29cd..4ab2adb292 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ (define-module (gnu home services ssh) home-openssh-configuration-authorized-keys home-openssh-configuration-known-hosts home-openssh-configuration-hosts + home-openssh-configuration-add-keys-to-agent home-ssh-agent-configuration openssh-host @@ -185,17 +187,41 @@ (define (openssh-host-name-field? field) (define-record-type* home-openssh-configuration make-home-openssh-configuration home-openssh-configuration? - (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like - (default '())) - (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like - (default *unspecified*)) - (hosts home-openssh-configuration-hosts ;list of - (default '()))) + (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like + (default '())) + (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like + (default *unspecified*)) + (hosts home-openssh-configuration-hosts ;list of + (default '())) + (add-keys-to-agent home-openssh-configuration-add-keys-to-agent ;string with limited values + (default "no"))) + +(define (serialize-add-keys-to-agent value) + (define (is-valid-time-string? str) + (and (> (string-length str) 0) + (eq? + (cdr (vector-ref + (string-match "\ +[0-9]+|([0-9]+[Ww])?([0-9]+[Dd])?([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?" str) + 1)) + (string-length str)))) + + (string-append "AddKeysToAgent " + (cond ((member value '("yes" "no" "confirm" "ask")) value) + ((is-valid-time-string? value) value) + ((and (string-prefix? "confirm" value) + (is-valid-time-string? + (cdr (string-split value #\ )))) value) + ;; The 'else' branch is unreachable. + (else (raise (condition (&error))))))) (define (openssh-configuration->string config) - (string-join (map serialize-openssh-host - (home-openssh-configuration-hosts config)) - "\n")) + (string-join + (cons* (serialize-add-keys-to-agent + (home-openssh-configuration-add-keys-to-agent config)) + (map serialize-openssh-host + (home-openssh-configuration-hosts config))) + "\n")) (define* (file-join name files #:optional (delimiter " ")) "Return a file in the store called @var{name} that is the concatenation -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH 2/3] gnu: openssh-host: Add option match-criteria. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Mar 2023 14:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.167983963717418 (code B ref 62461); Sun, 26 Mar 2023 14:08:01 +0000 Received: (at 62461) by debbugs.gnu.org; 26 Mar 2023 14:07:17 +0000 Received: from localhost ([127.0.0.1]:45616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1g-0004Wr-P2 for submit@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:17 -0400 Received: from 15.mo584.mail-out.ovh.net ([91.121.62.11]:36651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1b-0004WJ-Dh for 62461@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:12 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.108.20.107]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 25A99237EC for <62461@debbugs.gnu.org>; Sun, 26 Mar 2023 14:07:10 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-2mcdt (unknown [10.108.16.127]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id DC0341FD15; Sun, 26 Mar 2023 14:07:09 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-2mcdt with ESMTPSA id 9z59Mo1RIGSmzgEAym7gpQ (envelope-from ); Sun, 26 Mar 2023 14:07:09 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G005d596d08f-2918-4ae8-83a0-b0a6a8f5cc18, 7E234574D634A6AB9E7E21F50CF4BBEA9FF18F38) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.45.24.108 From: Nicolas Graves Date: Sun, 26 Mar 2023 16:07:05 +0200 Message-Id: <20230326140706.32412-2-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230326140706.32412-1-ngraves@ngraves.fr> References: <20230326140706.32412-1-ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 5876634564319634146 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehtddgjeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepiedtteetteekfeetheethfduvedvgeevkeeljedvleeigeeuuedtgedvheetieejnecuffhomhgrihhnpegvgigrmhhplhgvrdhorhhgnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeegpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 49 ++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 4ab2adb292..0bd79e4322 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -45,6 +45,7 @@ (define-module (gnu home services ssh) openssh-host openssh-host-host-name + openssh-host-match-criteria openssh-host-identity-file openssh-host-name openssh-host-port @@ -116,13 +117,39 @@ (define (serialize-string-list field lst) (define-maybe string-list) +(define ssh-match-keywords + '("canonical" "final" "exec" "host" "originalhost" "user" "localuser")) + +(define (match-criteria? str) + ;; Rule out the case of "all" keyword. + (if (member str '("all" + "canonical all" + "final all")) + #t + (let* ((first (string-take str (string-index str #\ ))) + (keyword (if (string-prefix? "!" first) + (string-drop first 1) + first))) + (member keyword ssh-match-keywords)))) + +(define-maybe match-criteria) + (define-configuration openssh-host (name - (string) - "Name of this host declaration.") + maybe-string + "Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name \"*\" for top-level +options.") (host-name maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") + (match-criteria ;TODO implement stricter match-criteria rules + maybe-match-criteria + "A string where the first element is all or one of +@code{ssh-match-keywords}. The rest of the elements are arguments for the +keyword, or other criteria. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Other host configuration options will +apply to all hosts matching @code{match-criteria}.") (address-family maybe-address-family "Address family to use when connecting to this host: one of @@ -171,17 +198,27 @@ (define-configuration openssh-host @file{~/.ssh/config}.")) (define (serialize-openssh-host config) - (define (openssh-host-name-field? field) - (eq? (configuration-field-name field) 'name)) + (define (openssh-host-name-or-match-field? field) + (or (eq? (configuration-field-name field) 'name) + (eq? (configuration-field-name field) 'match-criteria))) (string-append - "Host " (openssh-host-name config) "\n" + (if (maybe-value-set? (openssh-host-name config)) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (error + "You must either define name or match-criteria, not both.") + (string-append "Host " (openssh-host-name config) "\n")) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (string-append + "Match " (string-join (openssh-host-match-criteria config) " ") "\n") + (error + "You must either define name or match-criteria once."))) (string-concatenate (map (lambda (field) ((configuration-field-serializer field) (configuration-field-name field) ((configuration-field-getter field) config))) - (remove openssh-host-name-field? + (remove openssh-host-name-or-match-field? openssh-host-fields))))) (define-record-type* -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH 3/3] gnu: ssh: Export configuration predicates. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Mar 2023 14:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.167983963717424 (code B ref 62461); Sun, 26 Mar 2023 14:08:02 +0000 Received: (at 62461) by debbugs.gnu.org; 26 Mar 2023 14:07:17 +0000 Received: from localhost ([127.0.0.1]:45618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1h-0004Wt-6C for submit@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:17 -0400 Received: from 20.mo550.mail-out.ovh.net ([188.165.45.168]:56695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgR1c-0004WQ-Hm for 62461@debbugs.gnu.org; Sun, 26 Mar 2023 10:07:13 -0400 Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.213]) by mo550.mail-out.ovh.net (Postfix) with ESMTP id 5E92423A70 for <62461@debbugs.gnu.org>; Sun, 26 Mar 2023 14:07:11 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-lg9k4 (unknown [10.110.171.1]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 27B851FDC3; Sun, 26 Mar 2023 14:07:11 +0000 (UTC) Received: from ngraves.fr ([37.59.142.97]) by ghost-submission-6684bf9d7b-lg9k4 with ESMTPSA id eVpGCI9RIGRagy4AvJbV1Q (envelope-from ); Sun, 26 Mar 2023 14:07:11 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-97G0029ebb5ddd-5d19-48bc-a04e-a4694dce2dde, 7E234574D634A6AB9E7E21F50CF4BBEA9FF18F38) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.45.24.108 From: Nicolas Graves Date: Sun, 26 Mar 2023 16:07:06 +0200 Message-Id: <20230326140706.32412-3-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230326140706.32412-1-ngraves@ngraves.fr> References: <20230326140706.32412-1-ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 5876916040203363042 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehtddgjeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdeljeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheehtddpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 0bd79e4322..a0cff86d61 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -41,7 +41,9 @@ (define-module (gnu home services ssh) home-openssh-configuration-known-hosts home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent + home-openssh-configuration? home-ssh-agent-configuration + home-ssh-agent-configuration? openssh-host openssh-host-host-name -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 30 19:00:16 2023 Received: (at control) by debbugs.gnu.org; 30 Mar 2023 23:00:16 +0000 Received: from localhost ([127.0.0.1]:59814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi1Fg-0005Sr-1G for submit@debbugs.gnu.org; Thu, 30 Mar 2023 19:00:16 -0400 Received: from smtpm1.myservices.hosting ([185.26.105.232]:37158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pi1Ff-0005Sk-1j for control@debbugs.gnu.org; Thu, 30 Mar 2023 19:00:15 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm1.myservices.hosting (Postfix) with ESMTP id 1B898207FC for ; Fri, 31 Mar 2023 01:00:13 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id A3D0B8009A for ; Fri, 31 Mar 2023 01:00:10 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id quAab374MQkf for ; Fri, 31 Mar 2023 01:00:10 +0200 (CEST) Received: from [192.168.1.239] (unknown [10.192.1.83]) (Authenticated sender: lumen@makinata.eu) by mail1.netim.hosting (Postfix) with ESMTPSA id 53A0380098 for ; Fri, 31 Mar 2023 01:00:10 +0200 (CEST) Message-ID: <74912071-f536-c8bc-4711-db295b4da0e6@makinata.eu> Date: Fri, 31 Mar 2023 00:00:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US To: control From: Bruno Victal Subject: control-msg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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: -1.0 (-) # done with 5c131aff691fa1cb0fafe71b5f2795902ae056a7 close 55819 # control fail? close 45449 # no longer relevant close 33078 # tags tags 62551 patch tags 62503 patch tags 62461 patch tags 62443 patch tags 62428 patch tags 61226 patch tags 59893 patch tags 59852 patch tags 49451 patch tags 49207 patch tags 44258 patch quit From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 01 Apr 2023 07:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nicolas Graves Cc: 62461@debbugs.gnu.org Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168033513810421 (code B ref 62461); Sat, 01 Apr 2023 07:46:01 +0000 Received: (at 62461) by debbugs.gnu.org; 1 Apr 2023 07:45:38 +0000 Received: from localhost ([127.0.0.1]:35372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piVvd-0002i1-LP for submit@debbugs.gnu.org; Sat, 01 Apr 2023 03:45:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piVvc-0002hk-Cp for 62461@debbugs.gnu.org; Sat, 01 Apr 2023 03:45:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piVvV-0007kw-EC; Sat, 01 Apr 2023 03:45:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=uG5UKtVhNiQuDdGe84U0sY2LfHTVw0y4Jwr+75cYceE=; b=jFs/2FCrmVJG9i3+QZDf v6nPwy3A/Sbn767T/3s5CuUZ0QcRyVW4b5cow9Rrq7BE7E5g1/yk7L6juL1oVLsROQ50BXDhLOlje tN6FXBsQFB1VwL4gECc8uGIJXaPhckQ6Q5a0dQWR3EqI7FEhyJ/K8ak5bHxSk6pkxw25fbArIcR3J qp/zO25z39MuYUvk+Sj+yRv1PELrQcJu7z244QMf07WQYK6B8DkcvaS6uZdFmzPdHPXabsXo9YUle s+FYVz4SropQqaoREMD88VqKAwFjPAzvmfv3IZCw7vyrQr/A+dCW2HTQlY8cMNb8hiidntaM2kQ88 JC18b2BB0b8tmQ==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piVvU-0003c0-NV; Sat, 01 Apr 2023 03:45:28 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87bkkfaa2x.fsf@ngraves.fr> <20230326140706.32412-1-ngraves@ngraves.fr> Date: Sat, 01 Apr 2023 09:45:26 +0200 In-Reply-To: <20230326140706.32412-1-ngraves@ngraves.fr> (Nicolas Graves's message of "Sun, 26 Mar 2023 16:07:04 +0200") Message-ID: <87mt3sgi5l.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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.3 (---) Hi Nicolas, Nice work! Nicolas Graves skribis: > --- > gnu/home/services/ssh.scm | 44 +++++++++++++++++++++++++++++++-------- > 1 file changed, 35 insertions(+), 9 deletions(-) Bonus point if you add a ChangeLog-style commit log. :-) > +(define (serialize-add-keys-to-agent value) > + (define (is-valid-time-string? str) > + (and (> (string-length str) 0) > + (eq? > + (cdr (vector-ref > + (string-match "\ > +[0-9]+|([0-9]+[Ww])?([0-9]+[Dd])?([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?= " str) > + 1)) > + (string-length str)))) In general please use =E2=80=98match=E2=80=99 instead of car/cdr/cadddr (in= fo "(guix) Data Types and Pattern Matching"). That said, the result of =E2=80=98string-match=E2=80=99 is meant to be acce= ssed with =E2=80=98match:substring=E2=80=99, not with =E2=80=98vector-ref=E2=80=99 (i= nfo "(guile) Match Structures"). Nitpick: you can remove =E2=80=98is-=E2=80=99 from the name. > + (string-append "AddKeysToAgent " > + (cond ((member value '("yes" "no" "confirm" "ask")) val= ue) > + ((is-valid-time-string? value) value) > + ((and (string-prefix? "confirm" value) > + (is-valid-time-string? > + (cdr (string-split value #\ )))) value) > + ;; The 'else' branch is unreachable. > + (else (raise (condition (&error))))))) I guess the =E2=80=98else=E2=80=99 branch is reachable if one uses the wron= g value? Should it instead be: (raise (formatted-message (G_ "~s: invalid 'add-keys-to-agent' value") value)) ? Ludo=E2=80=99. From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 01 Apr 2023 08:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nicolas Graves Cc: 62461@debbugs.gnu.org Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168033597612735 (code B ref 62461); Sat, 01 Apr 2023 08:00:02 +0000 Received: (at 62461) by debbugs.gnu.org; 1 Apr 2023 07:59:36 +0000 Received: from localhost ([127.0.0.1]:35389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piW9A-0003JL-11 for submit@debbugs.gnu.org; Sat, 01 Apr 2023 03:59:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piW97-0003J7-Nj for 62461@debbugs.gnu.org; Sat, 01 Apr 2023 03:59:34 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piW90-0001u2-UK; Sat, 01 Apr 2023 03:59:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=9alqJW7MmTjG2BU0HgiWs54+Ye+r4ZUfa0bJVB1DbFY=; b=WAQRdNkxGv7t8ISNc+z9 rPkKz/F2nGF43p5pmHw2gNoZpxYTFap0ve28T2fmbyc6oZSqjeP4Jx3FCrVppYJHzKkiLcLsmDv9a 7D/OIWfJO6KKwCjWbY4E3je2ZSoEiRoV3a20nULlm1zcl2iG9prS50cbMWgU/k6wwGBsG6/wkDj/Z XLrdn7A7GPjfZYW/hfhdZyHz4LBGMeF0KDMTFzVnrAzV+I38rGfkjgDiaR7CxrNLT/G5o4fXIE0NG edLC2OKQb8BfnavIvQjuReCeeXy6JBUUtplgz3v6GJDSmnNuO9zNeuJdg3iGmOtfC15uZtvlFJ1s+ A+EwUaO4WdpmRw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piW90-00049R-IM; Sat, 01 Apr 2023 03:59:26 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20230326140706.32412-1-ngraves@ngraves.fr> <20230326140706.32412-2-ngraves@ngraves.fr> Date: Sat, 01 Apr 2023 09:59:25 +0200 In-Reply-To: <20230326140706.32412-2-ngraves@ngraves.fr> (Nicolas Graves's message of "Sun, 26 Mar 2023 16:07:05 +0200") Message-ID: <87fs9kghia.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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.3 (---) Nicolas Graves skribis: > --- > gnu/home/services/ssh.scm | 49 ++++++++++++++++++++++++++++++++++----- > 1 file changed, 43 insertions(+), 6 deletions(-) [...] > +(define ssh-match-keywords > + '("canonical" "final" "exec" "host" "originalhost" "user" "localuser")) Should it be symbols? > (define-configuration openssh-host > (name > - (string) > - "Name of this host declaration.") > + maybe-string > + "Name of this host declaration. A @code{openssh-host} must define on= ly > +@code{name} or @code{match-criteria}. Use host-name \"*\" for top-level > +options.") =E2=80=9CUse host name @code{\"*\"} for =E2=80=A6=E2=80=9D > + (match-criteria ;TODO implement stricter match-criteria rules > + maybe-match-criteria > + "A string where the first element is all or one of > +@code{ssh-match-keywords}. The rest of the elements are arguments for t= he How about: =E2=80=9CWhen specified, this string denotes the set of hosts to which the entry applies, superseding the @code{host-name} field. Its first element must be all or one of=E2=80=A6=E2=80=9D > (string-append > - "Host " (openssh-host-name config) "\n" > + (if (maybe-value-set? (openssh-host-name config)) > + (if (maybe-value-set? (openssh-host-match-criteria config)) > + (error > + "You must either define name or match-criteria, not both.") > + (string-append "Host " (openssh-host-name config) "\n")) > + (if (maybe-value-set? (openssh-host-match-criteria config)) > + (string-append > + "Match " (string-join (openssh-host-match-criteria config) "= ") "\n") > + (error > + "You must either define name or match-criteria once."))) Please report errors as lowercase messages with: (raise (formatted-message (G_ "=E2=80=A6") =E2=80=A6)) You can also use =E2=80=98&fix-hint=E2=80=99 to provide an additional hint,= if needed. Ludo=E2=80=99. From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 01 Apr 2023 08:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nicolas Graves Cc: 62461@debbugs.gnu.org Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168033602612948 (code B ref 62461); Sat, 01 Apr 2023 08:01:02 +0000 Received: (at 62461) by debbugs.gnu.org; 1 Apr 2023 08:00:26 +0000 Received: from localhost ([127.0.0.1]:35397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piW9x-0003Mm-RI for submit@debbugs.gnu.org; Sat, 01 Apr 2023 04:00:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piW9w-0003MX-DJ for 62461@debbugs.gnu.org; Sat, 01 Apr 2023 04:00:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piW9r-0002DE-5k; Sat, 01 Apr 2023 04:00:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=S6UchA2Ijc4gbE/Lmy28/+nJGvq98EtzenvrVEmLPuU=; b=pcNRk/PHF6Uj+yUz/C44 PTG//mIPPmkbpOVxB6BfiqeUDoq7nosqWgdQ9HKWae0BVUBB7Vdip9T8I6zf/A4deJ6dfMzTcJoQG Dm4kODpCGGs5fwXx2uY40JVgArAsg8VOS7IuLdxP7Wc0ZLJWQGzDE91RNWHYLPdQ9MXX0XCr90Sdr /bwoUfE7fJhBMP55WDHdQdNgZnoAzvKTAab99MkSpjPU6f3SLXElX32y77HSyvaQwoLj/hEyUhIyN jguaTwrmuLAF0uuxrtkSxkQ+h5ZekUTpB/buoCCk2f0Qp3R0jKIERXeCyXnMHnpbngmLGaVIDiXXV b3snsrqKN0wi5w==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piW9k-0007tk-DA; Sat, 01 Apr 2023 04:00:18 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20230326140706.32412-1-ngraves@ngraves.fr> <20230326140706.32412-3-ngraves@ngraves.fr> Date: Sat, 01 Apr 2023 10:00:10 +0200 In-Reply-To: <20230326140706.32412-3-ngraves@ngraves.fr> (Nicolas Graves's message of "Sun, 26 Mar 2023 16:07:06 +0200") Message-ID: <87bkk8ghh1.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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.3 (---) Nicolas Graves skribis: > --- > gnu/home/services/ssh.scm | 2 ++ > 1 file changed, 2 insertions(+) LGTM! BTW, for each of the first two patches, could you update =E2=80=98doc/guix.= texi=E2=80=99 accordingly? Thanks in advance! Ludo=E2=80=99. From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 17 Apr 2023 15:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 62461@debbugs.gnu.org Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16817441102734 (code B ref 62461); Mon, 17 Apr 2023 15:09:02 +0000 Received: (at 62461) by debbugs.gnu.org; 17 Apr 2023 15:08:30 +0000 Received: from localhost ([127.0.0.1]:55788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1poQT0-0000i2-Gu for submit@debbugs.gnu.org; Mon, 17 Apr 2023 11:08:30 -0400 Received: from 14.mo561.mail-out.ovh.net ([188.165.43.98]:49643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1poQSy-0000hp-7a for 62461@debbugs.gnu.org; Mon, 17 Apr 2023 11:08:29 -0400 Received: from director10.ghost.mail-out.ovh.net (unknown [10.108.1.239]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id B3B3725D64 for <62461@debbugs.gnu.org>; Mon, 17 Apr 2023 15:08:26 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-sj9vv (unknown [10.110.171.251]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 6FAFD1FEA7; Mon, 17 Apr 2023 15:08:26 +0000 (UTC) Received: from ngraves.fr ([37.59.142.105]) by ghost-submission-6684bf9d7b-sj9vv with ESMTPSA id 8uRlFOpgPWQIMAEAk5sgMQ (envelope-from ); Mon, 17 Apr 2023 15:08:26 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-105G0065f4ada41-e0e9-49d7-895a-066946feede6, 36ECB2DEF893FB8679C45D4CF8D311E154C16286) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves In-Reply-To: <87fs9kghia.fsf_-_@gnu.org> References: <20230326140706.32412-1-ngraves@ngraves.fr> <20230326140706.32412-2-ngraves@ngraves.fr> <87fs9kghia.fsf_-_@gnu.org> Date: Mon, 17 Apr 2023 17:08:25 +0200 Message-ID: <871qkiv95i.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Ovh-Tracer-Id: 6983394173356335793 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeliedgkeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghffffkgggtgfesthhqredttddtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeffudelkeejveetleeuffejfefftefhhfffuedtteethfelueelveffjedvffdtffenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegtddrudegvddpfeejrdehledrudegvddruddtheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeiuddpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) On 2023-04-01 09:59, Ludovic Court=C3=A8s wrote: >> +(define ssh-match-keywords >> + '("canonical" "final" "exec" "host" "originalhost" "user" "localuser"= )) > > Should it be symbols? Could be. But we would then need a conversion from string to symbol because the original match string which is split can include spaces. Will switch if it doesn't introduce more complexity.=20 Thanks for your other remarks, I'll take them into account and send a new version. --=20 Best regards, Nicolas Graves From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v2 1/4] gnu: home-openssh-configuration: Add field add-keys-to-agent. References: <87bkkfaa2x.fsf@ngraves.fr> In-Reply-To: <87bkkfaa2x.fsf@ngraves.fr> Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Apr 2023 08:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16819794197625 (code B ref 62461); Thu, 20 Apr 2023 08:31:02 +0000 Received: (at 62461) by debbugs.gnu.org; 20 Apr 2023 08:30:19 +0000 Received: from localhost ([127.0.0.1]:36469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgJ-0001yu-3l for submit@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:19 -0400 Received: from 4.mo560.mail-out.ovh.net ([87.98.172.75]:41131) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgG-0001yk-Ll for 62461@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:18 -0400 Received: from director11.ghost.mail-out.ovh.net (unknown [10.108.16.31]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id 01EF62259B for <62461@debbugs.gnu.org>; Thu, 20 Apr 2023 08:30:14 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-hvph2 (unknown [10.108.20.29]) by director11.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 515381FE5F; Thu, 20 Apr 2023 08:30:14 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-hvph2 with ESMTPSA id MWyHChb4QGSvlQMA80Xfbw (envelope-from ); Thu, 20 Apr 2023 08:30:14 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G00520107113-714a-4a59-b9cc-ce00db2b836d, D8EBE829140163AF4773A530C19DD273E963F8CF) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Thu, 20 Apr 2023 10:30:07 +0200 Message-Id: <20230420083010.12285-1-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 17876475770965517026 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfedtvddgtdefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeetveehffevvdfgtddthedvhfeguefggeffteetueeliedvhffhjeegudehleegheenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegtddrudegvddpfeejrdehledrudegvddruddtfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeitddpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- doc/guix.texi | 14 +++++++++++++ gnu/home/services/ssh.scm | 44 +++++++++++++++++++++++++++++++-------- 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 5973ea86cc..daefe63074 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -42601,6 +42601,20 @@ Concretely, these files are concatenated and made available as running on this machine, then it @emph{may} take this file into account: this is what @command{sshd} does by default, but be aware that it can also be configured to ignore it. + +@item @code{add-keys-to-agent} (default: @code{``no''}) +This string specifies whether keys should be automatically added to a +running ssh-agent. If this option is set to @code{``yes''} and a key is +loaded from a file, the key and its passphrase are added to the agent +with the default lifetime, as if by @code{ssh-add}. If this option is +set to @code{``ask''}, @code{ssh} will require confirmation. If this +option is set to @code{``confirm''}, each use of the key must be +confirmed. If this option is set to @code{``no''}, no keys are added to +the agent. Alternately, this option may be specified as a time interval +to specify the key's lifetime in @code{ssh-agent}, after which it will +automatically be removed. The argument must be @code{``no''}, +@code{``yes''}, @code{``confirm''} (optionally followed by a time +interval), @code{``ask''} or a time interval. @end table @end deftp diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 01917a29cd..4ab2adb292 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ (define-module (gnu home services ssh) home-openssh-configuration-authorized-keys home-openssh-configuration-known-hosts home-openssh-configuration-hosts + home-openssh-configuration-add-keys-to-agent home-ssh-agent-configuration openssh-host @@ -185,17 +187,41 @@ (define (openssh-host-name-field? field) (define-record-type* home-openssh-configuration make-home-openssh-configuration home-openssh-configuration? - (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like - (default '())) - (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like - (default *unspecified*)) - (hosts home-openssh-configuration-hosts ;list of - (default '()))) + (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like + (default '())) + (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like + (default *unspecified*)) + (hosts home-openssh-configuration-hosts ;list of + (default '())) + (add-keys-to-agent home-openssh-configuration-add-keys-to-agent ;string with limited values + (default "no"))) + +(define (serialize-add-keys-to-agent value) + (define (is-valid-time-string? str) + (and (> (string-length str) 0) + (eq? + (cdr (vector-ref + (string-match "\ +[0-9]+|([0-9]+[Ww])?([0-9]+[Dd])?([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?" str) + 1)) + (string-length str)))) + + (string-append "AddKeysToAgent " + (cond ((member value '("yes" "no" "confirm" "ask")) value) + ((is-valid-time-string? value) value) + ((and (string-prefix? "confirm" value) + (is-valid-time-string? + (cdr (string-split value #\ )))) value) + ;; The 'else' branch is unreachable. + (else (raise (condition (&error))))))) (define (openssh-configuration->string config) - (string-join (map serialize-openssh-host - (home-openssh-configuration-hosts config)) - "\n")) + (string-join + (cons* (serialize-add-keys-to-agent + (home-openssh-configuration-add-keys-to-agent config)) + (map serialize-openssh-host + (home-openssh-configuration-hosts config))) + "\n")) (define* (file-join name files #:optional (delimiter " ")) "Return a file in the store called @var{name} that is the concatenation -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v2 2/4] gnu: openssh-host: Add option match-criteria. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Apr 2023 08:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16819794247650 (code B ref 62461); Thu, 20 Apr 2023 08:31:02 +0000 Received: (at 62461) by debbugs.gnu.org; 20 Apr 2023 08:30:24 +0000 Received: from localhost ([127.0.0.1]:36473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgN-0001zE-JX for submit@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:24 -0400 Received: from 13.mo584.mail-out.ovh.net ([178.33.251.8]:36009) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgK-0001yv-Ny for 62461@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:22 -0400 Received: from director5.ghost.mail-out.ovh.net (unknown [10.108.16.108]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 27C2727456 for <62461@debbugs.gnu.org>; Thu, 20 Apr 2023 08:30:18 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-5cqj5 (unknown [10.110.208.116]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 8DD701FE6D; Thu, 20 Apr 2023 08:30:18 +0000 (UTC) Received: from ngraves.fr ([37.59.142.95]) by ghost-submission-6684bf9d7b-5cqj5 with ESMTPSA id XDI0Gxr4QGScJgEAt7iN6g (envelope-from ); Thu, 20 Apr 2023 08:30:18 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-95G001534185e0-1357-474c-828a-5de2d8d0575e, D8EBE829140163AF4773A530C19DD273E963F8CF) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Thu, 20 Apr 2023 10:30:08 +0200 Message-Id: <20230420083010.12285-2-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230420083010.12285-1-ngraves@ngraves.fr> References: <20230420083010.12285-1-ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 17877601672975278818 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfedtvddgtddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepiedtteetteekfeetheethfduvedvgeevkeeljedvleeigeeuuedtgedvheetieejnecuffhomhgrihhnpegvgigrmhhplhgvrdhorhhgnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrdelheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekgedpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- doc/guix.texi | 12 ++++++++- gnu/home/services/ssh.scm | 52 ++++++++++++++++++++++++++++++++++----- 2 files changed, 57 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index daefe63074..6c8302e990 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -42625,11 +42625,21 @@ Available @code{openssh-host} fields are: @table @asis @item @code{name} (type: string) -Name of this host declaration. +Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options. @item @code{host-name} (type: maybe-string) Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}. +@item @code{match-criteria} (type: maybe-match-criteria) +When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}. + @item @code{address-family} (type: address-family) Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only), or diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 4ab2adb292..b0c5a2db71 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -45,6 +45,7 @@ (define-module (gnu home services ssh) openssh-host openssh-host-host-name + openssh-host-match-criteria openssh-host-identity-file openssh-host-name openssh-host-port @@ -116,13 +117,40 @@ (define (serialize-string-list field lst) (define-maybe string-list) +(define ssh-match-keywords + '(canonical final exec host originalhost user localuser)) + +(define (match-criteria? str) + ;; Rule out the case of "all" keyword. + (if (member str '("all" + "canonical all" + "final all")) + #t + (let* ((first (string-take str (string-index str #\ ))) + (keyword (string->symbol (if (string-prefix? "!" first) + (string-drop first 1) + first)))) + (memq keyword ssh-match-keywords)))) + +(define-maybe match-criteria) + (define-configuration openssh-host (name - (string) - "Name of this host declaration.") + maybe-string + "Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options.") (host-name maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") + (match-criteria ;TODO implement stricter match-criteria rules + maybe-match-criteria + "When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}.") (address-family maybe-address-family "Address family to use when connecting to this host: one of @@ -171,17 +199,29 @@ (define-configuration openssh-host @file{~/.ssh/config}.")) (define (serialize-openssh-host config) - (define (openssh-host-name-field? field) - (eq? (configuration-field-name field) 'name)) + (define (openssh-host-name-or-match-field? field) + (or (eq? (configuration-field-name field) 'name) + (eq? (configuration-field-name field) 'match-criteria))) (string-append - "Host " (openssh-host-name config) "\n" + (if (maybe-value-set? (openssh-host-name config)) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (raise + (formatted-message + (G_ "You must either define name or match-criteria, not both."))) + (string-append "Host " (openssh-host-name config) "\n")) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (string-append + "Match " (string-join (openssh-host-match-criteria config) " ") "\n") + (raise + (formatted-message + (G_ "You must either define name or match-criteria once."))))) (string-concatenate (map (lambda (field) ((configuration-field-serializer field) (configuration-field-name field) ((configuration-field-getter field) config))) - (remove openssh-host-name-field? + (remove openssh-host-name-or-match-field? openssh-host-fields))))) (define-record-type* -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v2 3/4] gnu: ssh: Export configuration predicates. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Apr 2023 08:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16819794267666 (code B ref 62461); Thu, 20 Apr 2023 08:31:03 +0000 Received: (at 62461) by debbugs.gnu.org; 20 Apr 2023 08:30:26 +0000 Received: from localhost ([127.0.0.1]:36476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgQ-0001zY-9O for submit@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:26 -0400 Received: from 5.mo561.mail-out.ovh.net ([87.98.178.36]:44089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgN-0001z7-3u for 62461@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:23 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.156.6]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id E034027FCD for <62461@debbugs.gnu.org>; Thu, 20 Apr 2023 08:30:21 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-hw94d (unknown [10.111.208.234]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 958611FD60; Thu, 20 Apr 2023 08:30:21 +0000 (UTC) Received: from ngraves.fr ([37.59.142.96]) by ghost-submission-6684bf9d7b-hw94d with ESMTPSA id /tfkGx34QGRfxwQA96Om7Q (envelope-from ); Thu, 20 Apr 2023 08:30:21 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-96R001ae2af872-68bb-4d3d-8706-e372a4cd96cf, D8EBE829140163AF4773A530C19DD273E963F8CF) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Thu, 20 Apr 2023 10:30:09 +0200 Message-Id: <20230420083010.12285-3-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230420083010.12285-1-ngraves@ngraves.fr> References: <20230420083010.12285-1-ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 17878446096498680546 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfedtvddgtddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrdelieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeiuddpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index b0c5a2db71..c92b0dda4f 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -41,7 +41,9 @@ (define-module (gnu home services ssh) home-openssh-configuration-known-hosts home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent + home-openssh-configuration? home-ssh-agent-configuration + home-ssh-agent-configuration? openssh-host openssh-host-host-name -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v2 4/4] gnu: ssh: Export home-ssh-agent variables. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Apr 2023 08:31:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16819794277672 (code B ref 62461); Thu, 20 Apr 2023 08:31:03 +0000 Received: (at 62461) by debbugs.gnu.org; 20 Apr 2023 08:30:27 +0000 Received: from localhost ([127.0.0.1]:36478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgQ-0001zb-Ks for submit@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:26 -0400 Received: from 13.mo584.mail-out.ovh.net ([178.33.251.8]:57105) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppPgP-0001zR-4a for 62461@debbugs.gnu.org; Thu, 20 Apr 2023 04:30:25 -0400 Received: from director1.ghost.mail-out.ovh.net (unknown [10.108.20.202]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 7876C2747F for <62461@debbugs.gnu.org>; Thu, 20 Apr 2023 08:30:24 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-7j5cs (unknown [10.110.208.235]) by director1.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 0B3FD1FE9A; Thu, 20 Apr 2023 08:30:23 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-7j5cs with ESMTPSA id 0/VxMx/4QGQ8DwAAnR/sIQ (envelope-from ); Thu, 20 Apr 2023 08:30:23 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G00525e364be-ced7-40b2-baf3-9364434c3f26, D8EBE829140163AF4773A530C19DD273E963F8CF) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Thu, 20 Apr 2023 10:30:10 +0200 Message-Id: <20230420083010.12285-4-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230420083010.12285-1-ngraves@ngraves.fr> References: <20230420083010.12285-1-ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 17879290524462277346 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfedtvddgtddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeegpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index c92b0dda4f..d2142cfb0a 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -42,7 +42,11 @@ (define-module (gnu home services ssh) home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent home-openssh-configuration? + home-ssh-agent-configuration + home-ssh-agent-openssh + home-ssh-agent-socket-directory + home-ssh-agent-extra-options home-ssh-agent-configuration? openssh-host -- 2.39.2 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 May 2023 21:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nicolas Graves Cc: 62461@debbugs.gnu.org Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.16840986776766 (code B ref 62461); Sun, 14 May 2023 21:12:02 +0000 Received: (at 62461) by debbugs.gnu.org; 14 May 2023 21:11:17 +0000 Received: from localhost ([127.0.0.1]:41671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pyIzt-0001l3-3r for submit@debbugs.gnu.org; Sun, 14 May 2023 17:11:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46180) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pyIzr-0001kr-7Z for 62461@debbugs.gnu.org; Sun, 14 May 2023 17:11:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pyIzl-0007Hb-FG; Sun, 14 May 2023 17:11:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=C0GXGRJxkRcYCGQ2C8uvA9AHJt31BsDM83ZJLPCxIy8=; b=gsNy4wb/uu3C9kIRzd5l vwPCkbNCK+jzILgoNusOdc6NNWAUS9xL0WiH60x18gyR73BduupeYimh0usX00qtvt5SiTxXAJcqz Ok9mhiz0gHioVpZXTiwqMjzKmMwHGz1Gg1axJirTB1MYtlvm2anuM2ljEs9E4qNW614XOvr3bXBd8 nFRuJqbBFVO+Q0JvNbJh5dFtygZxlnG+Bk1ItOKInxu9KQg2Mgm1MHqggdwG0MsM9wh8vh4pQlgoj 1PbulmSMs2ejSOP68vwcgi/0iqRk4YYTmBkb1gZ5FtuCGq9lRZ3B01Q8hABZpqJPoIy4A/mbpKFVD 5GTTEJaas1KWhg==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pyIzl-0006NZ-2V; Sun, 14 May 2023 17:11:09 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87bkkfaa2x.fsf@ngraves.fr> <20230420083010.12285-1-ngraves@ngraves.fr> Date: Sun, 14 May 2023 23:11:06 +0200 In-Reply-To: <20230420083010.12285-1-ngraves@ngraves.fr> (Nicolas Graves's message of "Thu, 20 Apr 2023 10:30:07 +0200") Message-ID: <874joewrdh.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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.3 (---) Hi Nicolas, Apologies for the late reply. It seems some of the suggestions I made didn=E2=80=99t make it into v2, nam= ely: https://issues.guix.gnu.org/62461#5 https://issues.guix.gnu.org/62461#6 Could you take a look? I=E2=80=99m sorry that it too so long; please feel free to ping me on IRC o= nce you=E2=80=99ve sent a new version. Thanks, Ludo=E2=80=99. From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v3 2/4] gnu: openssh-host: Add option match-criteria. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 05 Jun 2023 12:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168596849814524 (code B ref 62461); Mon, 05 Jun 2023 12:35:01 +0000 Received: (at 62461) by debbugs.gnu.org; 5 Jun 2023 12:34:58 +0000 Received: from localhost ([127.0.0.1]:48370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QH-0003m5-DG for submit@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:57 -0400 Received: from 19.mo583.mail-out.ovh.net ([46.105.35.78]:50975) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QE-0003lf-71 for 62461@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:55 -0400 Received: from director5.ghost.mail-out.ovh.net (unknown [10.109.143.223]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id DBDCE27EF6 for <62461@debbugs.gnu.org>; Mon, 5 Jun 2023 12:34:52 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-4bkl9 (unknown [10.110.115.222]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id AA6E61FEDA; Mon, 5 Jun 2023 12:34:52 +0000 (UTC) Received: from ngraves.fr ([37.59.142.101]) by ghost-submission-6684bf9d7b-4bkl9 with ESMTPSA id Fqs5KGzWfWT+/RwA+WDKPw (envelope-from ); Mon, 05 Jun 2023 12:34:52 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-101G0049967e2d1-9c97-4ec1-bf8b-b75b09343d76, 24BD45A8C995C08D5395E1BF3FBF1E19C8C2E420) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:46 +0200 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> References: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 15450724424003609314 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfeelledgheefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepiedtteetteekfeetheethfduvedvgeevkeeljedvleeigeeuuedtgedvheetieejnecuffhomhgrihhnpegvgigrmhhplhgvrdhorhhgnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrddutddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- doc/guix.texi | 12 +++++++- gnu/home/services/ssh.scm | 58 ++++++++++++++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d5f81f6fcd..a3d5f8446d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43126,11 +43126,21 @@ Secure Shell @table @asis @item @code{name} (type: string) -Name of this host declaration. +Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options. @item @code{host-name} (type: maybe-string) Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}. +@item @code{match-criteria} (type: maybe-match-criteria) +When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}. + @item @code{address-family} (type: maybe-address-family) Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only). diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 2de78eb1c4..017bbbc2dd 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -48,6 +48,7 @@ (define-module (gnu home services ssh) openssh-host openssh-host-host-name + openssh-host-match-criteria openssh-host-identity-file openssh-host-name openssh-host-port @@ -95,7 +96,11 @@ (define (serialize-address-family field family) (cond ((= family AF_INET) "inet") ((= family AF_INET6) "inet6") ;; The 'else' branch is unreachable. - (else (raise (condition (&error))))) + (else + (raise + (formatted-message + (G_ "~s: invalid 'address-family' value") + value)))) "\n") "")) @@ -173,13 +178,40 @@ (define (sanitize-proxy-command properties) (configuration-field-error (source-properties->location properties) 'proxy-command value)) value)) +(define ssh-match-keywords + '(canonical final exec host originalhost user localuser)) + +(define (match-criteria? str) + ;; Rule out the case of "all" keyword. + (if (member str '("all" + "canonical all" + "final all")) + #t + (let* ((first (string-take str (string-index str #\ ))) + (keyword (string->symbol (if (string-prefix? "!" first) + (string-drop first 1) + first)))) + (memq keyword ssh-match-keywords)))) + +(define-maybe match-criteria) + (define-configuration openssh-host (name - (string) - "Name of this host declaration.") + maybe-string + "Name of this host declaration. A @code{openssh-host} must define only +@code{name} or @code{match-criteria}. Use host-name @code{\"*\"} for +top-level options.") (host-name maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") + (match-criteria ;TODO implement stricter match-criteria rules + maybe-match-criteria + "When specified, this string denotes the set of hosts to which the entry +applies, superseding the @code{host-name} field. Its first element must be +all or one of @code{ssh-match-keywords}. The rest of the elements are +arguments for the keyword, or other criteria. A @code{openssh-host} must +define only @code{name} or @code{match-criteria}. Other host configuration +options will apply to all hosts matching @code{match-criteria}.") (address-family maybe-address-family "Address family to use when connecting to this host: one of @@ -234,17 +266,29 @@ (define-configuration openssh-host @file{~/.ssh/config}.")) (define (serialize-openssh-host config) - (define (openssh-host-name-field? field) - (eq? (configuration-field-name field) 'name)) + (define (openssh-host-name-or-match-field? field) + (or (eq? (configuration-field-name field) 'name) + (eq? (configuration-field-name field) 'match-criteria))) (string-append - "Host " (openssh-host-name config) "\n" + (if (maybe-value-set? (openssh-host-name config)) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (raise + (formatted-message + (G_ "You must either define name or match-criteria, not both."))) + (string-append "Host " (openssh-host-name config) "\n")) + (if (maybe-value-set? (openssh-host-match-criteria config)) + (string-append + "Match " (string-join (openssh-host-match-criteria config) " ") "\n") + (raise + (formatted-message + (G_ "You must either define name or match-criteria once."))))) (string-concatenate (map (lambda (field) ((configuration-field-serializer field) (configuration-field-name field) ((configuration-field-getter field) config))) - (remove openssh-host-name-field? + (remove openssh-host-name-or-match-field? openssh-host-fields))))) (define-record-type* -- 2.40.1 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v3 1/4] gnu: home-openssh-configuration: Add field add-keys-to-agent. References: <87bkkfaa2x.fsf@ngraves.fr> In-Reply-To: <87bkkfaa2x.fsf@ngraves.fr> Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 05 Jun 2023 12:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168596849814530 (code B ref 62461); Mon, 05 Jun 2023 12:35:02 +0000 Received: (at 62461) by debbugs.gnu.org; 5 Jun 2023 12:34:58 +0000 Received: from localhost ([127.0.0.1]:48372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QI-0003mD-0Q for submit@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:58 -0400 Received: from 2.mo583.mail-out.ovh.net ([178.33.109.111]:34307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QE-0003le-6v for 62461@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:55 -0400 Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.240]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 3EC1027F08 for <62461@debbugs.gnu.org>; Mon, 5 Jun 2023 12:34:52 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-zv2bm (unknown [10.110.103.36]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id C2B761FEC7; Mon, 5 Jun 2023 12:34:51 +0000 (UTC) Received: from ngraves.fr ([37.59.142.96]) by ghost-submission-6684bf9d7b-zv2bm with ESMTPSA id 7f95KWvWfWQOGQAAzuo5lw (envelope-from ); Mon, 05 Jun 2023 12:34:51 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-96R001e830973b-8155-400c-8fd3-f2263fd004a0, 24BD45A8C995C08D5395E1BF3FBF1E19C8C2E420) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:45 +0200 Message-Id: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 15450724424086971106 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfeelledgheefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeetveehffevvdfgtddthedvhfeguefggeffteetueeliedvhffhjeegudehleegheenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegtddrudegvddpfeejrdehledrudegvddrleeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- doc/guix.texi | 14 ++++++++++++ gnu/home/services/ssh.scm | 48 +++++++++++++++++++++++++++++++-------- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f620d0eb35..d5f81f6fcd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43102,6 +43102,20 @@ Secure Shell running on this machine, then it @emph{may} take this file into account: this is what @command{sshd} does by default, but be aware that it can also be configured to ignore it. + +@item @code{add-keys-to-agent} (default: @code{``no''}) +This string specifies whether keys should be automatically added to a +running ssh-agent. If this option is set to @code{``yes''} and a key is +loaded from a file, the key and its passphrase are added to the agent +with the default lifetime, as if by @code{ssh-add}. If this option is +set to @code{``ask''}, @code{ssh} will require confirmation. If this +option is set to @code{``confirm''}, each use of the key must be +confirmed. If this option is set to @code{``no''}, no keys are added to +the agent. Alternately, this option may be specified as a time interval +to specify the key's lifetime in @code{ssh-agent}, after which it will +automatically be removed. The argument must be @code{``no''}, +@code{``yes''}, @code{``confirm''} (optionally followed by a time +interval), @code{``ask''} or a time interval. @end table @end deftp diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 628dc743ae..2de78eb1c4 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ (define-module (gnu home services ssh) home-openssh-configuration-authorized-keys home-openssh-configuration-known-hosts home-openssh-configuration-hosts + home-openssh-configuration-add-keys-to-agent home-ssh-agent-configuration openssh-host @@ -248,17 +250,45 @@ (define (serialize-openssh-host config) (define-record-type* home-openssh-configuration make-home-openssh-configuration home-openssh-configuration? - (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like - (default #f)) - (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like - (default *unspecified*)) - (hosts home-openssh-configuration-hosts ;list of - (default '()))) + (authorized-keys home-openssh-configuration-authorized-keys ;list of file-like + (default #f)) + (known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like + (default *unspecified*)) + (hosts home-openssh-configuration-hosts ;list of + (default '())) + (add-keys-to-agent home-openssh-configuration-add-keys-to-agent ;string with limited values + (default "no"))) + +(define (serialize-add-keys-to-agent value) + (define (valid-time-string? str) + (and (> (string-length str) 0) + (equal? + str + (match:substring + (string-match "\ +[0-9]+|([0-9]+[Ww])?([0-9]+[Dd])?([0-9]+[Hh])?([0-9]+[Mm])?([0-9]+[Ss])?" + str))))) + + (string-append "AddKeysToAgent " + (cond ((member value '("yes" "no" "confirm" "ask")) value) + ((valid-time-string? value) value) + ((and (string-prefix? "confirm" value) + (valid-time-string? + (cdr (string-split value #\ )))) value) + ;; The 'else' branch is unreachable. + (else + (raise + (formatted-message + (G_ "~s: invalid 'add-keys-to-agent' value") + value)))))) (define (openssh-configuration->string config) - (string-join (map serialize-openssh-host - (home-openssh-configuration-hosts config)) - "\n")) + (string-join + (cons* (serialize-add-keys-to-agent + (home-openssh-configuration-add-keys-to-agent config)) + (map serialize-openssh-host + (home-openssh-configuration-hosts config))) + "\n")) (define* (file-join name files #:optional (delimiter " ")) "Return a file in the store called @var{name} that is the concatenation base-commit: eed55a6544d5bda2245ec853e5fa4b28e1865bea prerequisite-patch-id: a057b35ab55298bad50caab186b3e692a25230e1 prerequisite-patch-id: fb9054f780e6f97b92f00fdbe56058d1188ccf0a prerequisite-patch-id: ca2f2591980b80c5cf27846e59e323bdc5a06b00 prerequisite-patch-id: ae5ad13b181ebb3c31d529af50622e3b78641442 prerequisite-patch-id: 34ed6acb0a1e5f79b5f6d18a6d4ef70cd97bf7ad prerequisite-patch-id: 10d52b209b6e9c771050eef67ce566e79ab55c49 prerequisite-patch-id: e78e2a6daf59564caf5d2affe04ea7dde07f76c6 prerequisite-patch-id: 6aad4df7b83bfd5c2da38d9c2f80fba749f607b5 prerequisite-patch-id: da6a2d63ebb0ba1abb0b7c569d353724d900f95f prerequisite-patch-id: 6279cff75e76e262f6ec82518db1fdf4c1810303 prerequisite-patch-id: 44453fcf2f2c38212a47d45d43ddcfa98167fabe prerequisite-patch-id: 641eae2fa3842045ebe6072ad78214002f818221 prerequisite-patch-id: c19de9ee8c57210cbffc79945e69a858639f39bf prerequisite-patch-id: 9833a747398a641803e203f8293382f55ad24ed1 prerequisite-patch-id: 94d5340918e3626726b6d32d93bf47425751898f prerequisite-patch-id: e18164416e2c070b0b71f770c90d4c04af2635c1 prerequisite-patch-id: 31e98ea035053a965e87ad0164030cf909922d9e prerequisite-patch-id: a1cf1f5c4a0ff2804fac986a69ffbc0328300afe prerequisite-patch-id: 2a54e276f79fb57113a0be11e1ea2c07fdc2727d prerequisite-patch-id: a463de1ba17ecb39588dfbd46c3bc5f9e0fb1b1c prerequisite-patch-id: 3188de66dfc4bcb71f90601822428701528f4a98 prerequisite-patch-id: 6c93f771a1eca0747fd92a770fe750e2f15d8e52 prerequisite-patch-id: 12b76e9c2751da73ed64c9489b15f74ff17568cf prerequisite-patch-id: eb618ab7b10483d917c308a38792af98baa517e2 prerequisite-patch-id: a471a4b7839bfb0ee9a3fd53ed962d729d38bd94 prerequisite-patch-id: 5e58202cc87a257c78033dafa62ffae4383e3718 prerequisite-patch-id: cd7f69695aa47b7e1b1160841fe842a3acd160e7 prerequisite-patch-id: b542cf4087eeee1ee3f7fc03b7c39896417bc7b5 prerequisite-patch-id: 843773f53ca319821185f9f9bc43ad905f081ee7 prerequisite-patch-id: a2dfb2fba1e1a3c8e270823022b6f462d27f17c8 -- 2.40.1 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v3 3/4] gnu: ssh: Export configuration predicates. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 05 Jun 2023 12:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168596850114540 (code B ref 62461); Mon, 05 Jun 2023 12:35:02 +0000 Received: (at 62461) by debbugs.gnu.org; 5 Jun 2023 12:35:01 +0000 Received: from localhost ([127.0.0.1]:48374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QK-0003mR-Mf for submit@debbugs.gnu.org; Mon, 05 Jun 2023 08:35:00 -0400 Received: from 5.mo560.mail-out.ovh.net ([87.98.181.248]:44869) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QF-0003lh-G3 for 62461@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:56 -0400 Received: from director5.ghost.mail-out.ovh.net (unknown [10.109.146.240]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id 0404B272F4 for <62461@debbugs.gnu.org>; Mon, 5 Jun 2023 12:34:53 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-264qh (unknown [10.110.103.53]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 6E7921FEB0; Mon, 5 Jun 2023 12:34:53 +0000 (UTC) Received: from ngraves.fr ([37.59.142.98]) by ghost-submission-6684bf9d7b-264qh with ESMTPSA id 7agnGW3WfWQqzwAA5scIhA (envelope-from ); Mon, 05 Jun 2023 12:34:53 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-98R0026c410208-30f3-450c-8245-d6963315b05f, 24BD45A8C995C08D5395E1BF3FBF1E19C8C2E420) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:47 +0200 Message-Id: <81f8bc18e5c5fd461dbec41308fa3ecf84264b7f.1685968477.git.ngraves@ngraves.fr> X-Mailer: git-send-email 2.40.1 In-Reply-To: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> References: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 15451005900218295010 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfeelledgheefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrdelkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvgeeiudesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeitddpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 017bbbc2dd..4ff3395e06 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -44,7 +44,9 @@ (define-module (gnu home services ssh) home-openssh-configuration-known-hosts home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent + home-openssh-configuration? home-ssh-agent-configuration + home-ssh-agent-configuration? openssh-host openssh-host-host-name -- 2.40.1 From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] [PATCH v3 4/4] gnu: ssh: Export home-ssh-agent variables. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 05 Jun 2023 12:35:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62461@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62461-submit@debbugs.gnu.org id=B62461.168596850114553 (code B ref 62461); Mon, 05 Jun 2023 12:35:03 +0000 Received: (at 62461) by debbugs.gnu.org; 5 Jun 2023 12:35:01 +0000 Received: from localhost ([127.0.0.1]:48376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QK-0003mT-V7 for submit@debbugs.gnu.org; Mon, 05 Jun 2023 08:35:01 -0400 Received: from 11.mo550.mail-out.ovh.net ([188.165.48.29]:40125) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q69QG-0003lk-73 for 62461@debbugs.gnu.org; Mon, 05 Jun 2023 08:34:57 -0400 Received: from director9.ghost.mail-out.ovh.net (unknown [10.108.20.212]) by mo550.mail-out.ovh.net (Postfix) with ESMTP id E0D4B23A44 for <62461@debbugs.gnu.org>; Mon, 5 Jun 2023 12:34:54 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-qzgcb (unknown [10.110.115.32]) by director9.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 86B0E1FECB; Mon, 5 Jun 2023 12:34:54 +0000 (UTC) Received: from ngraves.fr ([37.59.142.109]) by ghost-submission-6684bf9d7b-qzgcb with ESMTPSA id fQUkGW7WfWQdGQAAfdoIHA (envelope-from ); Mon, 05 Jun 2023 12:34:54 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-109S0037d9146de-195a-4e63-a59b-fc162f0403e7, 24BD45A8C995C08D5395E1BF3FBF1E19C8C2E420) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves Date: Mon, 5 Jun 2023 14:34:48 +0200 Message-Id: <301925a934e8b44f00e6f421dc678c6d4bbe0590.1685968477.git.ngraves@ngraves.fr> X-Mailer: git-send-email 2.40.1 In-Reply-To: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> References: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 15451287372113830626 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrfeelledgheegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrddutdelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehhedtpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) 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: -1.0 (-) --- gnu/home/services/ssh.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index 4ff3395e06..3053a88fad 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -45,7 +45,11 @@ (define-module (gnu home services ssh) home-openssh-configuration-hosts home-openssh-configuration-add-keys-to-agent home-openssh-configuration? + home-ssh-agent-configuration + home-ssh-agent-openssh + home-ssh-agent-socket-directory + home-ssh-agent-extra-options home-ssh-agent-configuration? openssh-host -- 2.40.1 From unknown Sun Jun 15 08:40:50 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Nicolas Graves Subject: bug#62461: closed (Re: bug#62461: Additional ssh configuration options. ) Message-ID: References: <87h6rgtip0.fsf_-_@gnu.org> <87bkkfaa2x.fsf@ngraves.fr> X-Gnu-PR-Message: they-closed 62461 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 62461@debbugs.gnu.org Date: Fri, 09 Jun 2023 21:45:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1686347102-4113-1" This is a multi-part message in MIME format... ------------=_1686347102-4113-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #62461: Additional ssh configuration options.=20 which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 62461@debbugs.gnu.org. --=20 62461: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D62461 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1686347102-4113-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 62461-done) by debbugs.gnu.org; 9 Jun 2023 21:44:06 +0000 Received: from localhost ([127.0.0.1]:32906 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q7jtu-000137-1s for submit@debbugs.gnu.org; Fri, 09 Jun 2023 17:44:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q7jts-00012X-Fj for 62461-done@debbugs.gnu.org; Fri, 09 Jun 2023 17:44:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q7jtl-0003Tk-Vj; Fri, 09 Jun 2023 17:43:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=E4hKlcphKH+1zpk5rwYZdM0a84SuUR4W6l9nTkRVd0Y=; b=iyTZerETZ0hGiEOyL5bJ 9dYFPWenpB883Vm+oJd7n7ZOPSTr+wJTXvuo91c4WPi42JBL8zkZ1NkY4ugMhASjgc334OxOo4d9E ogD/0y2vXza1rVet/vndX1JHwCWNgXsmjp2/kGaFxvWdCUoGoGw/NqrJE7satqa3ksqlVncZyKS8R VwmmuUZn2rWQQU3rUygcoG7OTANo42GhwBS3mISML6CJT3Jx+mPQxfnpb/vghYVnobnTnMpCGEx8B kGxs1+TslOoC7ss8jHBlXyKOpscuMa8buhMvszu5SLR/lDgBJk3HYI6LT79/m6PX/gtoF/KrDUaqU bejaaul8AiDfBg==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q7jtl-0001RB-JL; Fri, 09 Jun 2023 17:43:57 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Nicolas Graves Subject: Re: bug#62461: Additional ssh configuration options. References: <87bkkfaa2x.fsf@ngraves.fr> <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> Date: Fri, 09 Jun 2023 23:43:55 +0200 In-Reply-To: <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> (Nicolas Graves's message of "Mon, 5 Jun 2023 14:34:45 +0200") Message-ID: <87h6rgtip0.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62461-done Cc: 62461-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.3 (---) Hi Nicolas, I have finally installed v3, thanks! Please note that despite previous round trips this was a time-consuming task: adding commit logs (they would have guided review), chasing unbound variables (#:use-module (ice-9 regex) was missing), tweaking error messages for consistency (lower-case, no period), etc. Please keep that in mind for the next series. :-) Thanks again! Ludo=E2=80=99. ------------=_1686347102-4113-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 26 Mar 2023 13:58:25 +0000 Received: from localhost ([127.0.0.1]:45601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgQt6-0004HS-Me for submit@debbugs.gnu.org; Sun, 26 Mar 2023 09:58:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:55454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgQt4-0004HJ-Ig for submit@debbugs.gnu.org; Sun, 26 Mar 2023 09:58:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgQt4-000449-2u for guix-patches@gnu.org; Sun, 26 Mar 2023 09:58:22 -0400 Received: from 8.mo575.mail-out.ovh.net ([46.105.74.219]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgQt1-0004M1-Qo for guix-patches@gnu.org; Sun, 26 Mar 2023 09:58:21 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.109.138.21]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 97E1C20563 for ; Sun, 26 Mar 2023 13:58:15 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-ldm2b (unknown [10.111.208.70]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5A46E1FD17 for ; Sun, 26 Mar 2023 13:58:15 +0000 (UTC) Received: from ngraves.fr ([37.59.142.97]) by ghost-submission-6684bf9d7b-ldm2b with ESMTPSA id SlS3EndPIGTlDREA6ADbAA (envelope-from ) for ; Sun, 26 Mar 2023 13:58:15 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-97G002bdc3dfec-1c5d-49e2-9984-781ee7077830, 7E234574D634A6AB9E7E21F50CF4BBEA9FF18F38) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.45.24.108 From: Nicolas Graves To: guix-patches@gnu.org Subject: Additional ssh configuration options. Date: Sun, 26 Mar 2023 15:58:14 +0200 Message-ID: <87bkkfaa2x.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain X-Ovh-Tracer-Id: 5726045454231921402 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehtddgjedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvffufffkgggtsehttdertddttddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepueejleeileejfffhleetjedtleejheevudffleevgfdufeekhefgvddvveegveefnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdeljeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepghhuihigqdhprghttghhvghssehgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth Received-SPF: pass client-ip=46.105.74.219; envelope-from=ngraves@ngraves.fr; helo=8.mo575.mail-out.ovh.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) I'm using RDE and wanted to completely migrate RDE's ssh configuration to Guix, now that the ssh-agent is configured. It's not that simple, since RDE was using loosely defined alists, so I'm only contributing options I actually use, in the next patches. -- Best regards, Nicolas Graves ------------=_1686347102-4113-1-- From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Josselin Poiret Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 04 Jul 2023 20:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Nicolas Graves Cc: 62461-done@debbugs.gnu.org Received: via spool by 62461-done@debbugs.gnu.org id=D62461.16885018573732 (code D ref 62461); Tue, 04 Jul 2023 20:18:02 +0000 Received: (at 62461-done) by debbugs.gnu.org; 4 Jul 2023 20:17:37 +0000 Received: from localhost ([127.0.0.1]:36683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGmSv-0000y8-5n for submit@debbugs.gnu.org; Tue, 04 Jul 2023 16:17:37 -0400 Received: from jpoiret.xyz ([206.189.101.64]:59176) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGmSq-0000xv-06 for 62461-done@debbugs.gnu.org; Tue, 04 Jul 2023 16:17:35 -0400 Received: from authenticated-user (jpoiret.xyz [206.189.101.64]) by jpoiret.xyz (Postfix) with ESMTPA id 88130184F02; Tue, 4 Jul 2023 20:17:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpoiret.xyz; s=dkim; t=1688501850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=v09Qc1Rv5R3z8FZU7zhq9tlNfyKn71MIj3szLdyGqpA=; b=azCeQ4PvswpXnfjJcFw36LLuJwtTafEd0BX6bdGeeKMU2rwhX40euwYTY8puu3OuqqU6PE ffvqSU3GSBB9iNi5k7EzSJMBvZySTjsundT/z9Cr1KqteJepgdgQqubJtQe+8kHPEcD0OS LaTYYc7Q7r3brJghK1OVoXA8PYCqiaKcy1UltChcr/6H1eQE8x4KxCsP0MxmXOKHRSMyW2 D8f+JPfnquy31Y5puxdDwzM24FJGlmDCUBmXzuxDzt4v9Rvd61l6CKI/rfauqHdqKh42fe FDv+LfRhyxiq5gzcrFA7qI/nTJvPx73w1H6ugWNEkpcbHpytLtILCGBxMDxD6w== From: Josselin Poiret In-Reply-To: <87h6rgtip0.fsf_-_@gnu.org> References: <87bkkfaa2x.fsf@ngraves.fr> <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> <87h6rgtip0.fsf_-_@gnu.org> Date: Tue, 04 Jul 2023 22:17:19 +0200 Message-ID: <87o7kr77ow.fsf@jpoiret.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spamd-Bar: -- Authentication-Results: jpoiret.xyz; auth=pass smtp.auth=jpoiret@jpoiret.xyz smtp.mailfrom=dev@jpoiret.xyz X-Spam-Score: 0.0 (/) 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.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Nicolas and Ludo, Ludovic Court=C3=A8s writes: > Hi Nicolas, > > I have finally installed v3, thanks! I'm noticing that guile is now throwing a warning for the `(define-maybe match-criteria)` line. I don't know anything about the fancy configuration framework, but Brian tells me that a quick fix could be to change define-maybe to define-maybe/no-serialization. Nicolas, can you have a look? I'd be happy to push the fix. Best, =2D-=20 Josselin Poiret --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHEBAEBCgAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmSkfk8QHGRldkBqcG9p cmV0Lnh5egAKCRBQXkC5FhcaiqE2C/9FLSiTWLyvb26cnd1oXNCWMpDLP/v+zaG/ ZY1PbAqh8k1P04TZKVBZzeg0aBGW3sxz6pF9AtrjFn57Ur4hL+ZYteRQFLSF/df/ JW7e+aRZmHCiiErRY2yCapphfjeLJ0nbNQfg1G4kEd3MQvyPOXp30+cKMfAfcXTN ROg3Kn2kCtz6pSPjEfdobXHkRu+EPIie6Ughy3gxzW975yvf2nrimvP1dj/zbPl/ 3SJtgLRnQQF3slzbEcuQogeZWcmDVwfF7QCqe+NMU8far0k7JsiJ/o8iIxKefO9n bBIxYhF0h3XWCVgYjDsTtfgoJkHETpfTjgVypGok7dfyjpMsPep6rx0PfYCa8IXA Sw5mzmQ+VKnKeVrrF6xUrOfzVin03jQ4gLgrU/dnrbGCkdXKZSuAhiFbvC0qHFPP em2QlCLcAQHLopmBhQlJJ7Gl32zCpULfj7pu74sUiPsotwJvwBzpa+WUbR4vhEpI qH3x2TuDTW29f4qFdFZkCuI8Y0vTiI8= =ONNf -----END PGP SIGNATURE----- --=-=-=-- From unknown Sun Jun 15 08:40:50 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#62461] Additional ssh configuration options. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 21 Jul 2023 20:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62461 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Josselin Poiret , Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 62461-done@debbugs.gnu.org Received: via spool by 62461-done@debbugs.gnu.org id=D62461.168997101417941 (code D ref 62461); Fri, 21 Jul 2023 20:24:01 +0000 Received: (at 62461-done) by debbugs.gnu.org; 21 Jul 2023 20:23:34 +0000 Received: from localhost ([127.0.0.1]:34975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qMwf0-0004fJ-0x for submit@debbugs.gnu.org; Fri, 21 Jul 2023 16:23:34 -0400 Received: from 20.mo581.mail-out.ovh.net ([46.105.49.208]:47285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qMwex-0004f9-F7 for 62461-done@debbugs.gnu.org; Fri, 21 Jul 2023 16:23:33 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.109.146.32]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 1BAB926628 for <62461-done@debbugs.gnu.org>; Fri, 21 Jul 2023 20:23:29 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-smk6f (unknown [10.110.208.180]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 7138B1FE12; Fri, 21 Jul 2023 20:23:29 +0000 (UTC) Received: from ngraves.fr ([37.59.142.98]) by ghost-submission-6684bf9d7b-smk6f with ESMTPSA id KKqAF0HpumRe2AMA7/qoZw (envelope-from ); Fri, 21 Jul 2023 20:23:29 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-98R0025d985903-5f40-46ec-b9b3-9436a54595d2, 0251D4AD6766458611F6DB253B2526928C679AF6) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 From: Nicolas Graves In-Reply-To: <87o7kr77ow.fsf@jpoiret.xyz> References: <87bkkfaa2x.fsf@ngraves.fr> <6e0836e1ad23b625b912f2aa0893c2c0b1f4e37c.1685968477.git.ngraves@ngraves.fr> <87h6rgtip0.fsf_-_@gnu.org> <87o7kr77ow.fsf@jpoiret.xyz> Date: Fri, 21 Jul 2023 22:23:28 +0200 Message-ID: <87zg3povy7.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Ovh-Tracer-Id: 16807715288492532284 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrhedvgddugeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghffffkgggtgfesthhqredttddtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeffudelkeejveetleeuffejfefftefhhfffuedtteethfelueelveffjedvffdtffenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegtddrudegvddpfeejrdehledrudegvddrleeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivdegieduqdguohhnvgesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-Spam-Score: -0.0 (/) 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: -1.0 (-) On 2023-07-04 22:17, Josselin Poiret via Guix-patches via wrote: > Hi Nicolas and Ludo, > > Ludovic Court=C3=A8s writes: > >> Hi Nicolas, >> >> I have finally installed v3, thanks! > > I'm noticing that guile is now throwing a warning for the `(define-maybe > match-criteria)` line. I don't know anything about the fancy > configuration framework, but Brian tells me that a quick fix could be to > change define-maybe to define-maybe/no-serialization. Nicolas, can you > have a look? I'd be happy to push the fix. Hi Josselin ! Sorry for the late answer. This is done in the recent patch 64777, which also fixed the serialization (the ssh match is a string in this version, not a list). > > Best, --=20 Best regards, Nicolas Graves