[tor-bugs] #11331 [Tor]: rewrite tor in rust-lang

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Jun 23 17:35:36 UTC 2015


#11331: rewrite tor in rust-lang
-----------------------------+---------------------------------
     Reporter:  cypherpunks  |      Owner:
         Type:  project      |     Status:  new
     Priority:  normal       |  Milestone:  Tor: very long term
    Component:  Tor          |    Version:
   Resolution:               |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+---------------------------------

Comment (by frewsxcv):

 I'm really interested in getting the ball moving for this. I'm going to
 look how the Mozilla devs integrated Rust into Firefox. Also, like nickm
 said in the previous comment, this should be done module by module. nickm
 gave me suggestions on IRC:


 {{{
 10:32 AM <nickm> frewsxcv: the workqueue.c code is a bit independent, is
 inherently threaded, and might be a good test of one's rust skills.
 10:32 AM <nickm> frewsxcv: di_ops.c might be an even deeper test of
 whether-rust-can-even-do-that
 10:32 AM <nickm> frewsxcv: rewriting as much as possible of routerparse.c
 could have concrete benefits
 10:33 AM <nickm> frewsxcv: oh, in that case, try tor-resolv.c
 10:33 AM <nickm> it depends on nothing
 10:33 AM <nickm> Yawning: i think a wholesale rewrite is a bad choice, but
 that a piecemeal rewrite might be clever.
 10:33 AM <nickm> frewsxcv: also, dircollate.c is mostly algorithmic
 10:34 AM <nickm> Yawning: yeah but you already rewrote it in go
 10:34 AM <nickm> as for things where rust is a good choice, though, our
 inner loops are most important, and not very isolated :/
 }}}


 Also it looks like dhuseby has already written a config parser
 https://github.com/dhuseby/torrc-rs

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/11331#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list