Hello Justin,
and welcome to the team.
Thanks for your submission. Indeed we have not been touching update accelerator much in the last years. Some people have been working on forks but never submitted their changes and just uploaded them somewhere. Therefore I am happy that you had a look.
On Fri, 2017-12-29 at 17:12 +0300, Justin Luth wrote:
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.
Wouldn't it be a better idea to generally escape/unescape the URLs? There is a perl module that does that:
http://search.cpan.org/dist/URI/lib/URI/Escape.pm
Your changes certainly make sense, but there are more characters that could cause the same problem here.
Let me know if that would make sense, too.
Best, -Michael
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;