From 6955cff9621ebe58736fa2deaa915d1ea1f15a78 Mon Sep 17 00:00:00 2001 From: Amar Singh Date: Wed, 21 Oct 2020 02:02:02 +0530 Subject: publish: Provide server's signing key. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/publish.scm (render-signing-key): New procedure. (render-home-page): Add link to it. (make-request-handler): Handle it. Signed-off-by: Ludovic Courtès --- guix/scripts/publish.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 4eaf961ab2..1741b93309 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson +;;; Copyright © 2020 by Amar M. Singh ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -686,6 +687,13 @@ to compress or decompress the log file; just return it as-is." (values (response-headers log) log) (not-found request)))) +(define (render-signing-key) + "Render signing key." + (let ((file %public-key-file)) + (values `((content-type . (text/plain (charset . "UTF-8"))) + (x-raw-file . ,file)) + file))) + (define (render-home-page request) "Render the home page." (values `((content-type . (text/html (charset . "UTF-8")))) @@ -699,7 +707,12 @@ to compress or decompress the log file; just return it as-is." (a (@ (href "https://guix.gnu.org/manual/en/html_node/Invoking-guix-publish.html")) (tt "guix publish")) - " speaking. Welcome!"))) + " speaking. Welcome!") + (p "Here is the " + (a (@ (href + "signing-key.pub")) + (tt "signing key")) + " for this server. Knock yourselves out!"))) port))))) (define (extract-narinfo-hash str) @@ -918,6 +931,9 @@ methods, return the applicable compression." ;; / ((or () ("index.html")) (render-home-page request)) + ;; guix signing-key + (("signing-key.pub") + (render-signing-key)) ;; /.narinfo (((= extract-narinfo-hash (? string? hash))) (if cache -- cgit v1.2.3