Skip to content

Commit

Permalink
Merge branch 'master' into staging-client
Browse files Browse the repository at this point in the history
  • Loading branch information
rod-hynes committed Nov 12, 2024
2 parents 12c6907 + 39b3234 commit e332792
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 4 deletions.
4 changes: 2 additions & 2 deletions psiphon/common/inproxy/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -835,8 +835,8 @@ func (report *BrokerServerReport) ValidateAndGetLogFields(

logFields = common.LogFields{}

logFields["proxy_nat_type"] = report.ProxyNATType
logFields["proxy_port_mapping_types"] = report.ProxyPortMappingTypes
logFields["inproxy_proxy_nat_type"] = report.ProxyNATType
logFields["inproxy_proxy_port_mapping_types"] = report.ProxyPortMappingTypes

} else {

Expand Down
2 changes: 1 addition & 1 deletion psiphon/common/inproxy/brokerClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ type BrokerClient struct {
func NewBrokerClient(coordinator BrokerDialCoordinator) (*BrokerClient, error) {

// A client is expected to use an ephemeral key, and can return a
// zero-value private key. Each proxy should use a peristent key, as the
// zero-value private key. Each proxy should use a persistent key, as the
// corresponding public key is the proxy ID, which is used to credit the
// proxy for its service.

Expand Down
2 changes: 1 addition & 1 deletion psiphon/common/inproxy/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ func (p *Proxy) proxyClients(
p.config.Logger.WithTraceFields(
common.LogFields{
"error": errMsg,
"delay": delay,
"delay": delay.String(),
"jitter": jitter,
}).Error("proxy client failed")
logErrorsCount -= 1
Expand Down
27 changes: 27 additions & 0 deletions replace/dtls/flight1handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,33 @@ func flight1Generate(ctx context.Context, c flightConn, state *State, _ *handsha
})
cipherSuites = cipherSuites[:cut(len(cipherSuites))]

// At least one ECC cipher suite needs to be retained for compatibilty
// with the server's ECC certificate. Select from the ECC cipher suites
// currently returned by defaultCipherSuites.

eccCipherSuites := []uint16{
uint16(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256),
uint16(TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA),
uint16(TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384),
}
hasECC := false
checkECCLoop:
for _, cipherSuite := range cipherSuites {
for _, eccCipherSuite := range eccCipherSuites {
if cipherSuite == eccCipherSuite {
hasECC = true
break checkECCLoop
}
}
}
if !hasECC {
eccCipherSuite := eccCipherSuites[PRNG.Intn(len(eccCipherSuites))]
cipherSuites = append(cipherSuites, eccCipherSuite)
PRNG.Shuffle(len(cipherSuites), func(i, j int) {
cipherSuites[i], cipherSuites[j] = cipherSuites[j], cipherSuites[i]
})
}

for _, ext := range extensions {
switch e := ext.(type) {
case *extension.SupportedSignatureAlgorithms:
Expand Down
27 changes: 27 additions & 0 deletions vendor/github.com/pion/dtls/v2/flight1handler.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e332792

Please sign in to comment.