Discussion:
[tor-dev] Rust rewrite help
Ivan Mandura
2017-12-23 22:13:06 UTC
Permalink
Hello,

My name is Ivan and I would like to help out with Rust rewrite.

I'm a huge fan of both Rust and TOR. Recently, I spent some time in China
and it made me realize the importance of a project like TOR.

Have experience with low-level code, being in DB industry for a few years
now.

Any pointers would be of huge help :)

Thanks,
Ivan
teor
2017-12-23 22:31:13 UTC
Permalink
Post by Ivan Mandura
Hello,
My name is Ivan and I would like to help out with Rust rewrite.
I'm a huge fan of both Rust and TOR. Recently, I spent some time in China and it made me realize the importance of a project like TOR.
Have experience with low-level code, being in DB industry for a few years now.
Any pointers would be of huge help :)
Hi Ivan,

Here are our getting started documents:
https://gitweb.torproject.org/tor.git/tree/doc/HACKING/GettingStartedRust.md
https://gitweb.torproject.org/tor.git/tree/doc/HACKING/GettingStarted.md

Our goal is to gradually add interchangeable Rust crates to Tor,
so that they can be used as alternatives to the corresponding C code.

You might find torguts helpful to understand Tor's current structure:
https://gitweb.torproject.org/user/nickm/torguts.git/tree/

Other Core Tor developers know much more about Rust than I do.
They can tell you if there is anywhere we are focusing on right now.

You can start by building Tor with Rust, and making sure the unit tests pass.
We use "make check" to run a bunch of tests.

T
Ivan Mandura
2017-12-24 01:55:23 UTC
Permalink
Thanks, successfully done it!

Will start reading docs. If somebody has something simple to start with
please send it my way.

IM
Post by Ivan Mandura
Hello,
My name is Ivan and I would like to help out with Rust rewrite.
I'm a huge fan of both Rust and TOR. Recently, I spent some time in China
and it made me realize the importance of a project like TOR.
Have experience with low-level code, being in DB industry for a few years now.
Any pointers would be of huge help :)
Hi Ivan,
https://gitweb.torproject.org/tor.git/tree/doc/HACKING/
GettingStartedRust.md
https://gitweb.torproject.org/tor.git/tree/doc/HACKING/GettingStarted.md
Our goal is to gradually add interchangeable Rust crates to Tor,
so that they can be used as alternatives to the corresponding C code.
https://gitweb.torproject.org/user/nickm/torguts.git/tree/
Other Core Tor developers know much more about Rust than I do.
They can tell you if there is anywhere we are focusing on right now.
You can start by building Tor with Rust, and making sure the unit tests pass.
We use "make check" to run a bunch of tests.
T
_______________________________________________
tor-dev mailing list
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
teor
2017-12-24 02:14:19 UTC
Permalink
Post by Ivan Mandura
Thanks, successfully done it!
Will start reading docs. If somebody has something simple to start with please send it my way.
If you want to modify existing code, this one looks easy:

Wrap types in protover.rs
https://trac.torproject.org/projects/tor/ticket/24030


If you like FFI from Rust to C, here are some options:

Wrap our sha2 interface in Rust which implements the appropriate traits
https://trac.torproject.org/projects/tor/ticket/24659

Wrap our PRNG interface(s) in Rust with appropriate traits
https://trac.torproject.org/projects/tor/ticket/24660


If you like testing, and FFI from C to Rust, and want to get involved
with our C-based unit tests - try these after your first patch?

Test all rust functions' behavior when called from C with bad UTF8
https://trac.torproject.org/projects/tor/ticket/24029

consdiff implementation in Rust
https://trac.torproject.org/projects/tor/ticket/24609
(Most people's repositories are on git.torproject.org.)


And here are all the Rust tickets:

https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=merge_ready&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&keywords=~rust&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority

T

--
Tim Wilson-Brown (teor)

teor2345 at gmail dot com
PGP C855 6CED 5D90 A0C5 29F6 4D43 450C BA7F 968F 094B
ricochet:ekmygaiu4rzgsk6n
xmpp: teor at torproject dot org
------------------------------------------------------------------------
grarpamp
2017-12-24 03:51:12 UTC
Permalink
Post by Ivan Mandura
Recently, I spent some time in China
and it made me realize the importance of a project like TOR.
Consider speaking of your experience
on the cypherpunks and/or liberation-tech lists,
anonymously if need be. Your contribution
is valued.

Loading...