From 25b5a1b9c893b4c46cd89a3e4d445a994aff05ca Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Tue, 1 Sep 2009 08:41:42 +0000 Subject: use https to download the mirrorlist from api.mandriva.com --- perl-install/install/NEWS | 2 ++ perl-install/install/http.pm | 8 ++++---- perl-install/mirror.pm | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) (limited to 'perl-install') 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"); -- cgit v1.2.1