Fix bug 10504: match download's sourceurl mangling in, updxlrator

Updatexlrator stores its files in a hash of the URL.

The download utility mangles the URL for [+/~], but
the updxlrator only does it for [/]. Thus, download
stores the result as one hash, and updxlrator looks for it
with a different hash. The result is that the file is
re-downloaded every time by both the client, and updxlrator.

This is fixed by making updxlrator mangle the url in the
same way as the downloader. apt-get install g++ would
be a good test for this.

Signed-off-by: Justin Luth  <jluth@mail.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Justin Luth
2017-12-29 17:12:27 +03:00
committed by Michael Tremer
parent e7bf3de34b
commit 39c0b5b3bc

View File

@@ -345,7 +345,9 @@ sub check_cache
my $sourceurl=$_[0];
my $cfmirror=$_[4];
$sourceurl =~ s@\%2b@+@ig;
$sourceurl =~ s@\%2f@/@ig;
$sourceurl =~ s@\%7e@~@ig;
$updfile = substr($sourceurl,rindex($sourceurl,"/")+1);
$updfile =~ s@\%20@ @ig;