summaryrefslogtreecommitdiffstats
path: root/perl-install/printer.pm
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2000-03-17 18:28:37 +0000
committerFrancois Pons <fpons@mandriva.com>2000-03-17 18:28:37 +0000
commitc2291d42ccff39452769c2c5d1e62842765dcf7b (patch)
tree14ce67c307837e19500279e7d0133ac53933f329 /perl-install/printer.pm
parent3622540f67228fabb5399876b5af89f37cf461be (diff)
downloaddrakx-c2291d42ccff39452769c2c5d1e62842765dcf7b.tar
drakx-c2291d42ccff39452769c2c5d1e62842765dcf7b.tar.gz
drakx-c2291d42ccff39452769c2c5d1e62842765dcf7b.tar.bz2
drakx-c2291d42ccff39452769c2c5d1e62842765dcf7b.tar.xz
drakx-c2291d42ccff39452769c2c5d1e62842765dcf7b.zip
*** empty log message ***
Diffstat (limited to 'perl-install/printer.pm')
-rw-r--r--perl-install/printer.pm146
1 files changed, 93 insertions, 53 deletions
diff --git a/perl-install/printer.pm b/perl-install/printer.pm
index f8e34452c..68127f0ff 100644
--- a/perl-install/printer.pm
+++ b/perl-install/printer.pm
@@ -269,6 +269,56 @@ $spooldir = "/var/spool/lpd";
#-#####################################################################################
sub set_prefix($) { $prefix = $_[0]; }
+
+sub default_queue($) { (split '\|', $_[0])[0] }
+
+sub copy_printer_params($$) {
+ my ($from, $to) = @_;
+ map { $to->{$_} = $from->{$_} } grep { $_ ne 'configured' } keys %$from; #- avoid cycles.
+}
+
+sub getinfo($) {
+ my ($prefix) = @_;
+ my $printer = {};
+
+ set_prefix($prefix);
+ read_configured_queue($printer);
+
+ add2hash($printer, {
+ want => 0,
+ complete => 0,
+ str_type => $printer::printer_type_default,
+ QUEUE => "lp",
+ SPOOLDIR => "/var/spool/lpd/lp",
+ DBENTRY => "PostScript",
+ PAPERSIZE => "letter",
+ ASCII_TO_PS => undef,
+ CRLF => undef,
+ NUP => 1,
+ RTLFTMAR => 18,
+ TOPBOTMAR => 18,
+ AUTOSENDEOF => 1,
+
+ DEVICE => "/dev/lp0",
+
+ REMOTEHOST => "",
+ REMOTEQUEUE => "",
+
+ NCPHOST => "", #-"printerservername",
+ NCPQUEUE => "", #-"queuename",
+ NCPUSER => "", #-"user",
+ NCPPASSWD => "", #-"pass",
+
+ SMBHOST => "", #-"hostname",
+ SMBHOSTIP => "", #-"1.2.3.4",
+ SMBSHARE => "", #-"printername",
+ SMBUSER => "", #-"user",
+ SMBPASSWD => "", #-"passowrd",
+ SMBWORKGROUP => "", #-"AS3",
+ });
+ $printer;
+}
+
#-*****************************************************************************
#- read function
#-*****************************************************************************
@@ -281,7 +331,7 @@ sub read_printer_db(;$) {
%thedb and return;
my %available_devices; #- keep only available devices in our database.
- local *AVAIL; open AVAIL, (!$::testing && "chroot ") . "$prefix/usr/bin/gs --help |";
+ local *AVAIL; open AVAIL, ($::testing ? "$prefix" : "chroot $prefix ") . "/usr/bin/gs --help |";
foreach (<AVAIL>) {
if (/^Available devices:/ ... /^\S/) {
@available_devices{split /\s+/, $_} = () if /^\s+/;
@@ -297,10 +347,7 @@ sub read_printer_db(;$) {
while (<DBPATH>) {
if (/^StartEntry:\s(\w*)/) {
- my $entryname = $1;
- my $entry;
-
- $entry->{ENTRY} = $entryname;
+ my $entry = { ENTRY => $1 };
WHILE :
while (<DBPATH>) {
@@ -318,23 +365,23 @@ sub read_printer_db(;$) {
}
};
/Resolution:\s*{(.*)}\s*{(.*)}\s*{(.*)}/
- and do { push @{$entry->{RESOLUTION}}, { XDPI => $1, YDPI => $2, DESCR => $3 }; last SWITCH };
+ and do { push @{$entry->{RESOLUTION} ||= []}, { XDPI => $1, YDPI => $2, DESCR => $3 }; last SWITCH };
/BitsPerPixel:\s*{(.*)}\s*{(.*)}/
- and do { push @{$entry->{BITSPERPIXEL}}, {DEPTH => $1, DESCR => $2}; last SWITCH };
+ and do { push @{$entry->{BITSPERPIXEL} ||= []}, {DEPTH => $1, DESCR => $2}; last SWITCH };
/EndEntry/ and last WHILE;
}
}
if (exists $available_devices{$entry->{GSDRIVER}}) {
- $thedb{$entryname} = $entry;
+ $thedb{$entry->{ENTRY}} = $entry;
$thedb_gsdriver{$entry->{GSDRIVER}} = $entry;
}
}
}
@entries_db_short = sort keys %printer::thedb;
- @entry_db_description = map { $printer::thedb{$_}{DESCR} } @entries_db_short;
%descr_to_db = map { $printer::thedb{$_}{DESCR}, $_ } @entries_db_short;
+ @entry_db_description = keys %descr_to_db;
%db_to_descr = reverse %descr_to_db;
}
@@ -350,15 +397,14 @@ sub create_spool_dir($) {
my ($queue_path) = @_;
my $complete_path = "$prefix/$queue_path";
- unless (-d $complete_path) {
- mkdir "$complete_path", 0755
- or die "An error has occurred - can't create $complete_path : $!";
- }
+ commands::mkdir_("-p", $complete_path);
- #-redhat want that "drwxr-xr-x root lp"
- my $gid_lp = (getpwnam("lp"))[3];
- chown 0, $gid_lp, $complete_path
- or die "An error has occurred - can't chgrp $complete_path to lp $!";
+ unless ($::testing) {
+ #-redhat want that "drwxr-xr-x root lp"
+ my $gid_lp = (getpwnam("lp"))[3];
+ chown 0, $gid_lp, $complete_path
+ or die "An error has occurred - can't chgrp $complete_path to lp $!";
+ }
}
#------------------------------------------------------------------------------
@@ -394,9 +440,8 @@ my $intro_printcap_test = "
# Please don't edit this file directly unless you know what you are doing!
# Look at the printcap(5) man page for more info.
# Be warned that the control-panel printtool requires a very strict format!
-# Look at the printcap(5) man page for more info.
#
-# This file can be edited with the printtool in the control-panel.
+# This file can be edited with printerdrake or printtool.
#
";
@@ -446,9 +491,9 @@ sub read_configured_queue($) {
local *F; open F, "$prefix$entry->{SPOOLDIR}/general.cfg" or next;
foreach (<F>) {
chomp;
- if (/^\s*(?:export\s+)PRINTER_TYPE=(.*?)\s*$/) { $entry->{TYPE} = $1 unless defined $entry->{TYPE} }
- elsif (/^\s*(?:export\s+)ASCII_TO_PS=(.*?)\s*$/) { $entry->{ASCII_TO_PS} = $1 eq 'YES' unless defined $entry->{ASCII_TO_PS} }
- elsif (/^\s*(?:export\s+)PAPER_SIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
+ if (/^\s*(?:export\s+)?PRINTER_TYPE=(.*?)\s*$/) { $entry->{TYPE} = $1 unless defined $entry->{TYPE} }
+ elsif (/^\s*(?:export\s+)?ASCII_TO_PS=(.*?)\s*$/) { $entry->{ASCII_TO_PS} = $1 eq 'YES' unless defined $entry->{ASCII_TO_PS} }
+ elsif (/^\s*(?:export\s+)?PAPER_SIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
}
close F;
}
@@ -459,17 +504,17 @@ sub read_configured_queue($) {
local *F; open F, "$prefix$entry->{SPOOLDIR}/postscript.cfg" or next;
foreach (<F>) {
chomp;
- if (/^\s*(?:export\s+)GSDEVICE=(.*?)\s*$/) { $entry->{DBENTRY} = $thedb_gsdriver{$1}{ENTRY} unless defined $entry->{DBENTRY} }
- elsif (/^\s*(?:export\s+)RESOLUTION=(.*?)\s*$/) { $entry->{RESOLUTION} = $1 unless defined $entry->{RESOLUTION} }
- elsif (/^\s*(?:export\s+)COLOR=-dBitsPerPixel=(.*?)\s*$/) { $entry->{COLOR} = $1 unless defined $entry->{COLOR} }
- elsif (/^\s*(?:export\s+)COLOR=(.*?)\s*$/) { $entry->{COLOR} = $1 ? $1 : 'Default' unless defined $entry->{COLOR} }
- elsif (/^\s*(?:export\s+)PAPERSIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
- elsif (/^\s*(?:export\s+)EXTRA_GS_OPTIONS=(.*?)\s*$/) { $entry->{EXTRA_GS_OPTIONS} = $1 unless defined $entry->{EXTRA_GS_OPTIONS}; $entry->{EXTRA_GS_OPTIONS} =~ s/^\"(.*)\"/$1/ }
- elsif (/^\s*(?:export\s+)REVERSE_ORDER=(.*?)\s*$/) { $entry->{REVERSE_ORDER} = $1 unless defined $entry->{REVERSE_ORDER} }
- elsif (/^\s*(?:export\s+)PS_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} eq 'PostScript' unless defined $entry->{AUTOSENDEOF} }
- elsif (/^\s*(?:export\s+)NUP=(.*?)\s*$/) { $entry->{NUP} = $1 unless defined $entry->{NUP} }
- elsif (/^\s*(?:export\s+)RTLFTMAR=(.*?)\s*$/) { $entry->{RTLFTMAR} = $1 unless defined $entry->{RTLFTMAR} }
- elsif (/^\s*(?:export\s+)TOPBOTMAR=(.*?)\s*$/) { $entry->{TOPBOTMAR} = $1 unless defined $entry->{TOPBOTMAR} }
+ if (/^\s*(?:export\s+)?GSDEVICE=(.*?)\s*$/) { $entry->{GSDRIVER} = $1 unless defined $entry->{GSDRIVER} }
+ elsif (/^\s*(?:export\s+)?RESOLUTION=(.*?)\s*$/) { $entry->{RESOLUTION} = $1 unless defined $entry->{RESOLUTION} }
+ elsif (/^\s*(?:export\s+)?COLOR=-dBitsPerPixel=(.*?)\s*$/) { $entry->{COLOR} = $1 unless defined $entry->{COLOR} }
+ elsif (/^\s*(?:export\s+)?COLOR=(.*?)\s*$/) { $entry->{COLOR} = $1 ? $1 : 'Default' unless defined $entry->{COLOR} }
+ elsif (/^\s*(?:export\s+)?PAPERSIZE=(.*?)\s*$/) { $entry->{PAPERSIZE} = $1 unless defined $entry->{PAPERSIZE} }
+ elsif (/^\s*(?:export\s+)?EXTRA_GS_OPTIONS=(.*?)\s*$/) { $entry->{EXTRA_GS_OPTIONS} = $1 unless defined $entry->{EXTRA_GS_OPTIONS}; $entry->{EXTRA_GS_OPTIONS} =~ s/^\"(.*)\"/$1/ }
+ elsif (/^\s*(?:export\s+)?REVERSE_ORDER=(.*?)\s*$/) { $entry->{REVERSE_ORDER} = $1 unless defined $entry->{REVERSE_ORDER} }
+ elsif (/^\s*(?:export\s+)?PS_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} eq 'PostScript' unless defined $entry->{AUTOSENDEOF} }
+ elsif (/^\s*(?:export\s+)?NUP=(.*?)\s*$/) { $entry->{NUP} = $1 unless defined $entry->{NUP} }
+ elsif (/^\s*(?:export\s+)?RTLFTMAR=(.*?)\s*$/) { $entry->{RTLFTMAR} = $1 unless defined $entry->{RTLFTMAR} }
+ elsif (/^\s*(?:export\s+)?TOPBOTMAR=(.*?)\s*$/) { $entry->{TOPBOTMAR} = $1 unless defined $entry->{TOPBOTMAR} }
}
close F;
}
@@ -480,17 +525,17 @@ sub read_configured_queue($) {
local *F; open F, "$prefix$entry->{SPOOLDIR}/textonly.cfg" or next;
foreach (<F>) {
chomp;
- if (/^\s*(?:export\s+)TEXTONLYOPTIONS=(.*?)\s*$/) { $entry->{TEXTONLYOPTIONS} = $1 unless defined $entry->{TEXTONLYOPTIONS}; $entry->{TEXTONLYOPTIONS} =~ s/^\"(.*)\"/$1/ }
- elsif (/^\s*(?:export\s+)CRLFTRANS=(.*?)\s*$/) { $entry->{CRLF} = $1 eq 'YES' unless defined $entry->{CRLF} }
- elsif (/^\s*(?:export\s+)TEXT_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} ne 'PostScript' unless defined $entry->{AUTOSENDEOF} }
+ if (/^\s*(?:export\s+)?TEXTONLYOPTIONS=(.*?)\s*$/) { $entry->{TEXTONLYOPTIONS} = $1 unless defined $entry->{TEXTONLYOPTIONS}; $entry->{TEXTONLYOPTIONS} =~ s/^\"(.*)\"/$1/ }
+ elsif (/^\s*(?:export\s+)?CRLFTRANS=(.*?)\s*$/) { $entry->{CRLF} = $1 eq 'YES' unless defined $entry->{CRLF} }
+ elsif (/^\s*(?:export\s+)?TEXT_SEND_EOF=(.*?)\s*$/) { $entry->{AUTOSENDEOF} = $1 eq 'YES' && $entry->{DBENTRY} ne 'PostScript' unless defined $entry->{AUTOSENDEOF} }
}
close F;
}
#- get extra parameters for SMB or NCP type queue.
foreach (values %{$printer->{configured}}) {
- if ($_->{TYPE} eq 'SMB') {
- my $entry = $_;
+ my $entry = $_;
+ if ($entry->{TYPE} eq 'SMB') {
my $config_file = "$prefix$entry->{SPOOLDIR}/.config";
local *F; open F, "$config_file" or next; #die "Can't open $config_file $!";
foreach (<F>) {
@@ -509,8 +554,7 @@ sub read_configured_queue($) {
}
}
close F;
- } elsif ($_->{TYPE} eq 'NCP') {
- my $entry = $_;
+ } elsif ($entry->{TYPE} eq 'NCP') {
my $config_file = "$prefix$entry->{SPOOLDIR}/.config";
local *F; open F, "$config_file" or next; #die "Can't open $config_file $!";
foreach (<F>) {
@@ -532,12 +576,7 @@ sub read_configured_queue($) {
sub configure_queue($) {
my ($entry) = @_;
-
- $entry->{SPOOLDIR} ||= "$spooldir/$entry->{QUEUE}";
- $entry->{IF} ||= "$entry->{SPOOLDIR}/filter";
- $entry->{AF} ||= "$entry->{SPOOLDIR}/acct";
-
- my $queue_path = "$entry->{SPOOLDIR}";
+ my $queue_path = "$entry->{SPOOLDIR}";
create_spool_dir($queue_path);
my $get_name_file = sub {
@@ -568,7 +607,7 @@ sub configure_queue($) {
$fieldname{extragsoptions} = "\"$entry->{EXTRA_GS_OPTIONS}\"";
$fieldname{pssendeof} = $entry->{AUTOSENDEOF} ? ($dbentry->{GSDRIVER} eq "POSTSCRIPT" ? "YES" : "NO") : "NO";
$fieldname{nup} = $entry->{NUP};
- $fieldname{rtlftmar} = $entry->{RTFLTMAR};
+ $fieldname{rtlftmar} = $entry->{RTLFTMAR};
$fieldname{topbotmar} = $entry->{TOPBOTMAR};
create_config_file($filein, $file, %fieldname);
@@ -605,15 +644,16 @@ sub configure_queue($) {
#-now the printcap file, note this one contains all the printer (use configured for that).
local *PRINTCAP;
- if ($::testing) {
- *PRINTCAP = *STDOUT;
- } else {
- open PRINTCAP, ">$prefix/etc/printcap" or die "Can't open printcap file $!";
- }
+ open PRINTCAP, ">$prefix/etc/printcap" or die "Can't open printcap file $!";
print PRINTCAP $intro_printcap_test;
foreach (values %{$entry->{configured}}) {
- my $db_ = $thedb{($_->{DBENTRY})} or die "no dbentry";
+ $_->{DBENTRY} = $thedb_gsdriver{$_->{GSDRIVER}}{ENTRY} unless defined $_->{DBENTRY};
+ my $db_ = $thedb{$_->{DBENTRY}} or next; #die "no dbentry";
+
+ $_->{SPOOLDIR} ||= "$spooldir/" . default_queue($_->{QUEUE});
+ $_->{IF} ||= "$_->{SPOOLDIR}/filter";
+ $_->{AF} ||= "$_->{SPOOLDIR}/acct";
printf PRINTCAP "##PRINTTOOL3## %s %s %s %s %s %s %s%s\n",
$_->{TYPE} || '{}',
> 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
package crypto; # $Id$

use diagnostics;
use strict;

use vars qw(%url2land %land2tzs %static_mirrors %mirrors);

use MDK::Common::System;
use common;
use log;
use ftp;

%url2land = (
	     at => N("Austria"),
	     au => N("Australia"),
	     be => N("Belgium"),
	     br => N("Brazil"),
	     ca => N("Canada"),
	     ch => N("Switzerland"),
	     cr => N("Costa Rica"),
	     cz => N("Czech Republic"),
	     de => N("Germany"),
	     dk => N("Denmark"),
	     ee => N("Estonia"),
	     es => N("Spain"),
	     fi => N("Finland"),
	     fr => N("France"),
	     gr => N("Greece"),
	     hu => N("Hungary"),
	     ie => N("Ireland"),
	     il => N("Israel"),
	     it => N("Italy"),
	     jp => N("Japan"),
	     nl => N("Netherlands"),
	     no => N("Norway"),
	     nz => N("New Zealand"),
	     pl => N("Poland"),
	     pt => N("Portugal"),
	     ru => N("Russia"),
	     se => N("Sweden"),
	     sk => N("Slovakia"),
	     th => N("Thailand"),
	     tw => N("Taiwan"),
	     za => N("South Africa"),
	    );

%land2tzs = (
	     N("Australia") => [ 'Australia/Sydney' ],
	     N("Austria") => [ 'Europe/Vienna', 'Europe/Brussels', 'Europe/Berlin' ],
	     N("Belgium") => [ 'Europe/Brussels', 'Europe/Paris', 'Europe/Berlin' ],
	     N("Brazil") => [ 'Brazil/East' ],
	     N("Canada") => [ 'Canada/Atlantic', 'Canada/Eastern' ],
	     N("Czech Republic") => [ 'Europe/Prague', 'Europe/Berlin' ],
	     N("Denmark") => [ 'Europe/Copenhagen', 'Europe/Berlin' ],
	     N("Estonia") => [ 'Europe/Tallinn', 'Europe/Helsinki' ],
	     N("Finland") => [ 'Europe/Helsinki', 'Europe/Tallinn' ],
	     N("France") => [ 'Europe/Paris', 'Europe/Brussels', 'Europe/Berlin' ],
	     N("Germany") => [ 'Europe/Berlin', 'Europe/Prague' ],
	     N("Greece") => [ 'Europe/Athens', 'Europe/Prague' ],
	     N("Hungary") => [ 'Europe/Budapest' ],
	     N("Ireland") => [ 'Europe/Dublin', 'Europe/London' ],
	     N("Israel") => [ 'Asia/Tel_Aviv' ],
	     N("Italy") => [ 'Europe/Rome', 'Europe/Brussels', 'Europe/Paris' ],
	     N("Japan") => [ 'Asia/Tokyo', 'Asia/Seoul' ],
	     N("Netherlands") => [ 'Europe/Amsterdam', 'Europe/Brussels', 'Europe/Berlin' ],
	     N("New Zealand") => [ 'Pacific/Auckland' ],
	     N("Norway") => [ 'Europe/Oslo', 'Europe/Stockholm' ],
	     N("Poland") => [ 'Europe/Warsaw' ],
	     N("Portugal") => [ 'Europe/Lisbon', 'Europe/Madrid' ],
	     N("Russia") => [ 'Europe/Moscow', ],
	     N("Slovakia") => [ 'Europe/Bratislava' ],
	     N("South Africa") => [ 'Africa/Johannesburg' ],
	     N("Spain") => [ 'Europe/Madrid', 'Europe/Lisbon' ],
	     N("Sweden") => [ 'Europe/Stockholm', 'Europe/Oslo' ],
	     N("Switzerland") => [ 'Europe/Zurich', 'Europe/Berlin', 'Europe/Brussels' ],
	     N("Taiwan") => [ 'Asia/Taipei', 'Asia/Seoul' ],
	     N("Thailand") => [ 'Asia/Bangkok', 'Asia/Seoul' ],
	     N("United States") => [ 'America/New_York', 'Canada/Atlantic', 'Asia/Tokyo', 'Australia/Sydney', 'Europe/Paris' ],
	    );

%static_mirrors = (
#		   "ackbar" => [ "Ackbar", "/updates", "a", "a" ],
		  );

%mirrors = ();

sub mirror2text { $mirrors{$_[0]} && $mirrors{$_[0]}[0] . '|' . $_[0] }
sub mirrors {
    my ($o_distro_type, $o_use_local_list) = @_;

    unless (keys %mirrors) {
	my $f;
	if ($o_use_local_list) {
	    $f = \*DATA;
	} else {
	    #- contact the following URL to retrieve the list of mirrors.
	    require http;
	    $f = http::getFile("http://www.mandrivalinux.com/mirrorsfull.list");
	}

	local $SIG{ALRM} = sub { die "timeout" };
	$o_use_local_list or alarm 60;
	my $distro_type = $o_distro_type || 'updates';
	my $sub_dir = $distro_type =~ /cooker|community/ ? '' : '/' . version() . '/main_updates';
	foreach (<$f>) {
	    my ($arch, $url, $dir) = m|$distro_type([^:]*):ftp://([^/]*)(/\S*)| or next;
	    MDK::Common::System::compat_arch($arch) or next;
	    my $land = N("United States");
	    foreach (keys %url2land) {
		my $qu = quotemeta $_;
		$url =~ /\.$qu(?:\..*)?$/ and $land = $url2land{$_};
	    }
	    $mirrors{$url} = [ $land, $dir . $sub_dir ];
	}
	unless ($o_use_local_list) {
	    http::getFile('/XXX'); #- close connection.
	    alarm 0; 
	}

	#- now add static mirror (in case of something wrong happened above).
	add2hash(\%mirrors, \%static_mirrors);
    }
    keys %mirrors;
}

sub bestMirror {
    my ($string, $o_distro_type) = @_;
    my %mirror2value;

    foreach my $url (mirrors($o_distro_type)) {
	my $value = 0;
	my $cvalue = mirrors($o_distro_type);

	$mirror2value{$url} ||= 1 + $cvalue;
	foreach (@{$land2tzs{$mirrors{$url}[0]} || []}) {
	    $_ eq $string and $mirror2value{$url} > $value and $mirror2value{$url} = $value;
	    (split '/')[0] eq (split '/', $string)[0] and $mirror2value{$url} > $cvalue and $mirror2value{$url} = $cvalue;
	    ++$value;
	}
    }
    my $min_value = min(values %mirror2value);

    my @possible = (grep { $mirror2value{$_} == $min_value } keys %mirror2value) x 2; #- increase probability
    push @possible, grep { $mirror2value{$_} == 1 + $min_value } keys %mirror2value;

    $possible[rand @possible];
}

#- hack to retrieve Mandrakelinux version...
sub version() {
    require pkgs;
    my $pkg = pkgs::packageByName($::o->{packages}, 'mandrakelinux-release');
    $pkg && $pkg->version || '9.1'; #- safe but dangerous ;-)
}

sub dir { $mirrors{$_[0]}[1] }
sub ftp($) { ftp::new($_[0], dir($_[0])) }

sub getFile {
    my ($file, $o_host) = @_;
    my $host = $o_host || $crypto::host;
    my $dir = dir($host);
    log::l("getting crypto file $file on directory $dir with login $mirrors{$host}[2]");
    my ($ftp, $retr) = ftp::new($host, $dir,
				if_($mirrors{$host}[2], $mirrors{$host}[2]),
				if_($mirrors{$host}[3], $mirrors{$host}[3])
			       );
    $$retr->close if $$retr;
    $$retr   = $ftp->retr($file) or ftp::rewindGetFile();
    $$retr ||= $ftp->retr($file);
}

sub getPackages {
    my ($packages, $mirror) = @_;

    $crypto::host = $mirror;

    #- get pubkey file first as we cannot handle 2 files opened simultaneously.
    my $pubkey;
    eval {
	my $fpubkey = getFile("media_info/pubkey", $mirror);
	$pubkey = [ $packages->parse_armored_file($fpubkey) ];
    };

    #- check first if there is something to get...
    my $fhdlist = getFile("media_info/hdlist.cz", $mirror);
    unless ($fhdlist) {
	log::l("no updates available, bailing out");
	return;
    }
    
    #- extract hdlist of crypto, then depslist.
    require pkgs;
    my $update_medium = pkgs::psUsingHdlist('ftp', $packages, "hdlist-updates.cz", "1u", "",
					    "Updates for Mandriva Linux " . version(), 1, $fhdlist, $pubkey);
    if ($update_medium) {
	log::l("read updates hdlist");
	#- keep in mind where is the URL prefix used according to mirror (for install_any::install_urpmi).
	$update_medium->{prefix} = "ftp://$mirror" . dir($mirror);
	#- (re-)enable the medium to allow install of package,
	#- make it an update medium (for install_any::install_urpmi).
	$update_medium->{selected} = 1;
	$update_medium->{update} = 1;

	$install_any::global_ftp_prefix = [ $mirror, dir($mirror) ]; #- host, dir (for install_any::getFile)

	#- search for packages to update.
	$packages->{rpmdb} ||= pkgs::rpmDbOpen();
	pkgs::selectPackagesToUpgrade($packages, $update_medium);
    }
    return $update_medium;
}

sub get {
    my ($mirror, $dir, @files) = @_;
    foreach (@files) {
	log::l("crypto: downloading $_");
	ftp($mirror)->get($_, "$dir/$_"); 
    }
    int @files;
}

1;

#- mirror list, hardcoded here to be used in mini-cds (ftp suppl. media)
__DATA__
communityi586:ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/mandrake/devel/community/i586/media/main
communityi586:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrake-devel/community/i586/media/main
communityi586:ftp://ftp.lip6.fr/pub/linux/distributions/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrake/devel/community/i586/media/main
communityi586:ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.tugraz.at/mirror/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.uninett.no/pub/unix/Linux/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://ftp.u-strasbg.fr/pub/linux/distributions/mandrakelinux/devel/community/i586/media/main
communityi586:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://jungle.metalab.unc.edu/pub/Linux/distributions/mandrake/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://mandrake.contactel.cz/Mandrakelinux/devel/community/i586/media/main
communityi586:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake-devel/community/i586/media/main
communityi586:rsync://ftp.sunet.se::Mandrakelinux/devel/community/i586/media/main
communityi586:rsync://mirrors.usc.edu::mandrakelinux/devel/community/i586/media/main
cookerppc:ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/mandrake/devel/cooker/ppc/media/main
cookerppc:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.club-internet.fr/pub/unix/linux/distributions/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrake-devel/cooker/ppc/media/main
cookerppc:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrake/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.tugraz.at/mirror/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://ftp.uninett.no/pub/unix/Linux/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://mandrake.contactel.cz/Mandrakelinux/devel/cooker/ppc/media/main
cookerppc:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake-devel/cooker/ppc/media/main
updatesppc:ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/mandrake/official/updates/ppc
updatesppc:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.club-internet.fr/pub/unix/linux/distributions/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.esat.net/pub/linux/mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.ikoula.com/pub/ftp.mandrake-linux.com/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrake/updates/ppc
updatesppc:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.pcds.ch/pub/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.ps.pl/mirrors/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.tugraz.at/mirror/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.uninett.no/pub/unix/Linux/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.uni-bayreuth.de/pub/linux/Mandrakelinux/official/updates/ppc
updatesppc:ftp://ftp.vat.tu-dresden.de/pub/Mandrakelinux/official/updates/ppc
updatesppc:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/official/updates/ppc
updatesppc:ftp://jungle.metalab.unc.edu/pub/Linux/distributions/mandrake/Mandrakelinux/official/updates/ppc
updatesppc:ftp://linux.cdpa.nsysu.edu.tw/pub/mandrake/updates/ppc
updatesppc:ftp://mandrake.contactel.cz/Mandrakelinux/official/updates/ppc
updatesppc:ftp://mandrake.mirrors.pair.com/Mandrakelinux/official/updates/ppc
updatesppc:ftp://mirrors.secsup.org/pub/linux/mandrake/Mandrakelinux/official/updates/ppc
updatesppc:ftp://spirit.profinet.sk/mirrors/Mandrake/updates/ppc
updatesppc:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/updates/ppc
updatesppc:ftp://updates.roma2.infn.it/linux/updates/mandrake/ppc
updatesppc:rsync://ftp.sunet.se::Mandrakelinux/official/updates/ppc
updatesppc:rsync://mirrors.usc.edu::mandrakelinux/official/updates/ppc
cookerx86_64:ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/mandrake/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.club-internet.fr/pub/unix/linux/distributions/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrake-devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrake/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.tugraz.at/mirror/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://ftp.uninett.no/pub/unix/Linux/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/devel/cooker/x86_64/media/main
cookerx86_64:ftp://mandrake.contactel.cz/Mandrakelinux/devel/cooker/x86_64/media/main
cookeri586:ftp://anorien.csc.warwick.ac.uk/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://bo.mirror.garr.it/pub/mirrors/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://carroll.cac.psu.edu/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://fr2.rpmfind.net/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.ale.org/pub/mirrors/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.aso.ee/pub/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.belnet.be/packages/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.bylinux.net/pub/mirror/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.cica.es/pub/Linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.ciril.fr/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.cise.ufl.edu/pub/mirrors/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.cs.ucr.edu/pub/mirrors/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.esat.net/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.fh-wolfenbuettel.de/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.fi.muni.cz/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.gtlib.cc.gatech.edu/pub/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.heanet.ie/pub/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.int-evry.fr/pub/linux/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.isu.net.sa/pub/mirrors/ftp.mandrake.com/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.kddlabs.co.jp/Linux/packages/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.linux.cz/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.lip6.fr/pub/linux/distributions/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.mandrake.ikoula.com/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.mirrorservice.org/pub/Mandrake_Linux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.ndlug.nd.edu/pub/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.neva.ru/Linux-Distrib/Mandrake/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.ntua.gr/pub/linux/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.phys.ttu.edu/pub/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.physics.auth.gr/pub/mirrors/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.planetmirror.com/pub/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.prew.hu/pub/Linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.ps.pl/mirrors/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.rediris.es/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.riken.go.jp/pub/Linux/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ftp.sun.ac.za/pub/linux/mandrake/pub/Linux/distributions/devel/cooker/i586/media/main
cookeri586:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.sunsite.org.uk/package/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.tuniv.szczecin.pl/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.u-strasbg.fr/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.uasw.edu/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.uio.no/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.uni-bayreuth.de/pub/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.uni-wuppertal.de/pub/linux/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.uninett.no/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp.vat.tu-dresden.de/pub/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://ftp3.mandrake.sk/mirrors/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://helios.dii.utk.edu/pub/linux/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://mandrake.contactel.cz/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mandrake.mirrors.pair.com/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mdk.linux.org.tw/pub/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.averse.net/pub/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.cs.wisc.edu/pub/mirrors/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.etf.bg.ac.yu/distributions/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.fis.unb.br/pub/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.pacific.net.au/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.switch.ch/mirror/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirror.usu.edu/mirrors/Mandrake/devel/cooker/i586/media/main
cookeri586:ftp://mirrors.secsup.org/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://mirrors.xmission.com/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://ramses.wh2.tu-dresden.de/pub/mirrors/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://raven.cslab.vt.edu/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://sunsite.cnlab-switch.ch/mirror/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://sunsite.icm.edu.pl/pub/Linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://sunsite.mff.cuni.cz/OS/Linux/Dist/Mandrake/mandrake/devel/cooker/i586/media/main
cookeri586:ftp://tux.cprm.net/pub/Mandrake/devel/cooker/i586/media/main
cookeri586:http://anorien.csc.warwick.ac.uk/mirrors/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://fr2.rpmfind.net/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://ftp.ale.org/pub/mirrors/mandrake/devel/cooker/i586/media/main
cookeri586:http://ftp.heanet.ie/pub/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://ftp.nluug.nl/ftp/pub/os/Linux/distr/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://ftp.rediris.es/pub/linux/distributions/mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://ftp.riken.go.jp/Linux/mandrake/devel/cooker/i586/media/main
cookeri586:http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://gd.tuwien.ac.at/pub/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://mandrake.mirrors.pair.com/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://mirror.hamakor.org.il/pub/mirrors/mandrake/devel/cooker/i586/media/main
cookeri586:http://mirror.pacific.net.au/linux/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:http://wftp.tu-chemnitz.de/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://carroll.cac.psu.edu/mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://ftp.fi.muni.cz/pub/linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://ftp.join.uni-muenster.de/mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://ftp.nluug.nl/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://ftp.riken.go.jp/mandrake/devel/cooker/i586/media/main
cookeri586:rsync://ftp.surfnet.nl/Mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://mirror.umr.edu/mandrake/devel/cooker/i586/media/main
cookeri586:rsync://rsync.mirrorservice.org/sunsite.uio.no/pub/unix/Linux/mandrakelinux/devel/cooker/i586/media/main
cookeri586:rsync://rsync.uni-bayreuth.de/Mandrakelinux/devel/cooker/i586/media/main
updatesi586:ftp://anorien.csc.warwick.ac.uk/Mandrakelinux/official/updates
updatesi586:ftp://bo.mirror.garr.it/pub/mirrors/Mandrake/official/updates
updatesi586:ftp://carroll.cac.psu.edu/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://chronos.iut-bm.univ-fcomte.fr/pub/linux/distributions/Mandrake/official/updates
updatesi586:ftp://distro.ibiblio.org/pub/Linux/distributions/mandrake/Mandrakelinux/official/updates
updatesi586:ftp://fr2.rpmfind.net/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ale.org/pub/mirrors/mandrake/official/updates
updatesi586:ftp://ftp.aso.ee/pub/Mandrake/official/updates
updatesi586:ftp://ftp.belnet.be/packages/mandrakelinux/official/updates
updatesi586:ftp://ftp.cica.es/pub/Linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ciril.fr/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.cise.ufl.edu/pub/mirrors/mandrake/Mandrakelinux/official/updates
updatesi586:ftp://ftp.cru.fr/pub/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.cs.ucr.edu/pub/mirrors/mandrakelinux/official/updates
updatesi586:ftp://ftp.cse.buffalo.edu/pub/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ens-cachan.fr/pub/Mandrakelinux/official/updates
updatesi586:ftp://ftp.esat.net/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.fh-wolfenbuettel.de/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/updates
updatesi586:ftp://ftp.fsn.hu/pub/linux/distributions/mandrake/official/updates
updatesi586:ftp://ftp.gtlib.cc.gatech.edu/pub/mandrake/official/updates
updatesi586:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.heanet.ie/pub/mandrake/Mandrakelinux/official/updates
updatesi586:ftp://ftp.iasi.roedu.net/mirrors/ftp.mandrake.com/official/updates
updatesi586:ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.int-evry.fr/pub/linux/mandrake/official/updates
updatesi586:ftp://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.isu.net.sa/pub/mirrors/ftp.mandrake.com/mandrakelinux/official/updates
updatesi586:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://ftp.kddlabs.co.jp/Linux/packages/Mandrake/official/updates
updatesi586:ftp://ftp.linux.cz/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.lip6.fr/pub/linux/distributions/Mandrakelinux/official/updates
updatesi586:ftp://ftp.mandrake.ikoula.com/Mandrakelinux/official/updates
updatesi586:ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/ftp/linux/mdl/official/updates
updatesi586:ftp://ftp.mirrorservice.org/pub/Mandrake_Linux/official/updates
updatesi586:ftp://ftp.mki.fh-duesseldorf.de/Mirror/Mandrake/official/updates
updatesi586:ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ndlug.nd.edu/pub/Mandrakelinux/official/updates
updatesi586:ftp://ftp.nectec.or.th/pub/linux-distributions/Mandrake/official/updates
updatesi586:ftp://ftp.neva.ru/Linux-Distrib/Mandrake/mandrakelinux/official/updates
updatesi586:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ntua.gr/pub/linux/mandrake/official/updates
updatesi586:ftp://ftp.phys.ttu.edu/pub/mandrakelinux/official/updates
updatesi586:ftp://ftp.physics.auth.gr/pub/mirrors/Mandrakelinux/official/updates
updatesi586:ftp://ftp.prew.hu/pub/Linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.ps.pl/mirrors/mandrake/official/updates
updatesi586:ftp://ftp.rediris.es/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://ftp.riken.go.jp/pub/Linux/mandrake/official/updates
updatesi586:ftp://ftp.song.fi/pub/mirrors/Mandrake-linux/official/updates
updatesi586:ftp://ftp.sun.ac.za/pub/linux/mandrake/pub/Linux/distributions/official/updates
updatesi586:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://ftp.sunsite.org.uk/package/mandrakelinux/official/updates
updatesi586:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/official/updates
updatesi586:ftp://ftp.task.gda.pl/pub/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.tuniv.szczecin.pl/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.u-strasbg.fr/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://ftp.uasw.edu/linux/mandrakelinux/official/updates
updatesi586:ftp://ftp.uio.no/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.uni-bayreuth.de/pub/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.unicamp.br/pub/mandrakelinux/official/updates
updatesi586:ftp://ftp.uninett.no/linux/Mandrakelinux/official/updates
updatesi586:ftp://ftp.univ-lille1.fr/pub/os/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://ftp.uvsq.fr/pub/mandrake/official/updates
updatesi586:ftp://ftp.uwsg.indiana.edu/linux/mandrake/official/updates
updatesi586:ftp://ftp.vat.tu-dresden.de/pub/Mandrakelinux/official/updates
updatesi586:ftp://ftp3.mandrake.sk/mirrors/Mandrakelinux/official/updates
updatesi586:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/official/updates
updatesi586:ftp://helios.dii.utk.edu/pub/linux/Mandrake/official/updates
updatesi586:ftp://mandrake.contactel.cz/Mandrakelinux/official/updates
updatesi586:ftp://mandrake.mirrors.pair.com/Mandrakelinux/official/updates
updatesi586:ftp://mdk.linux.org.tw/pub/mandrakelinux/official/updates
updatesi586:ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://mirror.averse.net/pub/Mandrakelinux/official/updates
updatesi586:ftp://mirror.cs.wisc.edu/pub/mirrors/linux/Mandrakelinux/official/updates
updatesi586:ftp://mirror.etf.bg.ac.yu/distributions/Mandrakelinux/official/updates
updatesi586:ftp://mirror.fis.unb.br/pub/linux/Mandrakelinux/official/updates
updatesi586:ftp://mirror.inspire.net.nz/mandrake//official/updates
updatesi586:ftp://mirror.pacific.net.au/linux/Mandrakelinux/official/updates
updatesi586:ftp://mirror.switch.ch/mirror/mandrake/official/updates
updatesi586:ftp://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/official/updates
updatesi586:ftp://mirror.usu.edu/mirrors/Mandrake/official/updates
updatesi586:ftp://mirrors.dotsrc.org/mandrake/official/updates
updatesi586:ftp://mirrors.ptd.net/mandrake/official/updates
updatesi586:ftp://mirrors.secsup.org/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:ftp://mirrors.xmission.com/mandrake/official/updates
updatesi586:ftp://ramses.wh2.tu-dresden.de/pub/mirrors/mandrake/official/updates
updatesi586:ftp://raven.cslab.vt.edu/pub/linux/mandrakelinux/official/updates
updatesi586:ftp://sunsite.cnlab-switch.ch/mirror/mandrake/official/updates
updatesi586:ftp://sunsite.icm.edu.pl/pub/Linux/mandrakelinux/official/updates
updatesi586:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/official/updates
updatesi586:ftp://sunsite.mff.cuni.cz/OS/Linux/Dist/Mandrake/mandrake/official/updates
updatesi586:ftp://tux.cprm.net/pub/Mandrake/official/updates
updatesi586:http://anorien.csc.warwick.ac.uk/mirrors/Mandrakelinux/official/updates
updatesi586:http://distro.ibiblio.org/pub/Linux/distributions/mandrake/Mandrakelinux/official/updates
updatesi586:http://fr2.rpmfind.net/linux/Mandrakelinux/official/updates
updatesi586:http://ftp.ale.org/pub/mirrors/mandrake/official/updates
updatesi586:http://ftp.club-internet.fr/pub/linux/Mandrakelinux/official/updates
updatesi586:http://ftp.esat.net/pub/linux/mandrakelinux/official/updates
updatesi586:http://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/updates
updatesi586:http://ftp.heanet.ie/pub/mandrake/Mandrakelinux/official/updates
updatesi586:http://ftp.iasi.roedu.net/mirrors/ftp.mandrake.com/official/updates
updatesi586:http://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/official/updates
updatesi586:http://ftp.isu.net.sa/pub/mirrors/ftp.mandrake.com/mandrakelinux/official/updates
updatesi586:http://ftp.kddlabs.co.jp/Linux/distributions/Mandrake/official/updates
updatesi586:http://ftp.nluug.nl/ftp/pub/os/Linux/distr/Mandrakelinux/official/updates
updatesi586:http://ftp.rediris.es/pub/linux/distributions/mandrakelinux/official/updates
updatesi586:http://ftp.riken.go.jp/Linux/mandrake/official/updates
updatesi586:http://ftp.sun.ac.za/ftp/mirrorsites/mandrakelinux/official/updates
updatesi586:http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/Mandrakelinux/official/updates
updatesi586:http://ftpdem.ubi.pt/mandrake/official/updates
updatesi586:http://gd.tuwien.ac.at/pub/linux/Mandrakelinux/official/updates
updatesi586:http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/official/updates
updatesi586:http://klid.dk/homeftp/mandrakelinux/official/updates
updatesi586:http://mandrake.mirrors.pair.com/Mandrakelinux/official/updates
updatesi586:http://mirror.averse.net/pub/Mandrakelinux/official/updates
updatesi586:http://mirror.etf.bg.ac.yu/distributions/Mandrakelinux/official/updates
updatesi586:http://mirror.hamakor.org.il/pub/mirrors/mandrake/official/updates
updatesi586:http://mirror.pacific.net.au/linux/Mandrakelinux/official/updates
updatesi586:http://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/official/updates
updatesi586:http://mirror.usu.edu/mirrors/Mandrake/official/updates
updatesi586:http://mirrors.dotsrc.org/mandrake/official/updates
updatesi586:http://sunsite.icm.edu.pl/pub/Linux/mandrakelinux/official/updates
updatesi586:http://wftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/updates
updatesi586:http://www.gtlib.cc.gatech.edu/pub/mandrake/official/updates
updatesi586:http://www.mirror.ac.uk/sites/sunsite.uio.no/ftp/linux/mdl/official/updates
updatesi586:http://www.sunsite.org.uk/package/mandrakelinux/official/updates
updatesi586:rsync://carroll.cac.psu.edu/mandrakelinux/official/updates
updatesi586:rsync://distro.ibiblio.org/distros/mandrake/Mandrakelinux/official/updates
updatesi586:rsync://ftp.esat.net/ftp/pub/linux/mandrakelinux/official/updates
updatesi586:rsync://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/updates
updatesi586:rsync://ftp.iasi.roedu.net/mandrake.com/official/updates
updatesi586:rsync://ftp.join.uni-muenster.de/mandrakelinux/official/updates
updatesi586:rsync://ftp.nluug.nl/Mandrakelinux/official/updates
updatesi586:rsync://ftp.riken.go.jp/mandrake/official/updates
updatesi586:rsync://ftp.surfnet.nl/Mandrakelinux/official/updates
updatesi586:rsync://mirror.umr.edu/mandrake/official/updates
updatesi586:rsync://rsync.gtlib.cc.gatech.edu/mandrake/official/updates
updatesi586:rsync://rsync.mirrorservice.org/sunsite.uio.no/pub/unix/Linux/mandrakelinux/official/updates
updatesi586:rsync://rsync.uni-bayreuth.de/Mandrakelinux/official/updates
officiali586:ftp://anorien.csc.warwick.ac.uk/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://bo.mirror.garr.it/pub/mirrors/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://chronos.iut-bm.univ-fcomte.fr/pub/linux/distributions/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://distro.ibiblio.org/pub/Linux/distributions/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://fr2.rpmfind.net/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ale.org/pub/mirrors/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.aso.ee/pub/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.belnet.be/packages/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.cica.es/pub/Linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ciril.fr/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.cru.fr/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.cs.ucr.edu/pub/mirrors/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.cse.buffalo.edu/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ens-cachan.fr/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.esat.net/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.fh-giessen.de/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.fh-wolfenbuettel.de/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.fsn.hu/pub/linux/distributions/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.gtlib.cc.gatech.edu/pub/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.heanet.ie/pub/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.iasi.roedu.net/mirrors/ftp.mandrake.com/official/10.1/i586/media/main/
officiali586:ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.informatik.hu-berlin.de/pub/Linux/Distributions/Mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.int-evry.fr/pub/linux/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.isu.net.sa/pub/mirrors/ftp.mandrake.com/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.kddlabs.co.jp/Linux/packages/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.linux.cz/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.lip6.fr/pub/linux/distributions/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.mandrake.ikoula.com/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/ftp/linux/mdl/official/10.1/i586/media/main/
officiali586:ftp://ftp.mirrorservice.org/pub/Mandrake_Linux/official/10.1/i586/media/main/
officiali586:ftp://ftp.mki.fh-duesseldorf.de/Mirror/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ndlug.nd.edu/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.neva.ru/Linux-Distrib/Mandrake/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ntua.gr/pub/linux/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.phys.ttu.edu/pub/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.physics.auth.gr/pub/mirrors/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.prew.hu/pub/Linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.ps.pl/mirrors/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.rediris.es/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.riken.go.jp/pub/Linux/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.song.fi/pub/mirrors/Mandrake-linux/official/10.1/i586/media/main/
officiali586:ftp://ftp.sun.ac.za/pub/linux/mandrake/pub/Linux/distributions/official/10.1/i586/media/main/
officiali586:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.sunsite.org.uk/package/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.tuniv.szczecin.pl/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.u-strasbg.fr/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uasw.edu/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uio.no/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uni-bayreuth.de/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uni-wuppertal.de/pub/linux/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.unicamp.br/pub/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uninett.no/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://ftp.uvsq.fr/pub/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.uwsg.indiana.edu/linux/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ftp.vat.tu-dresden.de/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://gd.tuwien.ac.at/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://linux.ntcu.net/dists/mandrake/official/10.1/i586/media/main/
officiali586:ftp://linux.ups-tlse.fr/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mandrake.contactel.cz/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mandrake.mirrors.pair.com/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mdk.linux.org.tw/pub/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.averse.net/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.cs.wisc.edu/pub/mirrors/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.etf.bg.ac.yu/distributions/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.fis.unb.br/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.inspire.net.nz/mandrake//official/10.1/i586/media/main/
officiali586:ftp://mirror.pacific.net.au/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.switch.ch/mirror/mandrake/official/10.1/i586/media/main/
officiali586:ftp://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirror.usu.edu/mirrors/Mandrake/official/10.1/i586/media/main/
officiali586:ftp://mirrors.dotsrc.org/mandrake/official/10.1/i586/media/main/
officiali586:ftp://mirrors.ptd.net/mandrake/official/10.1/i586/media/main/
officiali586:ftp://mirrors.secsup.org/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://mirrors.xmission.com/mandrake/official/10.1/i586/media/main/
officiali586:ftp://ramses.wh2.tu-dresden.de/pub/mirrors/mandrake/official/10.1/i586/media/main/
officiali586:ftp://sunsite.cnlab-switch.ch/mirror/mandrake/official/10.1/i586/media/main/
officiali586:ftp://sunsite.icm.edu.pl/pub/Linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/mandrake/official/10.1/i586/media/main/
officiali586:ftp://sunsite.mff.cuni.cz/OS/Linux/Dist/Mandrake/mandrake/official/10.1/i586/media/main/
officiali586:http://anorien.csc.warwick.ac.uk/mirrors/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://distro.ibiblio.org/pub/Linux/distributions/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://fr2.rpmfind.net/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.ale.org/pub/mirrors/mandrake/official/10.1/i586/media/main/
officiali586:http://ftp.club-internet.fr/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.esat.net/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.heanet.ie/pub/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.iasi.roedu.net/mirrors/ftp.mandrake.com/official/10.1/i586/media/main/
officiali586:http://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.kddlabs.co.jp/Linux/distributions/Mandrake/official/10.1/i586/media/main/
officiali586:http://ftp.nluug.nl/ftp/pub/os/Linux/distr/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.rediris.es/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.riken.go.jp/Linux/mandrake/official/10.1/i586/media/main/
officiali586:http://ftp.sun.ac.za/ftp/mirrorsites/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://gd.tuwien.ac.at/pub/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://klid.dk/homeftp/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mandrake.mirrors.pair.com/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mirror.averse.net/pub/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mirror.etf.bg.ac.yu/distributions/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mirror.hamakor.org.il/pub/mirrors/mandrake/official/10.1/i586/media/main/
officiali586:http://mirror.pacific.net.au/linux/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mirror.umr.edu/pub/linux/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:http://mirror.usu.edu/mirrors/Mandrake/official/10.1/i586/media/main/
officiali586:http://mirrors.dotsrc.org/mandrake/official/10.1/i586/media/main/
officiali586:http://sunsite.icm.edu.pl/pub/Linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://wftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:http://www.gtlib.cc.gatech.edu/pub/mandrake/official/10.1/i586/media/main/
officiali586:http://www.mirror.ac.uk/sites/sunsite.uio.no/ftp/linux/mdl/official/10.1/i586/media/main/
officiali586:http://www.sunsite.org.uk/package/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://carroll.cac.psu.edu/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://distro.ibiblio.org/distros/mandrake/Mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://ftp.esat.net/ftp/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://ftp.iasi.roedu.net/mandrake.com/official/10.1/i586/media/main/
officiali586:rsync://ftp.join.uni-muenster.de/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://ftp.nluug.nl/Mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://ftp.riken.go.jp/mandrake/official/10.1/i586/media/main/
officiali586:rsync://ftp.surfnet.nl/Mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://mirror.umr.edu/mandrake/official/10.1/i586/media/main/
officiali586:rsync://rsync.gtlib.cc.gatech.edu/mandrake/official/10.1/i586/media/main/
officiali586:rsync://rsync.mirrorservice.org/sunsite.uio.no/pub/unix/Linux/mandrakelinux/official/10.1/i586/media/main/
officiali586:rsync://rsync.uni-bayreuth.de/Mandrakelinux/official/10.1/i586/media/main/
updatesx86_64:ftp://anorien.csc.warwick.ac.uk/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://bo.mirror.garr.it/pub/mirrors/Mandrake/official/updates/x86_64
updatesx86_64:ftp://carroll.cac.psu.edu/pub/linux/distributions/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://distro.ibiblio.org/pub/Linux/distributions/mandrake/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://fr2.rpmfind.net/linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.ale.org/pub/mirrors/mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.aso.ee/pub/Mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.belnet.be/packages/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.cica.es/pub/Linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.ciril.fr/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.cru.fr/pub/linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.cs.ucr.edu/pub/mirrors/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.cse.buffalo.edu/pub/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.ens-cachan.fr/pub/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.esat.net/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.fh-wolfenbuettel.de/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.fi.muni.cz/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.fsn.hu/pub/linux/distributions/mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.gtlib.cc.gatech.edu/pub/mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.gwdg.de/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.heanet.ie/pub/mandrake/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.icm.edu.pl/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.isu.edu.tw/pub/Linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.isu.net.sa/pub/mirrors/ftp.mandrake.com/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.join.uni-muenster.de/pub/linux/distributions/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.kddlabs.co.jp/Linux/packages/Mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.linux.cz/pub/linux/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.lip6.fr/pub/linux/distributions/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.mandrake.ikoula.com/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.mirror.ac.uk/sites/sunsite.uio.no/ftp/linux/mdl/official/updates/x86_64
updatesx86_64:ftp://ftp.mirrorservice.org/pub/Mandrake_Linux/official/updates/x86_64
updatesx86_64:ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.ndlug.nd.edu/pub/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.nectec.or.th/pub/linux-distributions/Mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.phys.ttu.edu/pub/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.physics.auth.gr/pub/mirrors/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.ps.pl/mirrors/mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.rediris.es/pub/linux/distributions/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.riken.go.jp/pub/Linux/mandrake/official/updates/x86_64
updatesx86_64:ftp://ftp.sunet.se/pub/Linux/distributions/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.sunsite.org.uk/package/mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.surfnet.nl/pub/os/Linux/distr/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.task.gda.pl/pub/linux/Mandrakelinux/official/updates/x86_64
updatesx86_64:ftp://ftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/updates/x86_64