diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-07-14 15:19:07 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-07-14 19:07:07 +0200 |
commit | a7a3b390600351014bee523cadb25c9a242064e9 (patch) | |
tree | 096eb01921d6745f7675b08b6fafa421ff053591 | |
parent | 6619f9c7696d2cae54a8f4e235bfed0e3e36f36d (diff) | |
download | guix-a7a3b390600351014bee523cadb25c9a242064e9.tar.gz |
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.
-rwxr-xr-x | guix/scripts/substitute.scm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 5722aa821d..8827c45fb8 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -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)) |