From patchwork Wed Apr 30 15:34:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Lechner X-Patchwork-Id: 42183 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3B60027BC4B; Wed, 30 Apr 2025 16:36:56 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B6FE427BC49 for ; Wed, 30 Apr 2025 16:36:55 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uA9Ti-0008Cn-Kr; Wed, 30 Apr 2025 11:36:06 -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 1uA9Tg-0008BD-O4 for guix-patches@gnu.org; Wed, 30 Apr 2025 11:36:04 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uA9Tg-00087N-BX for guix-patches@gnu.org; Wed, 30 Apr 2025 11:36:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=zCJkFf51TQu9dbNr0UdsRwQjvyZBZvPXynF1+kB/utg=; b=gR14283tvRYcrSYKI3oStHO6dFlTg3doExD9XqEfXX0Q+YaVEHbHsBMuiUTXNY5/WH4QUhgIO9N1W6IZ3Pp17lGSB6h0EH9ZaDWh7d0CEFaIx6p/na2LHYz7CxPJqy3SXbDCw5Vyx+DYWyJrbaSBXlKQPVWGGUK+NHTDxScn1IUnkA/MVidPwtQREAhF0KySShZSy9FjsauEs3nhg9SJjxI+G7ZUl3L8/1h2nAbYHd9dQJW8lDvw+Q/1Hjf7WBNknPcxelIsxmK7ZtJgEDztBjeKQvfAradyD1FXRxl9cepBb69OYaVz/TtQrBRXU8QTPEQSYhuGHRONGFuMDhDbqA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1uA9Tg-0002Up-1H for guix-patches@gnu.org; Wed, 30 Apr 2025 11:36:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#67497] [PATCH v2 3/4] In certbot service, reduce code duplication. Resent-From: Felix Lechner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Apr 2025 15:36:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67497 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch help To: 67497@debbugs.gnu.org Cc: Carlo Zancanaro , Bruno Victal , Felix Lechner , Maxim Cournoyer Received: via spool by 67497-submit@debbugs.gnu.org id=B67497.17460273219481 (code B ref 67497); Wed, 30 Apr 2025 15:36:03 +0000 Received: (at 67497) by debbugs.gnu.org; 30 Apr 2025 15:35:21 +0000 Received: from localhost ([127.0.0.1]:43929 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA9Sy-0002Sq-Hl for submit@debbugs.gnu.org; Wed, 30 Apr 2025 11:35:21 -0400 Received: from sail-ipv4.us-core.com ([208.82.101.137]:49108) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA9Sn-0002M8-I4 for 67497@debbugs.gnu.org; Wed, 30 Apr 2025 11:35:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=HEqbv6EViF+YxSJ wmA84LP4xnCFvOpeRkljgGH4fF3g=; h=references:in-reply-to:date:subject: cc:to:from; d=lease-up.com; b=YEo0uKR6FTALBH+uxK59bsrRzqTfqTpwvwORycoQ f7+KRPyevQOJlAC4mXZ5L4Z2uDp+O7dvpnmwl2kBoioPKwZid0Q5AJpTsiryKYh4ngOF1u iD+sjUdQR0aZfa1Hx887/kzHVHzOH4ZyC/y7/CC+ozRpVMIy7DDtQuq+pqiqA= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id 5b25eb73 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 30 Apr 2025 15:35:06 +0000 (UTC) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id c961b6af; Wed, 30 Apr 2025 15:35:05 +0000 (UTC) Date: Wed, 30 Apr 2025 08:34:38 -0700 Message-ID: X-Mailer: git-send-email 2.49.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Felix Lechner X-ACL-Warn: , Felix Lechner via Guix-patches X-Patchwork-Original-From: Felix Lechner via Guix-patches via From: Felix Lechner Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches The certbot command is can only be changed with a great deal of attention. The program branches early and constructs two separate invocations. Changes would generally have to be made in two places. Otherwise, a new bug might be introduced. This commit places the conditional inquestion inside the list so that future edits are more fool-proof. Change-Id: I4a54f8b78ff4722688de7772d3c26a6191d6ff89 --- gnu/services/certbot.scm | 60 ++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 33 deletions(-) diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index d6c7d175ff5..08a480ed3b1 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -142,39 +142,33 @@ (define certbot-command csr authentication-hook cleanup-hook deploy-hook) (let ((name (or custom-name (car domains)))) - (if challenge - (append - (list name certbot "certonly" "-n" "--agree-tos" - "--manual" - (string-append "--preferred-challenges=" challenge) - "--cert-name" name - "--manual-public-ip-logging-ok" - "-d" (string-join domains ",")) - (if csr `("--csr" ,csr) '()) - (if email - `("--email" ,email) - '("--register-unsafely-without-email")) - (if server `("--server" ,server) '()) - (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) - (if authentication-hook - `("--manual-auth-hook" ,authentication-hook) - '()) - (if cleanup-hook `("--manual-cleanup-hook" ,cleanup-hook) '()) - (list "--deploy-hook" - (certbot-deploy-hook name deploy-hook))) - (append - (list name certbot "certonly" "-n" "--agree-tos" - "--webroot" "-w" webroot - "--cert-name" name - "-d" (string-join domains ",")) - (if csr `("--csr" ,csr) '()) - (if email - `("--email" ,email) - '("--register-unsafely-without-email")) - (if server `("--server" ,server) '()) - (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) - (list "--deploy-hook" - (certbot-deploy-hook name deploy-hook))))))) + (append + (list name + certbot + "certonly" + "-n" + "--agree-tos") + (if challenge + (append + (list "--manual" + (string-append "--preferred-challenges=" challenge) + "--manual-public-ip-logging-ok") + (if authentication-hook + (list "--manual-auth-hook" authentication-hook) + '()) + (if cleanup-hook + (list "--manual-cleanup-hook" cleanup-hook) + '())) + (list "--webroot" "-w" webroot)) + (list "--cert-name" name + "-d" (string-join domains ",")) + (if csr (list "--csr" csr) '()) + (if email + (list "--email" email) + (list "--register-unsafely-without-email")) + (if server (list "--server" server) '()) + (if rsa-key-size (list "--rsa-key-size" rsa-key-size) '()) + (if deploy-hook (list "--deploy-hook" deploy-hook) '()))))) certificates))) (program-file "certbot-command"