If the user typed an extremely long URL into the
Attach to Account Manager wizard, a buffer overrun could result.
There were several places in the code that assumed user-entered
URLs are small (e.g. 256 chars):
- canonicalize_master_url.cpp()
- several GUI RPC interfaces, when generating XML request message
- URL-escaping (not relevant here, but fix anyway)
Change all these to stay within buffers regardless of URL size.
Note: do this by truncation.
This will cause error messages like "can't connect to project"
rather than saying the URL is too long. That's OK.
http://username:passwd@host.dom.dom:port/file
(we weren't parsing the username and password before).
- client: fix the feature that lets you exclude a list of hosts
from going through the proxy.
svn path=/trunk/boinc/; revision=19513