Do not use linkname by default to simplify debugging

This commit is contained in:
世界
2025-09-17 17:49:58 +08:00
parent c837263ea3
commit 481487c2dc
29 changed files with 59 additions and 31 deletions

View File

@@ -1,4 +1,4 @@
//go:build go1.25 && !without_badtls
//go:build go1.25 && badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build go1.25 && !without_badtls
//go:build go1.25 && badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build go1.25 && !without_badtls
//go:build go1.25 && badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build !go1.25 || without_badtls
//go:build !go1.25 || !badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build go1.25 && !without_badtls
//go:build go1.25 && badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build go1.25 && !without_badtls
//go:build go1.25 && badlinkname
package badtls

View File

@@ -1,4 +1,4 @@
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -1,4 +1,4 @@
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls

View File

@@ -0,0 +1,15 @@
//go:build linux && go1.25 && !badlinkname
package ktls
import (
"context"
E "github.com/sagernet/sing/common/exceptions"
"github.com/sagernet/sing/common/logger"
aTLS "github.com/sagernet/sing/common/tls"
)
func NewConn(ctx context.Context, logger logger.ContextLogger, conn aTLS.Conn, txOffload, rxOffload bool) (aTLS.Conn, error) {
return nil, E.New("kTLS requires build flags `badlinkname` and `-ldflags=-checklinkname=0`, please recompile your binary")
}

View File

@@ -1,15 +1,15 @@
//go:build !linux || !go1.25 || without_badtls
//go:build !linux
package ktls
import (
"context"
"os"
E "github.com/sagernet/sing/common/exceptions"
"github.com/sagernet/sing/common/logger"
aTLS "github.com/sagernet/sing/common/tls"
)
func NewConn(ctx context.Context, logger logger.ContextLogger, conn aTLS.Conn, txOffload, rxOffload bool) (aTLS.Conn, error) {
return nil, os.ErrInvalid
return nil, E.New("kTLS is only supported on Linux")
}

View File

@@ -0,0 +1,15 @@
//go:build linux && !go1.25
package ktls
import (
"context"
E "github.com/sagernet/sing/common/exceptions"
"github.com/sagernet/sing/common/logger"
aTLS "github.com/sagernet/sing/common/tls"
)
func NewConn(ctx context.Context, logger logger.ContextLogger, conn aTLS.Conn, txOffload, rxOffload bool) (aTLS.Conn, error) {
return nil, E.New("kTLS requires Go 1.25 or later, please recompile your binary")
}

View File

@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build linux && go1.25 && !without_badtls
//go:build linux && go1.25 && badlinkname
package ktls