From: Michael Tremer Date: Mon, 24 May 2021 12:35:08 +0000 (+0000) Subject: downloader: Add support for FTP X-Git-Tag: 0.9.28~1285^2~86 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42e58ff4a29982463d429ef97eaa6914665495fb;p=pakfire.git downloader: Add support for FTP It seems that we have quite a few packages with FTP sources, so we will have to support this for now. Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/downloader.c b/src/libpakfire/downloader.c index c0c1a5d9c..b5f28b748 100644 --- a/src/libpakfire/downloader.c +++ b/src/libpakfire/downloader.c @@ -318,9 +318,9 @@ static struct pakfire_transfer* pakfire_downloader_create_transfer( curl_easy_setopt(transfer->handle, CURLOPT_DEBUGDATA, downloader->pakfire); #endif - // Limit protocols to HTTPS, HTTP, and FILE + // Limit protocols to HTTPS, HTTP, FTP and FILE curl_easy_setopt(transfer->handle, CURLOPT_PROTOCOLS, - CURLPROTO_HTTPS|CURLPROTO_HTTP|CURLPROTO_FILE); + CURLPROTO_HTTPS|CURLPROTO_HTTP|CURLPROTO_FTP|CURLPROTO_FILE); // Reference back to this transfer curl_easy_setopt(transfer->handle, CURLOPT_PRIVATE, transfer); @@ -537,6 +537,14 @@ static int pakfire_transfer_done(struct pakfire_downloader* downloader, return 1; } break; + + case CURLPROTO_FTP: + if (response_code == 226) + r = pakfire_transfer_save(downloader, transfer); + else + r = pakfire_transfer_fail(downloader, transfer, code); + + return r; } // Success