Просмотр исходного кода

Merge pull request #338 from geebee/master

add 'user_agent' validator to base parameters; move UserAgentIfUnset out of the protocol specific select
Rod Hynes 9 лет назад
Родитель
Сommit
654cf83c51
3 измененных файлов с 4 добавлено и 5 удалено
  1. 1 3
      psiphon/TCPConn.go
  2. 1 0
      psiphon/server/api.go
  3. 2 2
      psiphon/tunnel.go

+ 1 - 3
psiphon/TCPConn.go

@@ -177,13 +177,11 @@ func proxiedTcpDial(
 		return tcpDial(addr, config, dialResult)
 	}
 
-	dialHeaders, _ := common.UserAgentIfUnset(config.UpstreamProxyCustomHeaders)
-
 	upstreamDialer := upstreamproxy.NewProxyDialFunc(
 		&upstreamproxy.UpstreamProxyConfig{
 			ForwardDialFunc: dialer,
 			ProxyURIString:  config.UpstreamProxyUrl,
-			CustomHeaders:   dialHeaders,
+			CustomHeaders:   config.UpstreamProxyCustomHeaders,
 		})
 	netConn, err := upstreamDialer("tcp", addr)
 	if _, ok := err.(*upstreamproxy.Error); ok {

+ 1 - 0
psiphon/server/api.go

@@ -519,6 +519,7 @@ var baseRequestParams = []requestParamSpec{
 	requestParamSpec{"meek_sni_server_name", isDomain, requestParamOptional},
 	requestParamSpec{"meek_host_header", isHostHeader, requestParamOptional},
 	requestParamSpec{"meek_transformed_host_name", isBooleanFlag, requestParamOptional},
+	requestParamSpec{"user_agent", isAnyString, requestParamOptional},
 	requestParamSpec{"server_entry_region", isRegionCode, requestParamOptional},
 	requestParamSpec{"server_entry_source", isServerEntrySource, requestParamOptional},
 	requestParamSpec{"server_entry_timestamp", isISO8601Date, requestParamOptional},

+ 2 - 2
psiphon/tunnel.go

@@ -600,8 +600,6 @@ func dialSsh(
 
 	default:
 		useObfuscatedSsh = true
-		dialHeaders, selectedUserAgent = common.UserAgentIfUnset(config.UpstreamProxyCustomHeaders)
-
 		meekConfig, err = initMeekConfig(config, serverEntry, selectedProtocol, sessionId)
 		if err != nil {
 			return nil, common.ContextError(err)
@@ -627,6 +625,8 @@ func dialSsh(
 		resolvedIPAddress.Store(IPAddress)
 	}
 
+	dialHeaders, selectedUserAgent = common.UserAgentIfUnset(config.UpstreamProxyCustomHeaders)
+
 	// Create the base transport: meek or direct connection
 	dialConfig := &DialConfig{
 		UpstreamProxyUrl:              config.UpstreamProxyUrl,