From 3e8cb7a700bd3bdf23fd17e803a646d3a4914ef5 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 23 Jan 2012 19:06:16 +0000 Subject: (ftp_prepare) try arched directory for FTP installs too... --- mdk-stage1/NEWS | 2 +- mdk-stage1/network.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS index 1fa1db405..30ea111e7 100644 --- a/mdk-stage1/NEWS +++ b/mdk-stage1/NEWS @@ -1,4 +1,4 @@ -- try to use arch-prefixed location for HTTP installs (mga#2578) +- try to use arch-prefixed location for FTP & HTTP installs (mga#2578) 1.58 - add support for kernel compressed as XZ diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c index 08766b9dd..a156e153f 100644 --- a/mdk-stage1/network.c +++ b/mdk-stage1/network.c @@ -1072,6 +1072,16 @@ enum return_type ftp_prepare(void) fd = ftp_start_download(ftp_serv_response, location_full, &size); } + /* Try arched directory */ + if (fd < 0) { + log_message("%s failed.", location_full); + char *with_arch = asprintf_("%s%s/%s/%s", answers[1][0] == '/' ? "" : "/", answers[1], ARCH, COMPRESSED_FILE_REL("/")); + log_message("trying %s...", with_arch); + fd = http_download_file(answers[0], with_arch, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port); + if (0 < fd) + strcpy(location_full, with_arch); + } + if (fd < 0) { char *msg = str_ftp_error(fd); log_message("FTP: error get %d for remote file %s", fd, location_full); -- cgit v1.2.1