[tor-bugs] #22840 [Core Tor/Tor]: Implement protover in Rust

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Oct 26 03:06:33 UTC 2017


#22840: Implement protover in Rust
-------------------------------------------------+-------------------------
 Reporter:  chelseakomlo                         |          Owner:
                                                 |  chelseakomlo
     Type:  enhancement                          |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.3.3.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  rust, protover, rust-pilot, review-  |  Actual Points:
  group-24                                       |
Parent ID:                                       |         Points:  3
 Reviewer:                                       |        Sponsor:
                                                 |  SponsorV
-------------------------------------------------+-------------------------

Comment (by chelseakomlo):

 See latest updates based on feedback at Tor Dev at
 `git at github.com:chelseakomlo/tor_patches.git`, branch `protover-rust-
 impl`. I can also rebase onto master and squash these commits after review
 if that would be helpful.

 Notable changes include:
 - Using tor_malloc for allocating in Rust (see /src/rust/tor_allocate),
 which enables us to later free in C. In the future we can use tor's
 allocator by default, so this is a temporary solution.
 - Changes to the build structure. Now we build a single Rust binary
 (similar to Gecko https://github.com/mozilla/gecko-
 dev/blob/master/toolkit/library/rust/shared/lib.rs#L5-L24)
 - Testing and other general code improvements

 Future improvements:
 - The module to translate smartlists into Rust vectors
 (/src/rust/smartlist) can be improved to use iterators to avoid an extra
 copy. I plan on doing this in a separate issue.
 - Logging should be added. This is tracked in #23881

 One thing that I think is less than ideal in this patch is the
 rearrangement of protover.c. Please let me know any recommendations of how
 to do this more cleanly.

 If anyone wants to talk through this on irc, please let me know! Looking
 forward to feedback and anything that can be can improved upon.

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


More information about the tor-bugs mailing list