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

Add SeedTransform to notice dial parameters

- Also ensure dialParams.OSSHObfuscatorSeedTransformerParameters and
  dialParams. ObfuscatedQUICNonceTransformerParameters are always nil
  when no spec is selected
Rod Hynes 3 лет назад
Родитель
Сommit
e2f40fb01c
2 измененных файлов с 24 добавлено и 4 удалено
  1. 12 4
      psiphon/dialParameters.go
  2. 12 0
      psiphon/notice.go

+ 12 - 4
psiphon/dialParameters.go

@@ -732,16 +732,20 @@ func MakeDialParameters(
 
 		} else if !isReplay || !replayObfuscatedQUICNonceTransformer {
 
-			dialParams.ObfuscatedQUICNonceTransformerParameters, err = makeSeedTransformerParameters(
+			params, err := makeSeedTransformerParameters(
 				p,
 				parameters.ObfuscatedQUICNonceTransformProbability,
 				parameters.ObfuscatedQUICNonceTransformSpecs,
 				parameters.ObfuscatedQUICNonceTransformScopedSpecNames)
-
 			if err != nil {
 				return nil, errors.Trace(err)
 			}
 
+			if params.TransformSpec != nil {
+				dialParams.ObfuscatedQUICNonceTransformerParameters = params
+			} else {
+				dialParams.ObfuscatedQUICNonceTransformerParameters = nil
+			}
 		}
 
 	}
@@ -811,16 +815,20 @@ func MakeDialParameters(
 
 		} else if !isReplay || !replayOSSHSeedTransformerParameters {
 
-			dialParams.OSSHObfuscatorSeedTransformerParameters, err = makeSeedTransformerParameters(
+			params, err := makeSeedTransformerParameters(
 				p,
 				parameters.OSSHObfuscatorSeedTransformProbability,
 				parameters.OSSHObfuscatorSeedTransformSpecs,
 				parameters.OSSHObfuscatorSeedTransformScopedSpecNames)
-
 			if err != nil {
 				return nil, errors.Trace(err)
 			}
 
+			if params.TransformSpec != nil {
+				dialParams.OSSHObfuscatorSeedTransformerParameters = params
+			} else {
+				dialParams.OSSHObfuscatorSeedTransformerParameters = nil
+			}
 		}
 
 	}

+ 12 - 0
psiphon/notice.go

@@ -585,6 +585,18 @@ func noticeWithDialParameters(noticeType string, dialParams *DialParameters, pos
 			}
 		}
 
+		if dialParams.OSSHObfuscatorSeedTransformerParameters != nil {
+			if dialParams.OSSHObfuscatorSeedTransformerParameters.TransformSpec != nil {
+				args = append(args, "SeedTransform", dialParams.OSSHObfuscatorSeedTransformerParameters.TransformName)
+			}
+		}
+
+		if dialParams.ObfuscatedQUICNonceTransformerParameters != nil {
+			if dialParams.ObfuscatedQUICNonceTransformerParameters.TransformSpec != nil {
+				args = append(args, "SeedTransform", dialParams.ObfuscatedQUICNonceTransformerParameters.TransformName)
+			}
+		}
+
 		if dialParams.DialConnMetrics != nil {
 			metrics := dialParams.DialConnMetrics.GetMetrics()
 			for name, value := range metrics {