Преглед изворни кода

Don't report disabled path MTU discovery for no-op cases

Rod Hynes пре 4 година
родитељ
комит
bc91212ca0
2 измењених фајлова са 9 додато и 1 уклоњено
  1. 7 0
      psiphon/common/protocol/protocol.go
  2. 2 1
      psiphon/dialParameters.go

+ 7 - 0
psiphon/common/protocol/protocol.go

@@ -408,6 +408,13 @@ func QUICVersionIsObfuscated(version string) bool {
 		version == QUIC_VERSION_DECOY_V1
 }
 
+func QUICVersionUsesPathMTUDiscovery(version string) bool {
+	return version != QUIC_VERSION_GQUIC39 &&
+		version != QUIC_VERSION_GQUIC43 &&
+		version != QUIC_VERSION_GQUIC44 &&
+		version != QUIC_VERSION_OBFUSCATED
+}
+
 type QUICVersions []string
 
 func (versions QUICVersions) Validate() error {

+ 2 - 1
psiphon/dialParameters.go

@@ -681,7 +681,8 @@ func MakeDialParameters(
 		}
 
 		dialParams.QUICDisablePathMTUDiscovery =
-			p.WeightedCoinFlip(parameters.QUICDisableClientPathMTUDiscoveryProbability)
+			protocol.QUICVersionUsesPathMTUDiscovery(dialParams.QUICVersion) &&
+				p.WeightedCoinFlip(parameters.QUICDisableClientPathMTUDiscoveryProbability)
 	}
 
 	if (!isReplay || !replayObfuscatedQUIC) &&