summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install/NEWS2
-rw-r--r--perl-install/install/http.pm8
-rw-r--r--perl-install/mirror.pm4
3 files changed, 8 insertions, 6 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index ffe3c8f5d..9f351eb64 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,3 +1,5 @@
+- use https to grab mirrorlist from api.mandriva.com
+
Version 12.46 - 28 August 2009
- handle new drivers:
diff --git a/perl-install/install/http.pm b/perl-install/install/http.pm
index 236fd745f..1ef8755b3 100644
--- a/perl-install/install/http.pm
+++ b/perl-install/install/http.pm
@@ -8,8 +8,8 @@ sub close() {
}
sub getFile {
- my ($url) = @_;
- my ($_size, $fh) = get_file_and_size($url) or return;
+ my ($url, %o_options) = @_;
+ my ($_size, $fh) = get_file_and_size($url, %o_options) or return;
$fh;
}
@@ -30,7 +30,7 @@ sub get_file_and_size_ {
}
sub get_file_and_size {
- my ($url) = @_;
+ my ($url, %o_options) = @_;
# can be used for ftp urls (with http proxy)
my ($host) = parse_http_url($url);
@@ -54,7 +54,7 @@ sub get_file_and_size {
urpm::download::set_cmdline_proxy(http_proxy => "http://$proxy/");
}
- my $res = eval { urpm::download::sync_url($urpm, $url, dir => $cachedir) };
+ my $res = eval { urpm::download::sync_url($urpm, $url, %o_options, dir => $cachedir) };
if ($res) {
open(my $f, $file);
(-s $file, $f);
diff --git a/perl-install/mirror.pm b/perl-install/mirror.pm
index a37955669..563464874 100644
--- a/perl-install/mirror.pm
+++ b/perl-install/mirror.pm
@@ -59,12 +59,12 @@ sub mirrors_raw {
#- contact the following URL to retrieve the list of mirrors.
#- http://wiki.mandriva.com/en/Product_id
my $type = lc($product_id->{type}); $type =~ s/\s//g;
- my $list = "http://api.mandriva.com/mirrors/$type.$product_id->{version}.$product_id->{arch}.list?product=$product_id->{product}";
+ my $list = "https://api.mandriva.com/mirrors/$type.$product_id->{version}.$product_id->{arch}.list?product=$product_id->{product}";
log::explanations("trying mirror list from $list");
my @lines;
if ($::isInstall) {
require install::http;
- my $f = install::http::getFile($list) or die "mirror list not found";
+ my $f = install::http::getFile($list, "strict-certificate-check" => 1) or die "mirror list not found";
local $SIG{ALRM} = sub { die "timeout" };
alarm 60;
log::l("using mirror list $list");