Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#3496 closed defect (wontfix)

Make obfsproxy an actual part of tor ?

Reported by: asn Owned by: asn
Priority: Medium Milestone:
Component: Archived/Obfsproxy Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


obfsproxy is currently orthogonal to tor, as far as the code is concerned. (probably not that orthogonal, as far its use is concerned though)

The thing is that I'll have to use tor functions in obfsproxy soon.
I'll *need* the constant time memcmp(), I'll need free() and malloc() wrappers and I'll surely find some use for smartlists and other high-level stuff that tor provides (like file IO functions etc.).

Instead of copying the whole src/common/ directory or heavily butchering src/common/ files so that they compile in obfsproxy, I could compile it as part of tor and have it reside in src/tools/ next to that tor-fw-helper.

What's your opinion on this?

Child Tickets

Change History (3)

comment:1 Changed 9 years ago by nickm

I'd rather get to a situation where Tor exports some of its library as a .a or a .so, and lets things link against it. Sticking X inside Y simply because X depends on part of Y is not really good software engineering.

For now, I'd just copy stuff verbatim if you really need it.


Also, this is to some extent a messaging/communication issue. One of the goals of obfsproxy is to show other people, "Hey, we wrote this pluggable transport thing, and we want you to write transports too!" Sticking one transport inside Tor would IMO send the message that it's the "official" transport, and that other transports should either try to get into the Tor source as well (ick), or that other transports are not as welcome.

comment:2 Changed 9 years ago by rransom

Resolution: wontfix
Status: newclosed

obfsproxy doesn't belong in the Tor source tree.

We should librarify Tor's src/common/ directory someday; that belongs in a separate ticket.

comment:3 Changed 9 years ago by arma

Component: Pluggable transportObfsproxy
Note: See TracTickets for help on using tickets.