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

Move egress_region to baseParams

Rod Hynes 4 месяцев назад
Родитель
Сommit
9301320302
3 измененных файлов с 8 добавлено и 5 удалено
  1. 3 0
      psiphon/common/protocol/packed.go
  2. 1 1
      psiphon/server/api.go
  3. 4 4
      psiphon/serverApi.go

+ 3 - 0
psiphon/common/protocol/packed.go

@@ -629,6 +629,9 @@ func init() {
 		//
 		// - the `padding` field is not packed since it is intended to pad the
 		//   encoded message to its existing size.
+		//
+		// - egress_region is now in server.baseParams, but its encoding
+		//   remains the same.
 
 		{15, "relay_protocol", nil},
 		{16, "ssh_client_version", nil},

+ 1 - 1
psiphon/server/api.go

@@ -1176,6 +1176,7 @@ var baseParams = []requestParamSpec{
 	{"client_build_rev", isHexDigits, requestParamOptional},
 	{"device_region", isAnyString, requestParamOptional},
 	{"device_location", isGeoHashString, requestParamOptional},
+	{"egress_region", isRegionCode, requestParamOptional},
 	{"network_type", isAnyString, requestParamOptional},
 	{tactics.APPLIED_TACTICS_TAG_PARAMETER_NAME, isAnyString, requestParamOptional},
 	{"compress_response", isIntString, requestParamOptional | requestParamNotLogged},
@@ -1213,7 +1214,6 @@ var baseDialParams = []requestParamSpec{
 	{"padding", isAnyString, requestParamOptional | requestParamLogStringLengthAsInt},
 	{"pad_response", isIntString, requestParamOptional | requestParamLogStringAsInt},
 	{"is_replay", isBooleanFlag, requestParamOptional | requestParamLogFlagAsBool},
-	{"egress_region", isRegionCode, requestParamOptional},
 	{"dial_duration", isIntString, requestParamOptional | requestParamLogStringAsInt},
 	{"candidate_number", isIntString, requestParamOptional | requestParamLogStringAsInt},
 	{"established_tunnels_count", isIntString, requestParamOptional | requestParamLogStringAsInt},

+ 4 - 4
psiphon/serverApi.go

@@ -1161,6 +1161,10 @@ func getBaseAPIParameters(
 		params["device_location"] = config.DeviceLocation
 	}
 
+	if config.EgressRegion != "" {
+		params["egress_region"] = config.EgressRegion
+	}
+
 	if filter == baseParametersAll {
 
 		if protocol.TunnelProtocolUsesInproxy(dialParams.TunnelProtocol) {
@@ -1284,10 +1288,6 @@ func getBaseAPIParameters(
 		}
 		params["is_replay"] = isReplay
 
-		if config.EgressRegion != "" {
-			params["egress_region"] = config.EgressRegion
-		}
-
 		// dialParams.DialDuration is nanoseconds; report milliseconds
 		params["dial_duration"] = fmt.Sprintf("%d", dialParams.DialDuration/time.Millisecond)