Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Psiphon clientlib #251

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

adam-p
Copy link

@adam-p adam-p commented Jun 14, 2024

No description provided.

@fortuna fortuna self-requested a review June 17, 2024 21:16
@fortuna fortuna mentioned this pull request Jun 18, 2024
github.com/Psiphon-Labs/quic-go v0.0.0-20240424181006-45545f5e1536 h1:pM5ex1QufkHV8lDR6Tc1Crk1bW5lYZjrFIJGZNBWE9k=
github.com/Psiphon-Labs/quic-go v0.0.0-20240424181006-45545f5e1536/go.mod h1:2MTiPsgoOqWs3Bo6Xr3ElMBX6zzfjd3YkDFpQJLwHdQ=
github.com/adam-p/psiphon-tunnel-core v0.0.14-beta-ios.0.20240606165226-007d81eeb28e h1:AADbT95IYlsQ069NMwn1EIRW25QEbKsYB+wjjhqWF28=
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be here. I think you need go mod tidy.

@@ -59,184 +61,155 @@ type DialerConfig struct {
// called before you can start it again with a new configuration. Dialer.Stop should be called
// when you no longer need the Dialer in order to release resources.
type Dialer struct {
// The Psiphon tunnel. It is nil until the tunnel is started.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a lot of state tracking here, and I had a hard time trying to assert the correctness of this code. The mix of Mutex and atomics also complicates analysis.

I believe I got a simpler solution, with the entire tunnel lifecycle in one goroutine.
See #252

Also, for tests, we can replace a global startTunnel. No need to make it part of the Dialer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants