-
Notifications
You must be signed in to change notification settings - Fork 710
wget
transport doesn't support range requests
#3799
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Is there a reason why wget is default? Can we paper this over by just changing the default? |
iirc the defaulting goes like this (not sure where powershell fits in):
|
After |
We could consider adjusting the default order when using the secure downloads, since we don't need https at all. So we could use an order of: explicitly-specified, http-plain. The motivation for curl/wget is https uploads, and https downloads for the classic 00-index, but it's not need for the secure 01-index stuff. |
HTTPS downloads are still a good idea for proprietary hackages. |
OK, so it sounds like this ticket should be solved with a warning instead. |
I'm looking for a way to test some patch I've written. Is there a way to specify the range request from the command line ? If not, which component actually sends these range headers ? |
@23Skidoo it's a good idea if they're not yet using the secure mode. So it's a property of secure / classic rather than central vs other. |
The idea is that when you're not using HTTPS someone sniffing the traffic can get the source code of your proprietary packages. |
#3841 fixed us to now warn if this happens. But the underlying bug still exists. |
I'm not sure what else we can do here besides maybe dropping support for |
Yep, nothing else for us to do here, as the bug is with |
@23Skidoo sure, but if you specify a public http:// hackage repo, you clearly don't need confidentiality; btw, does cabal even support using credentials (user/pass and/or ssl client certs) for private repos? So right now, I'd say that it's preferable to skip |
You can use https://user:pass@hackage URLs, it'll work with the |
wget
own logic can't cope with a partial 206 response when a range header is injected via e.g.instead it assumes the request to be faulty and retries; see also this SO question.
Instead,
wget
supports a--start-pos=
flag for range requests, however it doesn't allow to specify an end-position (nor a length). And our CDN doesn't seem to like open ended range requests of the styleThis appears to make
wget
currently unusable for performing incremental downloads of01-index.tar.gz
(NB:curl
andplain-http
both work fine).IMO,
cabal
should either refuse to usewget
for range-requests or fallback to full downloads and emit nasty warnings about wasting network bandwidth.../cc @dcoutts @gbaz
The text was updated successfully, but these errors were encountered: