Hi,
My name is Sreenatha Bhatlapenumarthi. I'd like to migrate TorBEL from TorCtl to Stem as a part of GSoC'13 project this summer.
Damian pointed out that there is still some improvement to be made to TorBEL to replace DNSEL. I've downloaded the source code from [0] and started looking around for missing functionality and components that use TorCtl(and hence need migration) and here is what I've observed:
- TorBEL components that use TorCtl - Controller - control.py - Logger - logger.py - Router - router.py - Tests - tests.py - The main interface - torbel - Exit policies of narrow_exit routers can be checked in Router.will_exit_to[1] - RouterRecord.update_to()[2] can use "Router Status Entry" descriptors[3] to update the router's attributes - I think the following line[4] in network.py has a bug - socket.inet_aton works only for IPv4 addresses[5]. - (ip,) = struct.unpack(">I", socket.inet_aton(peer.host))
Please let me know if I've missed something or got something wrong.
I donot have any background on Haskell as such but if you recommend that I learn it inorder to understand TorDNSEL, I am prepared to spend the required amount of time learning it during May before the coding period starts. Also, can you give me a rough estimate of how long you think the migration will take so that I can plan the project timeline accordingly?
Thanks for taking your time out to read this.
[0] - https://git.torproject.org/torbel.git [1] - https://github.com/lucyd/torbel/blob/master/query.py#L85 [2] - https://github.com/lucyd/torbel/blob/master/router.py#L125 [3] - https://stem.torproject.org/api/descriptor/router_status_entry.html#stem.des... [4] - https://github.com/lucyd/torbel/blob/master/network.py#L75 [5] - http://docs.python.org/2/library/socket.html#socket.inet_aton
Cheers, Sreenatha