Browse Source

add 'user_agent' validator to base parameters; move UserAgentIfUnset out of the protocol specific select

Michael Goldberger 9 years ago
parent
commit
6f2db22eaf
2 changed files with 3 additions and 2 deletions
  1. 1 0
      psiphon/server/api.go
  2. 2 2
      psiphon/tunnel.go

+ 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,