From 9d15ecf1f9fa72353dfade3b42362a5de393a6b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E6=89=87=E6=BB=91=E7=BF=94=E7=BF=BC?= Date: Fri, 25 Jul 2025 15:11:35 +0800 Subject: [PATCH] REALITY client: Fix log when printing "is using X25519MLKEM768..." (#4929) --- transport/internet/reality/reality.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/transport/internet/reality/reality.go b/transport/internet/reality/reality.go index e2b745a7..dca4e951 100644 --- a/transport/internet/reality/reality.go +++ b/transport/internet/reality/reality.go @@ -77,7 +77,8 @@ func (c *UConn) HandshakeAddress() net.Address { func (c *UConn) VerifyPeerCertificate(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error { if c.Config.Show { localAddr := c.LocalAddr().String() - fmt.Printf("REALITY localAddr: %v\tis using X25519MLKEM768 for TLS' communication: %v\n", localAddr, c.HandshakeState.ServerHello.SelectedGroup == utls.X25519MLKEM768) + curveID := *(*utls.CurveID)(unsafe.Pointer(reflect.ValueOf(c).Elem().FieldByName("curveID").UnsafeAddr())) + fmt.Printf("REALITY localAddr: %v\tis using X25519MLKEM768 for TLS' communication: %v\n", localAddr, curveID == utls.X25519MLKEM768) fmt.Printf("REALITY localAddr: %v\tis using ML-DSA-65 for cert's extra verification: %v\n", localAddr, len(c.Config.Mldsa65Verify) > 0) } p, _ := reflect.TypeOf(c.Conn).Elem().FieldByName("peerCertificates")