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.
This commit is contained in:
parent
49f9d7f697
commit
8a2105078b
|
@ -980,6 +980,10 @@ default value."
|
||||||
(and number (max 20 (- number 1))))))
|
(and number (max 20 (- number 1))))))
|
||||||
80))
|
80))
|
||||||
|
|
||||||
|
(define (validate-uri uri)
|
||||||
|
(unless (string->uri uri)
|
||||||
|
(leave (_ "~a: invalid URI~%") uri)))
|
||||||
|
|
||||||
(define (guix-substitute . args)
|
(define (guix-substitute . args)
|
||||||
"Implement the build daemon's substituter protocol."
|
"Implement the build daemon's substituter protocol."
|
||||||
(mkdir-p %narinfo-cache-directory)
|
(mkdir-p %narinfo-cache-directory)
|
||||||
|
@ -1001,6 +1005,9 @@ default value."
|
||||||
(newline)
|
(newline)
|
||||||
(force-output (current-output-port))
|
(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
|
;; Attempt to install the client's locale, mostly so that messages are
|
||||||
;; suitably translated.
|
;; suitably translated.
|
||||||
(match (or (find-daemon-option "untrusted-locale")
|
(match (or (find-daemon-option "untrusted-locale")
|
||||||
|
|
Loading…
Reference in New Issue