From: Justin Luth Date: Fri, 29 Dec 2017 14:12:27 +0000 (+0300) Subject: Fix bug 10504: match download's sourceurl mangling in, updxlrator X-Git-Tag: v2.19-core118~3^2~57 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=39c0b5b3bcd9d4cf57437d1988df834a1800c66c 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  Signed-off-by: Michael Tremer --- diff --git a/config/updxlrator/updxlrator b/config/updxlrator/updxlrator index 2ddc6d8e44..b728902f6d 100644 --- a/config/updxlrator/updxlrator +++ b/config/updxlrator/updxlrator @@ -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;