]> Sergey Matveev's repositories - tofuproxy.git/commitdiff
Deal with Unicode domain names
authorSergey Matveev <stargrave@stargrave.org>
Tue, 3 Mar 2026 11:14:57 +0000 (14:14 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 3 Mar 2026 11:14:57 +0000 (14:14 +0300)
go.mod
go.sum
x509.go

diff --git a/go.mod b/go.mod
index 330412ece0fd8166f54e7c9a042cc8ca3bc909ac..cd222b6d3f9a3a4bfd23d48d4700811f0e5977a0 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module go.stargrave.org/tofuproxy
 
-go 1.24
+go 1.25.0
 
 require (
        github.com/dustin/go-humanize v1.0.1
@@ -8,12 +8,13 @@ require (
        go.cypherpunks.su/netrc/v2 v2.0.0
        go.cypherpunks.su/tai64n/v4 v4.1.0
        go.cypherpunks.su/ucspi/v2 v2.0.0
+       golang.org/x/net v0.51.0
 )
 
 require (
-       golang.org/x/mod v0.23.0 // indirect
-       golang.org/x/net v0.35.0 // indirect
-       golang.org/x/sync v0.11.0 // indirect
-       golang.org/x/sys v0.30.0 // indirect
-       golang.org/x/tools v0.30.0 // indirect
+       golang.org/x/mod v0.32.0 // indirect
+       golang.org/x/sync v0.19.0 // indirect
+       golang.org/x/sys v0.41.0 // indirect
+       golang.org/x/text v0.34.0 // indirect
+       golang.org/x/tools v0.41.0 // indirect
 )
diff --git a/go.sum b/go.sum
index fdf7dc4bb451499456a6e88ae142352e67ca15fa..aab7c0d739ac598139d1e5319c34533c56d681a3 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -10,13 +10,15 @@ go.cypherpunks.su/tai64n/v4 v4.1.0 h1:jW0EyklKXpSy9DSFMcDbu7XuLlMkn6kkpNWiMG6UT5
 go.cypherpunks.su/tai64n/v4 v4.1.0/go.mod h1:/uKUdhLOy8UciRKpapPaFXSOoa/SiXjs3XsDDpAz7OA=
 go.cypherpunks.su/ucspi/v2 v2.0.0 h1:Ha/0xfi0nXL/4xdiXqKbHdbXWE/qKcnXux4hG7c/lwM=
 go.cypherpunks.su/ucspi/v2 v2.0.0/go.mod h1:GIIOgXFLLze7hG1sAmXmPNTopVrAaFi5m+GMUA72fXY=
-golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
-golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
-golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
-golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
-golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
-golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
-golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
-golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
+golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
+golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
+golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo=
+golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y=
+golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
+golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
+golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
+golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
+golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
+golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
diff --git a/x509.go b/x509.go
index ca61389652d7574c378b9287bd52de0e32e8fc70..d2d424288e33072c710ab2b45779183df73d8dad 100644 (file)
--- a/x509.go
+++ b/x509.go
@@ -28,6 +28,8 @@ import (
        "math/big"
        "sync"
        "time"
+
+       "golang.org/x/net/idna"
 )
 
 type X509Keypair struct {
@@ -82,6 +84,7 @@ func newX509Keypair(
        notBefore := time.Now()
        notAfter := notBefore.Add(24 * time.Hour)
        Serial = Serial.Add(Serial, big.NewInt(1))
+       host, _ = idna.ToASCII(host)
        template := x509.Certificate{
                SerialNumber: Serial,
                Subject:      pkix.Name{CommonName: host},