...and as hublist & version info downloads are important I think its a problem for many DC++ users because downloading through Coral is the default setting. Yes, it can be disabled but its not obivious for the majority.
Also, a failed version information download in the Aboutbox was a good starting point making support before, which isn't the case since Coral downloads enabled. The attached patch should solve this as it forces retrying the download from the original address in case of a failed connect to the Coral network. On fail It will retry with the non-coralized address unless the address contains nyud.net. On fails occured after HTTP GET sent it won't retry as this can mess up the listener's download buffer.
So this modification is merely for eliminate the problem when Coral network is completly unreachable (which seems often the case in the in large parts of the world except Western-Europe and North-America).
There are two commented lines beginning with question marks in the patch as
1. I can't decide the retrying behavior is needed in case of redirects or not
2. I wondered why HTTPConnection does not handle HTTP error 301 (Moved permanently) redirects in general.
1) I think it should first try coral on the redirect to address as well...
2) It probably makes sense to follow 301 too
3) No need to typedef enums in c++...enum Name { A, B, C } works fine and is shorter...