~ruther/guix-local

a7a3b390600351014bee523cadb25c9a242064e9 — Ludovic Courtès 9 years ago 6619f9c
substitute: Gracefully handle trailing slashes in URLs.

Previously, using something like
"--substitute-urls=http://example.org///" would lead to a
'cache-narinfo!' call with #f as its second argument.

It would also do the wrong thing for URLs with a non-empty initial path
component, such as "http://example.org/foo/bar".

* guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]:
Add call to 'basename' for PATH.
1 files changed, 2 insertions(+), 1 deletions(-)

M guix/scripts/substitute.scm
M guix/scripts/substitute.scm => guix/scripts/substitute.scm +2 -1
@@ 610,7 610,8 @@ if file doesn't exist, and the narinfo otherwise."
            (update-progress!)
            (cons narinfo result))
          (let* ((path      (uri-path (request-uri request)))
                 (hash-part (string-drop-right path 8))) ; drop ".narinfo"
                 (hash-part (basename
                             (string-drop-right path 8)))) ;drop ".narinfo"
            (if len
                (get-bytevector-n port len)
                (read-to-eof port))