TODO: Add a way to request DNS resolves from the controller
Nick Mathewson
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:64.4.32.7
> > resolve 64.4.32.7
> > 250 OK
> > 650 RESOLVE 64.4.32.7: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
a controller.
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.
peace,
--
Nick Mathewson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 652 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20070705/e5176236/attachment.pgp>
More information about the tor-dev
mailing list