TODO: Add a way to request DNS resolves from the controller
nickm at freehaven.net
Thu Jul 5 17:38:13 UTC 2007
On Mon, Jul 02, 2007 at 10:55:09PM +0100, Robert Hogan wrote:
> On Monday 02 July 2007 22:21:12 Robert Hogan wrote:
> > On Wednesday 27 June 2007 17:20:06 Nick Mathewson wrote:
> > <snip>
> > > I think the approach you describe above is okay. It shouldn't break
> > > backward compatibility, since preexisting controllers will never issue
> > > RESOLVE commands, and so will never get "650 RESOLVE" events.
> > Hi Nick,
> > Patch attached. It supports host and reverse lookups.
> > Sample output:
> > resolve hotmail.com
> > 250 OK
> > 650 RESOLVE hotmail.com:126.96.36.199
> > resolve 188.8.131.52
> > 250 OK
> > 650 RESOLVE 184.108.40.206:lc1.bay0.hotmail.com
> > Let me know what needs cleaning up/reworking.
> For a start it didn't handle unknown hostnames, or any other error conditions.
> Nor did it respect the indentation in dnsserv.c. The attached does.
> I haven't included a write-up for controlspec.txt.
Almost there, and generally quite nice.
These issues remain, though:
- As written, if there's more than one controller that uses the
RESOLVE command, all of them are informed whenever _any_ of them
gets a "650 RESOLVE". (This is the big one, the rest are cosmetic
and easy to fix.)
- Using a new socks command isn't right here: this isn't new
functionality. Instead, it would probably be best to add a bit to
the edge_connection_t struct.
- evdns_server_control() is almost entirely cut-and-pated code.
That's bad. Common code should be in a function.
- The evdns_* prefix is reserved for functions in evdns.c.
- The handle_control_* prefix is for handling control commands from
I'll try to fix this stuff and check in the feature later today.
Please let me know if you'd rather do it yourself.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 652 bytes
Desc: not available
More information about the tor-dev