mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Merge remote-tracking branches 'gitlab/mr/464', 'gitlab/mr/467' and 'gitlab/mr/471'
This commit is contained in:
commit
cdbfc9612f
3 changed files with 12 additions and 8 deletions
2
go.mod
2
go.mod
|
@ -26,7 +26,7 @@ require (
|
|||
gitlab.torproject.org/tpo/anti-censorship/geoip v0.0.0-20210928150955-7ce4b3d98d01
|
||||
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib v1.6.0
|
||||
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil v0.0.0-20240710081135-6c4d8ed41027
|
||||
golang.org/x/crypto v0.30.0
|
||||
golang.org/x/crypto v0.31.0
|
||||
golang.org/x/net v0.32.0
|
||||
golang.org/x/sys v0.28.0
|
||||
)
|
||||
|
|
4
go.sum
4
go.sum
|
@ -190,8 +190,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
|
|||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=
|
||||
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
|
||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
|
|
|
@ -613,9 +613,16 @@ func (sf *SnowflakeProxy) makeNewPeerConnection(
|
|||
}
|
||||
|
||||
func (sf *SnowflakeProxy) runSession(sid string) {
|
||||
connectedToClient := false
|
||||
defer func() {
|
||||
if !connectedToClient {
|
||||
tokens.ret()
|
||||
}
|
||||
// Otherwise we'll `tokens.ret()` when the connection finishes.
|
||||
}()
|
||||
|
||||
offer, relayURL := broker.pollOffer(sid, sf.ProxyType, sf.RelayDomainNamePattern)
|
||||
if offer == nil {
|
||||
tokens.ret()
|
||||
return
|
||||
}
|
||||
log.Printf("Received Offer From Broker: \n\t%s", strings.ReplaceAll(offer.SDP, "\n", "\n\t"))
|
||||
|
@ -623,7 +630,6 @@ func (sf *SnowflakeProxy) runSession(sid string) {
|
|||
if relayURL != "" {
|
||||
if err := checkIsRelayURLAcceptable(sf.RelayDomainNamePattern, sf.AllowProxyingToPrivateAddresses, sf.AllowNonTLSRelay, relayURL); err != nil {
|
||||
log.Printf("bad offer from broker: %v", err)
|
||||
tokens.ret()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -633,7 +639,6 @@ func (sf *SnowflakeProxy) runSession(sid string) {
|
|||
pc, err := sf.makePeerConnectionFromOffer(offer, config, dataChan, dataChannelAdaptor.datachannelHandler)
|
||||
if err != nil {
|
||||
log.Printf("error making WebRTC connection: %s", err)
|
||||
tokens.ret()
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -643,7 +648,6 @@ func (sf *SnowflakeProxy) runSession(sid string) {
|
|||
if inerr := pc.Close(); inerr != nil {
|
||||
log.Printf("error calling pc.Close: %v", inerr)
|
||||
}
|
||||
tokens.ret()
|
||||
return
|
||||
}
|
||||
// Set a timeout on peerconnection. If the connection state has not
|
||||
|
@ -652,12 +656,12 @@ func (sf *SnowflakeProxy) runSession(sid string) {
|
|||
select {
|
||||
case <-dataChan:
|
||||
log.Println("Connection successful")
|
||||
connectedToClient = true
|
||||
case <-time.After(dataChannelTimeout):
|
||||
log.Println("Timed out waiting for client to open data channel.")
|
||||
if err := pc.Close(); err != nil {
|
||||
log.Printf("error calling pc.Close: %v", err)
|
||||
}
|
||||
tokens.ret()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue