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
--- I submitted the bug report and attached this patch three years ago, but the maintainer of updxlrator - although he incorporated it into his own ipcop packagea - has never released it (for ipcop) or any of the other promised updates that he has been working on (in ipfire).
I have a few more fixes for updxlrator that I want to submit, if this process goes well. --- config/updxlrator/updxlrator | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/config/updxlrator/updxlrator b/config/updxlrator/updxlrator index 2ddc6d8e4..b728902f6 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;