Matt matt@pagan.io writes:
If you're into C++ or Qt, we could use some help.
Technically I can claim to know those things, but it's been a while since I've used Qt, and never really their networking stuff.
I took a quick look, though, and it looks to me from Qt's docs that having the ConnectDialog do lookups "itself" is the (at lesat "a") problem. If instead all the QHostAddress objects used hostnames I *think* it would work -- but the dialog is ultimately using them to do pings, anyway (and by default hides everything which hasn't had a successful ping yet). So, that won't work over Tor anyway.
Basically, there doesn't seem to be a Qt API for using SOCKS5 to do "just" DNS lookups -- you can connect a tcp/udp stream using a QHostAddress that is not-yet-looked up, but can't simply ask the proxy for a DNS lookup.
One way to get lookups would be to contact a DNS server oneself via a SOCKS (Tor) connection -- but then you have to do DNS "yourself", which sounds like the wrong answer.
Another way would be to re-work ConnectDialog so that the "pinging" stuff is optional. (And turn off the "ShowReachable" option that hides all non-pingable servers).
For Cert.cpp, it seems to be simply confirming that a lookup succeeds for the certificate's domain provides some answer. Is that strictly necessary? Maybe another option here would be to try to tcp-connect to the certificate's hostname if there's some port that "should" be open...?