Opened 7 years ago

Closed 7 years ago

#6798 closed project (fixed)

Create Vidalia Obfsproxy Bridge Bundle containing Tor 0.2.4.2-alpha

Reported by: karsten Owned by: erinn
Priority: Medium Milestone:
Component: Applications/Tor bundles/installation Version:
Severity: Keywords: SponsorG20120930
Cc: nickm, chiiph, asn, Shondoit Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Tor 0.2.4.2-alpha will contain #3589 which makes bridges advertise their pluggable transports in extra-info descriptors and #4567 which extends Tor's UPnP support to open pluggable transport ports, too.

We promised to the sponsor to deliver a "released version of Tor with the sum of the work performed on pluggable transports year to date" which includes a "testing package" as measurable output.

We should create a Vidalia Obfsproxy Bridge Bundle containing 0.2.4.2-alpha. A Windows version should be sufficient for this package, and we don't have to add this bundle to the long list of bundles we will support in the future.

If possible, we should have this package available by our internal deadline on September 15. If this isn't possible, e.g., because there is no Tor 0.2.4.2-alpha until then, a later date until September 30 is fine, too.

Assigning to erinn after discussing this task in private mail. Thanks!

Child Tickets

Change History (22)

comment:1 Changed 7 years ago by arma

In that case we should release 0.2.4.2-alpha rsn. Are both of the above features merged in already and (so far as we know) working? If so I can do another alpha, say, tomorrowish.

comment:2 Changed 7 years ago by arma

Cc: nickm added

comment:3 in reply to:  1 Changed 7 years ago by asn

Replying to arma:

In that case we should release 0.2.4.2-alpha rsn. Are both of the above features merged in already and (so far as we know) working? If so I can do another alpha, say, tomorrowish.

Yes, both features are merged in master.

comment:4 Changed 7 years ago by erinn

I hope to have this done by the end of the week. The only real challenge will be making Vidalia alpha work, but I think it should be fine.

comment:5 in reply to:  description Changed 7 years ago by arma

Replying to karsten:

Tor 0.2.4.2-alpha will contain [...] #4567 which extends Tor's UPnP support to open pluggable transport ports

Does that mean the Vidalia Obfsproxy Bridge Bundle should include a tor-fw-helper bin, and a "PortForwarding 1" line in its torrc, and a "PortForwardingHelper" line pointing to the included tor-fw-helper bin?

comment:6 in reply to:  1 Changed 7 years ago by arma

Replying to arma:

In that case we should release 0.2.4.2-alpha rsn.

Done.

comment:7 Changed 7 years ago by karsten

Type: taskproject

Changing to project ticket, or it won't show up on the sponsor page.

comment:8 Changed 7 years ago by erinn

Cc: chiiph added

I've made a preliminary bundle which almost works. It's here:

https://people.torproject.org/~erinn/qa/alpha/vidalia-obfsproxy-bridge-bundle-0.2.4.2-alpha-0.3.3-alpha.exe

a53967399d042a688466041875638bc89addf738c47b03b7432dc94446ec39f9 vidalia-obfsproxy-bridge-bundle-0.2.4.2-alpha-0.3.3-alpha.exe

The problem I'm having with it is that Vidalia claims it can't start Tor, but if you look at the message log Tor claims to have bootstrapped 100%. Since Vidalia thinks it never initiates Tor, it doesn't seem to actually pay attention to its vidalia.conf settings (I think? still unclear on how Vidalia and Tor work together on Windows). So if you stop Tor, then go into settings, then set it as a bridge and start it again, it will actually start as a bridge... except over here, in the main Vidalia window, it only claims it connected to the Tor network successfully about 50% of the time.

I'm not really sure what's going on so I invite others to look at it and see if they understand. Adding Tomás to Cc for obvious reasons. For any Windows people, the .nsi file I used is here: https://people.torproject.org/~erinn/qa/alpha/vidalia-alpha-bridge-obfs-bundle.nsi

comment:9 in reply to:  8 Changed 7 years ago by chiiph

Replying to erinn:

I've made a preliminary bundle which almost works. It's here:

https://people.torproject.org/~erinn/qa/alpha/vidalia-obfsproxy-bridge-bundle-0.2.4.2-alpha-0.3.3-alpha.exe

a53967399d042a688466041875638bc89addf738c47b03b7432dc94446ec39f9 vidalia-obfsproxy-bridge-bundle-0.2.4.2-alpha-0.3.3-alpha.exe

The problem I'm having with it is that Vidalia claims it can't start Tor, but if you look at the message log Tor claims to have bootstrapped 100%. Since Vidalia thinks it never initiates Tor, it doesn't seem to actually pay attention to its vidalia.conf settings (I think? still unclear on how Vidalia and Tor work together on Windows). So if you stop Tor, then go into settings, then set it as a bridge and start it again, it will actually start as a bridge... except over here, in the main Vidalia window, it only claims it connected to the Tor network successfully about 50% of the time.

Does it say it couldn't start tor? or it couldn't connect to it? Because if you can see the log in the Message Log window as 100% bootstrapped and it says it wasn't able to start the tor process... well, it would be quite an interesting bug. If it says it cannot connect to it, then it's a configuration problem (and the content of the message log window is what it captures from stdout from the tor process).

I'll test it and comment in here what I find out.

comment:10 Changed 7 years ago by chiiph

It's a configuration error. Vidalia alpha now uses the configuration from the torrc file, so you need to specify how you want to Vidalia and Tor to talk. In this case, you need to set ControlPort so something.

comment:11 Changed 7 years ago by erinn

Status: newneeds_review

Okay, I've updated the bundle with the appropriate torrc information and Tor 0.2.4.3-alpha. There are some more edges to smooth out, such as the installation text and possibly the name of the bridge relay (right now I just have it as 'Test', suggestions welcome). Please give it more thorough obfsproxy-centric testing, then I can send a version to the QA list for final testing:

https://people.torproject.org/~erinn/qa/alpha/vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha.exe

bb681d16d0728ca2f1a6007ffaf5401ecbac00cb9b1e8aec0955e60cc7b30d4e vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha.exe

comment:12 in reply to:  11 Changed 7 years ago by karsten

Replying to erinn:

Okay, I've updated the bundle with the appropriate torrc information and Tor 0.2.4.3-alpha. There are some more edges to smooth out, such as the installation text

Yup, the installation text says the bundle contains Tor, Vidalia, Polipo, and Torbutton. But it neither contains Polipo nor Torbutton. It does, however, contain Obfsproxy which is not listed under "Choose Components". This doesn't matter much, I just thought I should let you know.

and possibly the name of the bridge relay (right now I just have it as 'Test', suggestions welcome).

How about 'obfsbundlebridge', for the unlikely case that we'll want to count these bridges at a later time. Not important though.

Please give it more thorough obfsproxy-centric testing, then I can send a version to the QA list for final testing:

https://people.torproject.org/~erinn/qa/alpha/vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha.exe

bb681d16d0728ca2f1a6007ffaf5401ecbac00cb9b1e8aec0955e60cc7b30d4e vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha.exe

I tried this bundle in an EC2 instance running Windows 2008 R1 SP2 Datacenter edition 64 bit. When the installer tried to start obfsproxy.exe, I got the message "obfsproxy.exe has stopped working. A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available." When I later tried running obfsproxy.exe from the PowerShell, I got the same error. I don't have any more debug information, unfortunately. But maybe I could get tell you more if you tell me how to debug it.

Is this even a supported Windows version? Does the contained obfsproxy.exe run on other Windows versions?

Of course, feel free to ask other people who are more comfortable testing Windows things to test the bundle in parallel to my attempts.

(Thanks!)

comment:13 Changed 7 years ago by erinn

Cc: asn added

Thanks for trying it, Karsten. That Windows version, while not explicitly supported, should theoretically work since it is recent-ish. obfsproxy.exe (and the rest of the bundle) runs for me on Win7, but maybe some kind of dependency is missing for you? I've only tested it on the build machine which is not a great testing ground. There is a program called Dependency Walker (http://www.dependencywalker.com/) which might be able to give more information about this topic.

I'm not sure how to debug obfsproxy specifically though, adding asn to Cc in case he has some information.

I will update the installation text and bridge name on my side in the meanwhile.

comment:14 Changed 7 years ago by asn

It doesn't work for me in a Windows XP VM. obfsproxy dies when executed with:

The application has failed to start because LIBEAY32.dll was not found. Re-installing the application may fix this problem.

I vaguely remember encountering this problem in Florence and fixing it somehow (LIBEAY32 is OpenSSL, right?).

Erinn, how did you test this? In your seteup, have you managed to get the bundle to start up and also display the Registered server transport 'obfs2' at '0.0.0.0:34533' message?

comment:15 in reply to:  14 ; Changed 7 years ago by Shondoit

Cc: Shondoit added

Replying to asn:

It doesn't work for me in a Windows XP VM. obfsproxy dies when executed with:

The application has failed to start because LIBEAY32.dll was not found. Re-installing the application may fix this problem.

The OpenSSL Libraries are installed to the .\Vidalia folder, whereas obfsproxy.exe starts from the .\Tor folder.
Moving the OpenSSL libaries to .\Tor should work.

comment:16 in reply to:  15 Changed 7 years ago by karsten

Status: needs_reviewneeds_revision

Replying to Shondoit:

Replying to asn:

It doesn't work for me in a Windows XP VM. obfsproxy dies when executed with:

The application has failed to start because LIBEAY32.dll was not found. Re-installing the application may fix this problem.

The OpenSSL Libraries are installed to the .\Vidalia folder, whereas obfsproxy.exe starts from the .\Tor folder.
Moving the OpenSSL libaries to .\Tor should work.

Aha. Moving libeay32.dll from .\Vidalia to .\Tor fixes the problem for me, this time trying on Windows 2008 R2 SP1 Datacenter edition 64 bit. Now I also get the message "Registered server transport 'obfs2' at '0.0.0.0:49278'.

Erinn, can you make a new bundle that has the updated installation text and bridge name, and that copies the .dll file to the right directory? (Thanks!)

comment:17 Changed 7 years ago by erinn

Status: needs_revisionneeds_review

Bundle updated again. I fixed the text and moved the SSL library, as well as changing the name of the bridge. Please tell me if you have any suggestions (minor text changes, larger structural changes, etc.):

https://people.torproject.org/~erinn/qa/alpha/vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha-1.exe

35f3a44dc28b25f64ea6816a4d36cd0a4da135a240ce3e76a99c610e91f4d7ef vidalia-obfsproxy-bridge-bundle-0.2.4.3-alpha-0.3.3-alpha-1.exe

comment:18 Changed 7 years ago by karsten

Looks great! The bundle works for me now, at least to the point where the bridge tries to open port 443 and register in the network. I didn't open port 443 on purpose, because I couldn't test the UPnP functionality in EC2 anyway.

Do we have anybody behind a UPnP device who could test this bundle to see if Tor opens the right ports for obfsproxy, too?

comment:19 in reply to:  18 Changed 7 years ago by karsten

Resolution: implemented
Status: needs_reviewclosed

Replying to karsten:

Do we have anybody behind a UPnP device who could test this bundle to see if Tor opens the right ports for obfsproxy, too?

Never mind. We have our testing bundle, and we never promised it to be bug-free. How could we.

Thanks! Closing.

comment:20 Changed 7 years ago by asn

Resolution: implemented
Status: closedreopened

I know I'm late to the party, but this bundle would be cooler if it used Vidalia 0.3.4 which also shows pluggable transport information in its Settings dialog. Is this too much to do at this point?

comment:21 Changed 7 years ago by asn

For the record, the bundle works as intended and obfsproxy starts and works fine. It's just that if Vidalia 0.3.4 was in the play, it would also give an indication in the Settings that transports actually work.

So if we don't have time to add Vidalia 0.3.4, it's OK.

comment:22 Changed 7 years ago by asn

Resolution: fixed
Status: reopenedclosed

This deliverable is over. We will get the Vidalia 0.3.4 bundles at another point.

Note: See TracTickets for help on using tickets.