Opened 7 years ago

Last modified 11 months ago

#3711 needs_revision task

Application support for optimistic data: Torsocks

Reported by: nickm Owned by: sysrqb
Priority: Medium Milestone:
Component: Core Tor/Torsocks Version:
Severity: Normal Keywords: performance roundtrip
Cc: iang@…, mwenge, Matthew.Finkel@…, dgoulet@… Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Now that Tor (as of 0.2.3.x) supports optimistic data, we should try to get torsocks to support it.

This won't be totally trivial, since we'll need to tell the application "yes, it connected" early, and then give an error if the connection actually happens. (Perhaps we can get away with doing an early shutdown() on the connection so that reads and writes fail, but the fd lingers. If not, we'll have to intercept read, write, pread, pwrite, writev, select, etc, so that we can give an error if needed.)

There was some discussion of this in the comments of #1849.

Child Tickets

TicketStatusOwnerSummaryComponent
#8066closedusewithtor + irssi + ssl = "Socks version 22 not recognized"Core Tor/Torsocks
#8702assigneddgouletSupport advanced polling features in OSCore Tor/Torsocks

Change History (15)

comment:1 Changed 7 years ago by nickm

Parent ID: #1849#3890

comment:2 Changed 7 years ago by iang

Cc: iang@… added

comment:3 Changed 7 years ago by mikeperry

Cc: mwenge added

Hey Robert. Do you think you might have cycles for this?

comment:4 Changed 7 years ago by arma

Keywords: performance added
Type: defecttask

comment:5 Changed 7 years ago by arma

Keywords: roundtrip added

comment:6 Changed 6 years ago by sysrqb

Cc: Matthew.Finkel@… added
Component: TorifyTorsocks
Owner: set to ioerror

Moving to Torsocks component now that we have it.

comment:7 Changed 6 years ago by sysrqb

Owner: changed from ioerror to sysrqb
Status: newassigned

comment:8 Changed 6 years ago by sysrqb

Status: assignedneeds_review

I have branch optdata in https://github.com/sysrqb/torsocks.git

It's not complete yet, but I appreciate any reviews. It's been tested on OSX 10.6, Debian and Gentoo using curl, wget, and git. Once it's complete I'll rebase in a different branch.

This patchset adds support for shimming recvmsg, read, write, send, recv, recvfrom, writev, readv, sendmmsg, recvmmsg, ppoll, pselect, epoll_wait, epoll_pwait

This list will likely grow to support many of the other relevant non-Linux and non-POSIX syscalls that are out there. Please point me in the right direction :)

comment:9 Changed 6 years ago by sysrqb

Ok, new branch bug3711 - heavily rebased. I've also moved the epoll, etc support to #8702 (branch forth-coming).

comment:10 Changed 6 years ago by sysrqb

Rebased some more after a few changes, now in bug3711_1

Add pull req to ioerror's GH, https://github.com/ioerror/torsocks/pull/2

comment:11 Changed 5 years ago by dgoulet

With the new version that I just released, optimistic data is still not there.

https://lists.torproject.org/pipermail/tor-dev/2013-August/005319.html

The reason is that I wanted to make sure the basic functionalities are reviewed, tested and working well with a fairly good test coverage (still in the making). Also, if this version is accepted by the community as a replacement to the current torsocks, I really want to add optimistic data as a new feature.

I already have a dev. branch (not ready for merge though) and started to play a bit with it. After a 2.0-stable release, this is certainly one of my main focus.

comment:12 Changed 5 years ago by dgoulet

Cc: dgoulet@… added

comment:13 Changed 4 years ago by arma

Parent ID: #3890

comment:14 Changed 4 years ago by arma

Status: needs_reviewneeds_revision

Setting to needs-revision to encourage David to show the world his dev branch.

comment:15 Changed 11 months ago by teor

Severity: Normal

Set all open tickets without a severity to "Normal"

Note: See TracTickets for help on using tickets.