From 690995d8ced10e57c28aed89b4205c9a77b7ef81 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sun, 5 Sep 2021 10:26:17 +0100 Subject: [PATCH] add tls config register --- transport/internet/tls/config.proto | 5 +++++ transport/internet/tls/tls.go | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/transport/internet/tls/config.proto b/transport/internet/tls/config.proto index ce42d9fef..66c75310e 100644 --- a/transport/internet/tls/config.proto +++ b/transport/internet/tls/config.proto @@ -6,6 +6,8 @@ option go_package = "github.com/v2fly/v2ray-core/v4/transport/internet/tls"; option java_package = "com.v2ray.core.transport.internet.tls"; option java_multiple_files = true; +import "common/protoext/extensions.proto"; + message Certificate { // TLS certificate in x509 format. bytes Certificate = 1; @@ -24,6 +26,9 @@ message Certificate { } message Config { + option (v2ray.core.common.protoext.message_opt).type = "security"; + option (v2ray.core.common.protoext.message_opt).short_name = "tls"; + // Whether or not to allow self-signed certificates. bool allow_insecure = 1; diff --git a/transport/internet/tls/tls.go b/transport/internet/tls/tls.go index db72d1bd7..9dcaf1c30 100644 --- a/transport/internet/tls/tls.go +++ b/transport/internet/tls/tls.go @@ -1,7 +1,9 @@ package tls import ( + "context" "crypto/tls" + "github.com/v2fly/v2ray-core/v4/common" "github.com/v2fly/v2ray-core/v4/common/buf" "github.com/v2fly/v2ray-core/v4/common/net" @@ -61,3 +63,9 @@ func Server(c net.Conn, config *tls.Config) net.Conn { tlsConn := tls.Server(c, config) return &Conn{Conn: tlsConn} } + +func init() { + common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) { + return nil, newError("tls should be used with v2tls") + })) +}