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

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

Rod Hynes 4 лет назад
Родитель
Сommit
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
 		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
 type QUICVersions []string
 
 
 func (versions QUICVersions) Validate() error {
 func (versions QUICVersions) Validate() error {

+ 2 - 1
psiphon/dialParameters.go

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