Rod Hynes 3 лет назад
Родитель
Сommit
2336c63b5f

+ 1 - 1
psiphon/common/parameters/parameters.go

@@ -660,7 +660,7 @@ var defaultParameters = map[string]struct {
 	DNSResolverAttemptsPerServer:                {value: 2, minimum: 1},
 	DNSResolverAttemptsPerServer:                {value: 2, minimum: 1},
 	DNSResolverAttemptsPerPreferredServer:       {value: 1, minimum: 1},
 	DNSResolverAttemptsPerPreferredServer:       {value: 1, minimum: 1},
 	DNSResolverRequestTimeout:                   {value: 5 * time.Second, minimum: 100 * time.Millisecond, flags: useNetworkLatencyMultiplier},
 	DNSResolverRequestTimeout:                   {value: 5 * time.Second, minimum: 100 * time.Millisecond, flags: useNetworkLatencyMultiplier},
-	DNSResolverAwaitTimeout:                     {value: 100 * time.Millisecond, minimum: 1 * time.Millisecond, flags: useNetworkLatencyMultiplier},
+	DNSResolverAwaitTimeout:                     {value: 10 * time.Millisecond, minimum: 1 * time.Millisecond, flags: useNetworkLatencyMultiplier},
 	DNSResolverPreresolvedIPAddressCIDRs:        {value: LabeledCIDRs{}},
 	DNSResolverPreresolvedIPAddressCIDRs:        {value: LabeledCIDRs{}},
 	DNSResolverPreresolvedIPAddressProbability:  {value: 0.0, minimum: 0.0},
 	DNSResolverPreresolvedIPAddressProbability:  {value: 0.0, minimum: 0.0},
 	DNSResolverAlternateServers:                 {value: []string{}},
 	DNSResolverAlternateServers:                 {value: []string{}},

+ 2 - 2
psiphon/common/resolver/resolver.go

@@ -50,7 +50,7 @@ const (
 	resolverServersUpdateTTL         = 5 * time.Second
 	resolverServersUpdateTTL         = 5 * time.Second
 	resolverDefaultAttemptsPerServer = 2
 	resolverDefaultAttemptsPerServer = 2
 	resolverDefaultRequestTimeout    = 5 * time.Second
 	resolverDefaultRequestTimeout    = 5 * time.Second
-	resolverDefaultAwaitTimeout      = 100 * time.Millisecond
+	resolverDefaultAwaitTimeout      = 10 * time.Millisecond
 	resolverDefaultAnswerTTL         = 1 * time.Minute
 	resolverDefaultAnswerTTL         = 1 * time.Minute
 	resolverDNSPort                  = "53"
 	resolverDNSPort                  = "53"
 	udpPacketBufferSize              = 1232
 	udpPacketBufferSize              = 1232
@@ -168,7 +168,7 @@ type ResolveParameters struct {
 
 
 	// AwaitTimeout specifies how long to await an additional response after
 	// AwaitTimeout specifies how long to await an additional response after
 	// the first response is received. This additional wait time applies only
 	// the first response is received. This additional wait time applies only
-	// when there is no IPv4 or IPv6 response.
+	// when there is either no IPv4 or IPv6 response.
 	AwaitTimeout time.Duration
 	AwaitTimeout time.Duration
 
 
 	// PreresolvedIPAddress specifies an IP address result to be used in place
 	// PreresolvedIPAddress specifies an IP address result to be used in place

+ 3 - 3
psiphon/common/resolver/resolver_test.go

@@ -110,7 +110,7 @@ func runTestMakeResolveParameters() error {
 	if resolverParams.AttemptsPerServer != 2 ||
 	if resolverParams.AttemptsPerServer != 2 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.RequestTimeout != 5*time.Second ||
 		resolverParams.RequestTimeout != 5*time.Second ||
-		resolverParams.AwaitTimeout != 100*time.Millisecond ||
+		resolverParams.AwaitTimeout != 10*time.Millisecond ||
 		!CIDRContainsIP(exampleIPv4CIDR, resolverParams.PreresolvedIPAddress) ||
 		!CIDRContainsIP(exampleIPv4CIDR, resolverParams.PreresolvedIPAddress) ||
 		resolverParams.AlternateDNSServer != "" ||
 		resolverParams.AlternateDNSServer != "" ||
 		resolverParams.PreferAlternateDNSServer != false ||
 		resolverParams.PreferAlternateDNSServer != false ||
@@ -153,7 +153,7 @@ func runTestMakeResolveParameters() error {
 	if resolverParams.AttemptsPerServer != 2 ||
 	if resolverParams.AttemptsPerServer != 2 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.RequestTimeout != 5*time.Second ||
 		resolverParams.RequestTimeout != 5*time.Second ||
-		resolverParams.AwaitTimeout != 100*time.Millisecond ||
+		resolverParams.AwaitTimeout != 10*time.Millisecond ||
 		resolverParams.PreresolvedIPAddress != "" ||
 		resolverParams.PreresolvedIPAddress != "" ||
 		resolverParams.AlternateDNSServer != preferredAlternateDNSServerWithPort ||
 		resolverParams.AlternateDNSServer != preferredAlternateDNSServerWithPort ||
 		resolverParams.PreferAlternateDNSServer != true ||
 		resolverParams.PreferAlternateDNSServer != true ||
@@ -183,7 +183,7 @@ func runTestMakeResolveParameters() error {
 	if resolverParams.AttemptsPerServer != 2 ||
 	if resolverParams.AttemptsPerServer != 2 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.AttemptsPerPreferredServer != 1 ||
 		resolverParams.RequestTimeout != 5*time.Second ||
 		resolverParams.RequestTimeout != 5*time.Second ||
-		resolverParams.AwaitTimeout != 100*time.Millisecond ||
+		resolverParams.AwaitTimeout != 10*time.Millisecond ||
 		resolverParams.PreresolvedIPAddress != "" ||
 		resolverParams.PreresolvedIPAddress != "" ||
 		resolverParams.AlternateDNSServer != alternateDNSServerWithPort ||
 		resolverParams.AlternateDNSServer != alternateDNSServerWithPort ||
 		resolverParams.PreferAlternateDNSServer != false ||
 		resolverParams.PreferAlternateDNSServer != false ||

+ 7 - 2
psiphon/notice.go

@@ -945,9 +945,14 @@ func NoticeFragmentor(diagnosticID string, message string) {
 	}
 	}
 }
 }
 
 
+// NoticeApplicationParameters reports application parameters. Each key/value
+// parameter pair is emitted in a distinct notice, and each key/value pair is
+// reported at most once per session for a fixed value.
 func NoticeApplicationParameters(keyValues parameters.KeyValues) {
 func NoticeApplicationParameters(keyValues parameters.KeyValues) {
 	for key, value := range keyValues {
 	for key, value := range keyValues {
-		singletonNoticeLogger.outputNotice(
+		repetitionKey := fmt.Sprintf("ApplicationParameterKey-%s", key)
+		outputRepetitiveNotice(
+			repetitionKey, string(value), 0,
 			"ApplicationParameter", 0,
 			"ApplicationParameter", 0,
 			"key", key,
 			"key", key,
 			"value", value)
 			"value", value)
@@ -1000,7 +1005,7 @@ func NoticeHoldOffTunnel(diagnosticID string, duration time.Duration) {
 // session.
 // session.
 func NoticeSkipServerEntry(format string, args ...interface{}) {
 func NoticeSkipServerEntry(format string, args ...interface{}) {
 	reason := fmt.Sprintf(format, args...)
 	reason := fmt.Sprintf(format, args...)
-	repetitionKey := fmt.Sprintf("ServerAlert-%+v", reason)
+	repetitionKey := fmt.Sprintf("SkipServerEntryReason-%+v", reason)
 	outputRepetitiveNotice(
 	outputRepetitiveNotice(
 		repetitionKey, "", 0,
 		repetitionKey, "", 0,
 		"SkipServerEntry", 0, "reason", reason)
 		"SkipServerEntry", 0, "reason", reason)