]> git.ipfire.org Git - pakfire.git/commitdiff
downloader: Allow relative URLs when baseurl is set
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 15 Apr 2021 16:28:34 +0000 (16:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 15 Apr 2021 16:28:34 +0000 (16:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/downloader.c

index 7e710872a7a47954db7110a5d05420b5a2205256..d5578a92ac489b7cd7997861a314660e502c5692 100644 (file)
@@ -250,7 +250,7 @@ static struct pakfire_transfer* pakfire_downloader_create_transfer(
        DEBUG(downloader->pakfire, "Adding download of %s\n", url);
 
        // Do not allow relative URLs when no mirrors are set
-       if (!pakfire_url_is_absolute(url) && !mirrors) {
+       if (!pakfire_url_is_absolute(url) && !(mirrors || *downloader->baseurl)) {
                ERROR(downloader->pakfire, "Relative URLs cannot be used without a mirrorlist\n");
                errno = EINVAL;
                return NULL;
@@ -522,7 +522,7 @@ static int pakfire_downloader_prepare_transfer(struct pakfire_downloader* downlo
                curl_easy_setopt(transfer->handle, CURLOPT_URL, transfer->url);
 
        // Join path if we are using mirrors
-       } else if (!pakfire_mirrorlist_empty(transfer->mirrors)) {
+       } else if (transfer->mirrors && !pakfire_mirrorlist_empty(transfer->mirrors)) {
                int r = pakfire_transfer_select_mirror(downloader, transfer);
                if (r)
                        return r;