substitute: Validate substitute URLs.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00548.html>. * guix/scripts/substitute.scm (validate-uri): New procedure. (guix-substitute): Use it.master
parent
49f9d7f697
commit
8a2105078b
|
@ -980,6 +980,10 @@ default value."
|
|||
(and number (max 20 (- number 1))))))
|
||||
80))
|
||||
|
||||
(define (validate-uri uri)
|
||||
(unless (string->uri uri)
|
||||
(leave (_ "~a: invalid URI~%") uri)))
|
||||
|
||||
(define (guix-substitute . args)
|
||||
"Implement the build daemon's substituter protocol."
|
||||
(mkdir-p %narinfo-cache-directory)
|
||||
|
@ -1001,6 +1005,9 @@ default value."
|
|||
(newline)
|
||||
(force-output (current-output-port))
|
||||
|
||||
;; Sanity-check %CACHE-URLS so we can provide a meaningful error message.
|
||||
(for-each validate-uri %cache-urls)
|
||||
|
||||
;; Attempt to install the client's locale, mostly so that messages are
|
||||
;; suitably translated.
|
||||
(match (or (find-daemon-option "untrusted-locale")
|
||||
|
|
Reference in New Issue