

























@@ -1123,44 +1123,31 @@ class NodeRuntime(
11231123 tls.expectedFingerprint
11241124 ?.let(::normalizeGatewayTlsFingerprint)
11251125 ?.takeIf { it.isNotBlank() }
1126-if (expectedFingerprint == null) {
1127-// First-time TLS: capture fingerprint, ask user to verify out-of-band, then store and connect.
1128-_statusText.value = "Verify gateway TLS fingerprint…"
1129- scope.launch {
1130-val tlsProbe = tlsFingerprintProbe(endpoint.host, endpoint.port)
1131-if (!isCurrentConnectAttempt(connectAttemptId)) return@launch
1132-val fp =
1133- tlsProbe.fingerprintSha256 ?: run {
1134-_statusText.value = gatewayTlsProbeFailureMessage(tlsProbe.failure)
1135-return@launch
1136- }
1137-val observedFingerprint =
1138- normalizeGatewayTlsFingerprint(fp)
1139- .takeIf { it.isNotBlank() }
1140-?: fp
1141-_pendingGatewayTrust.value =
1142-GatewayTrustPrompt(endpoint = endpoint, fingerprintSha256 = observedFingerprint, auth = auth)
1143- }
1144-return
1145- }
1146-11471126_statusText.value = "Verify gateway TLS fingerprint…"
11481127 scope.launch {
11491128val tlsProbe = tlsFingerprintProbe(endpoint.host, endpoint.port)
11501129if (!isCurrentConnectAttempt(connectAttemptId)) return@launch
11511130val fp =
11521131 tlsProbe.fingerprintSha256 ?: run {
1153- connectAfterTlsCheck(endpoint = endpoint, auth = auth, connectAttemptId = connectAttemptId)
1132+if (expectedFingerprint == null) {
1133+_statusText.value = gatewayTlsProbeFailureMessage(tlsProbe.failure)
1134+ } else {
1135+ connectAfterTlsCheck(endpoint = endpoint, auth = auth, connectAttemptId = connectAttemptId)
1136+ }
11541137return@launch
11551138 }
1156-val observedFingerprint = normalizeGatewayTlsFingerprint(fp)
1157-if (observedFingerprint != expectedFingerprint) {
1139+val observedFingerprint =
1140+ normalizeGatewayTlsFingerprint(fp)
1141+ .takeIf { it.isNotBlank() }
1142+?: fp
1143+val previousFingerprint = expectedFingerprint?.takeUnless { it == observedFingerprint }
1144+if (expectedFingerprint == null || previousFingerprint != null) {
11581145_pendingGatewayTrust.value =
11591146GatewayTrustPrompt(
11601147 endpoint = endpoint,
11611148 fingerprintSha256 = observedFingerprint,
11621149 auth = auth,
1163- previousFingerprintSha256 = expectedFingerprint,
1150+ previousFingerprintSha256 = previousFingerprint,
11641151 )
11651152return@launch
11661153 }
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。