From a11c225cbff3178797d9c612910fcfefb8a45a6f Mon Sep 17 00:00:00 2001
From: Darien Raymond <admin@v2ray.com>
Date: Wed, 7 Dec 2016 14:33:31 +0100
Subject: [PATCH] protobuf refresh

---
 app/web/config.pb.go              | 228 ++++++++++++++++++++++++++++++
 common/protocol/headers.pb.go     |  81 +++++++++++
 common/protocol/server_spec.pb.go |  23 +--
 common/protocol/user.pb.go        |   6 +-
 4 files changed, 315 insertions(+), 23 deletions(-)
 create mode 100644 app/web/config.pb.go
 create mode 100644 common/protocol/headers.pb.go

diff --git a/app/web/config.pb.go b/app/web/config.pb.go
new file mode 100644
index 00000000..1dd5b754
--- /dev/null
+++ b/app/web/config.pb.go
@@ -0,0 +1,228 @@
+// Code generated by protoc-gen-go.
+// source: v2ray.com/core/app/web/config.proto
+// DO NOT EDIT!
+
+/*
+Package web is a generated protocol buffer package.
+
+It is generated from these files:
+	v2ray.com/core/app/web/config.proto
+
+It has these top-level messages:
+	FileServer
+	Server
+	Config
+*/
+package web
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import v2ray_core_common_loader "v2ray.com/core/common/loader"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type FileServer struct {
+	Entry []*FileServer_Entry `protobuf:"bytes,1,rep,name=entry" json:"entry,omitempty"`
+}
+
+func (m *FileServer) Reset()                    { *m = FileServer{} }
+func (m *FileServer) String() string            { return proto.CompactTextString(m) }
+func (*FileServer) ProtoMessage()               {}
+func (*FileServer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *FileServer) GetEntry() []*FileServer_Entry {
+	if m != nil {
+		return m.Entry
+	}
+	return nil
+}
+
+type FileServer_Entry struct {
+	// Types that are valid to be assigned to FileOrDir:
+	//	*FileServer_Entry_File
+	//	*FileServer_Entry_Directory
+	FileOrDir isFileServer_Entry_FileOrDir `protobuf_oneof:"FileOrDir"`
+	Path      string                       `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"`
+}
+
+func (m *FileServer_Entry) Reset()                    { *m = FileServer_Entry{} }
+func (m *FileServer_Entry) String() string            { return proto.CompactTextString(m) }
+func (*FileServer_Entry) ProtoMessage()               {}
+func (*FileServer_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
+
+type isFileServer_Entry_FileOrDir interface {
+	isFileServer_Entry_FileOrDir()
+}
+
+type FileServer_Entry_File struct {
+	File string `protobuf:"bytes,1,opt,name=File,oneof"`
+}
+type FileServer_Entry_Directory struct {
+	Directory string `protobuf:"bytes,2,opt,name=Directory,oneof"`
+}
+
+func (*FileServer_Entry_File) isFileServer_Entry_FileOrDir()      {}
+func (*FileServer_Entry_Directory) isFileServer_Entry_FileOrDir() {}
+
+func (m *FileServer_Entry) GetFileOrDir() isFileServer_Entry_FileOrDir {
+	if m != nil {
+		return m.FileOrDir
+	}
+	return nil
+}
+
+func (m *FileServer_Entry) GetFile() string {
+	if x, ok := m.GetFileOrDir().(*FileServer_Entry_File); ok {
+		return x.File
+	}
+	return ""
+}
+
+func (m *FileServer_Entry) GetDirectory() string {
+	if x, ok := m.GetFileOrDir().(*FileServer_Entry_Directory); ok {
+		return x.Directory
+	}
+	return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*FileServer_Entry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _FileServer_Entry_OneofMarshaler, _FileServer_Entry_OneofUnmarshaler, _FileServer_Entry_OneofSizer, []interface{}{
+		(*FileServer_Entry_File)(nil),
+		(*FileServer_Entry_Directory)(nil),
+	}
+}
+
+func _FileServer_Entry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*FileServer_Entry)
+	// FileOrDir
+	switch x := m.FileOrDir.(type) {
+	case *FileServer_Entry_File:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.File)
+	case *FileServer_Entry_Directory:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.Directory)
+	case nil:
+	default:
+		return fmt.Errorf("FileServer_Entry.FileOrDir has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _FileServer_Entry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*FileServer_Entry)
+	switch tag {
+	case 1: // FileOrDir.File
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.FileOrDir = &FileServer_Entry_File{x}
+		return true, err
+	case 2: // FileOrDir.Directory
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.FileOrDir = &FileServer_Entry_Directory{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _FileServer_Entry_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*FileServer_Entry)
+	// FileOrDir
+	switch x := m.FileOrDir.(type) {
+	case *FileServer_Entry_File:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.File)))
+		n += len(x.File)
+	case *FileServer_Entry_Directory:
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.Directory)))
+		n += len(x.Directory)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+type Server struct {
+	Domain   []string                                `protobuf:"bytes,1,rep,name=domain" json:"domain,omitempty"`
+	Settings *v2ray_core_common_loader.TypedSettings `protobuf:"bytes,2,opt,name=settings" json:"settings,omitempty"`
+}
+
+func (m *Server) Reset()                    { *m = Server{} }
+func (m *Server) String() string            { return proto.CompactTextString(m) }
+func (*Server) ProtoMessage()               {}
+func (*Server) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *Server) GetSettings() *v2ray_core_common_loader.TypedSettings {
+	if m != nil {
+		return m.Settings
+	}
+	return nil
+}
+
+type Config struct {
+	Server []*Server `protobuf:"bytes,1,rep,name=server" json:"server,omitempty"`
+}
+
+func (m *Config) Reset()                    { *m = Config{} }
+func (m *Config) String() string            { return proto.CompactTextString(m) }
+func (*Config) ProtoMessage()               {}
+func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *Config) GetServer() []*Server {
+	if m != nil {
+		return m.Server
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*FileServer)(nil), "v2ray.core.app.web.FileServer")
+	proto.RegisterType((*FileServer_Entry)(nil), "v2ray.core.app.web.FileServer.Entry")
+	proto.RegisterType((*Server)(nil), "v2ray.core.app.web.Server")
+	proto.RegisterType((*Config)(nil), "v2ray.core.app.web.Config")
+}
+
+func init() { proto.RegisterFile("v2ray.com/core/app/web/config.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 305 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x91, 0xc1, 0x4b, 0xc3, 0x30,
+	0x14, 0xc6, 0xad, 0xdb, 0x8a, 0x7d, 0xbd, 0x05, 0x19, 0x65, 0x07, 0x19, 0x53, 0xd8, 0xf0, 0x90,
+	0x42, 0xbd, 0x89, 0xa7, 0x6d, 0x8a, 0x37, 0xa5, 0xf3, 0xe4, 0x41, 0x68, 0xb3, 0xe7, 0x0c, 0xac,
+	0x4d, 0x78, 0x0b, 0x2b, 0xfd, 0x8f, 0xfc, 0x33, 0xa5, 0x49, 0x74, 0xa2, 0xbb, 0xe5, 0xe5, 0xfd,
+	0xbe, 0xf7, 0xbe, 0x7c, 0x81, 0xcb, 0x7d, 0x46, 0x45, 0xcb, 0x85, 0xaa, 0x52, 0xa1, 0x08, 0xd3,
+	0x42, 0xeb, 0xb4, 0xc1, 0x32, 0x15, 0xaa, 0x7e, 0x97, 0x1b, 0xae, 0x49, 0x19, 0xc5, 0xd8, 0x37,
+	0x44, 0xc8, 0x0b, 0xad, 0x79, 0x83, 0xe5, 0x68, 0xfa, 0x47, 0x28, 0x54, 0x55, 0xa9, 0x3a, 0xdd,
+	0xaa, 0x62, 0x8d, 0x94, 0x9a, 0x56, 0xa3, 0x13, 0x4f, 0x3e, 0x03, 0x80, 0x07, 0xb9, 0xc5, 0x15,
+	0xd2, 0x1e, 0x89, 0xdd, 0xc2, 0x00, 0x6b, 0x43, 0x6d, 0x12, 0x8c, 0x7b, 0xb3, 0x38, 0xbb, 0xe2,
+	0xff, 0x67, 0xf3, 0x03, 0xce, 0xef, 0x3b, 0x36, 0x77, 0x92, 0xd1, 0x1b, 0x0c, 0x6c, 0xcd, 0xce,
+	0xa1, 0xdf, 0x31, 0x49, 0x30, 0x0e, 0x66, 0xd1, 0xe3, 0x49, 0x6e, 0x2b, 0x76, 0x01, 0xd1, 0x52,
+	0x12, 0x0a, 0xa3, 0xa8, 0x4d, 0x4e, 0x7d, 0xeb, 0x70, 0xc5, 0x18, 0xf4, 0x75, 0x61, 0x3e, 0x92,
+	0x5e, 0xd7, 0xca, 0xed, 0x79, 0x1e, 0x43, 0xd4, 0x69, 0x9f, 0x68, 0x29, 0x69, 0x82, 0x10, 0x7a,
+	0x97, 0x43, 0x08, 0xd7, 0xaa, 0x2a, 0x64, 0x6d, 0x6d, 0x46, 0xb9, 0xaf, 0xd8, 0x02, 0xce, 0x76,
+	0x68, 0x8c, 0xac, 0x37, 0x3b, 0xbb, 0x21, 0xce, 0xa6, 0xbf, 0x1f, 0xe0, 0x42, 0xe0, 0x2e, 0x04,
+	0xfe, 0xd2, 0x6a, 0x5c, 0xaf, 0x3c, 0x9e, 0xff, 0x08, 0x27, 0x77, 0x10, 0x2e, 0x6c, 0xbc, 0x2c,
+	0x83, 0x70, 0x67, 0x17, 0xfa, 0x34, 0x46, 0xc7, 0xd2, 0x70, 0x96, 0x72, 0x4f, 0xce, 0xaf, 0x61,
+	0x28, 0x54, 0x75, 0x04, 0x9c, 0xc7, 0x6e, 0xea, 0x73, 0x17, 0xfb, 0x6b, 0xaf, 0xc1, 0xb2, 0x0c,
+	0xed, 0x17, 0xdc, 0x7c, 0x05, 0x00, 0x00, 0xff, 0xff, 0x27, 0xdc, 0x68, 0xd1, 0xe6, 0x01, 0x00,
+	0x00,
+}
diff --git a/common/protocol/headers.pb.go b/common/protocol/headers.pb.go
new file mode 100644
index 00000000..08394d8a
--- /dev/null
+++ b/common/protocol/headers.pb.go
@@ -0,0 +1,81 @@
+// Code generated by protoc-gen-go.
+// source: v2ray.com/core/common/protocol/headers.proto
+// DO NOT EDIT!
+
+/*
+Package protocol is a generated protocol buffer package.
+
+It is generated from these files:
+	v2ray.com/core/common/protocol/headers.proto
+	v2ray.com/core/common/protocol/server_spec.proto
+	v2ray.com/core/common/protocol/user.proto
+
+It has these top-level messages:
+	ServerEndpoint
+	User
+*/
+package protocol
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type SecurityType int32
+
+const (
+	SecurityType_LEGACY            SecurityType = 0
+	SecurityType_NONE              SecurityType = 1
+	SecurityType_AES128_GCM        SecurityType = 2
+	SecurityType_CHACHA20_POLY1305 SecurityType = 3
+)
+
+var SecurityType_name = map[int32]string{
+	0: "LEGACY",
+	1: "NONE",
+	2: "AES128_GCM",
+	3: "CHACHA20_POLY1305",
+}
+var SecurityType_value = map[string]int32{
+	"LEGACY":            0,
+	"NONE":              1,
+	"AES128_GCM":        2,
+	"CHACHA20_POLY1305": 3,
+}
+
+func (x SecurityType) String() string {
+	return proto.EnumName(SecurityType_name, int32(x))
+}
+func (SecurityType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func init() {
+	proto.RegisterEnum("v2ray.core.common.protocol.SecurityType", SecurityType_name, SecurityType_value)
+}
+
+func init() { proto.RegisterFile("v2ray.com/core/common/protocol/headers.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 183 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xd2, 0x29, 0x33, 0x2a, 0x4a,
+	0xac, 0xd4, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0xce, 0xcf, 0xcd, 0xcd,
+	0xcf, 0xd3, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0xce, 0xcf, 0xd1, 0xcf, 0x48, 0x4d, 0x4c, 0x49,
+	0x2d, 0x2a, 0xd6, 0x03, 0x0b, 0x08, 0x49, 0xc1, 0x54, 0x17, 0xa5, 0xea, 0x41, 0x54, 0xea, 0xc1,
+	0x54, 0x6a, 0x79, 0x73, 0xf1, 0x04, 0xa7, 0x26, 0x97, 0x16, 0x65, 0x96, 0x54, 0x86, 0x54, 0x16,
+	0xa4, 0x0a, 0x71, 0x71, 0xb1, 0xf9, 0xb8, 0xba, 0x3b, 0x3a, 0x47, 0x0a, 0x30, 0x08, 0x71, 0x70,
+	0xb1, 0xf8, 0xf9, 0xfb, 0xb9, 0x0a, 0x30, 0x0a, 0xf1, 0x71, 0x71, 0x39, 0xba, 0x06, 0x1b, 0x1a,
+	0x59, 0xc4, 0xbb, 0x3b, 0xfb, 0x0a, 0x30, 0x09, 0x89, 0x72, 0x09, 0x3a, 0x7b, 0x38, 0x3a, 0x7b,
+	0x38, 0x1a, 0x19, 0xc4, 0x07, 0xf8, 0xfb, 0x44, 0x1a, 0x1a, 0x1b, 0x98, 0x0a, 0x30, 0x3b, 0x59,
+	0x70, 0xc9, 0x25, 0xe7, 0xe7, 0xea, 0xe1, 0xb6, 0xce, 0x89, 0xc7, 0x03, 0xe2, 0xb2, 0x00, 0x90,
+	0x40, 0x14, 0x07, 0x4c, 0x3c, 0x89, 0x0d, 0xcc, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x39,
+	0x10, 0x43, 0xb4, 0xd9, 0x00, 0x00, 0x00,
+}
diff --git a/common/protocol/server_spec.pb.go b/common/protocol/server_spec.pb.go
index 80b0eea6..1a643245 100644
--- a/common/protocol/server_spec.pb.go
+++ b/common/protocol/server_spec.pb.go
@@ -2,17 +2,6 @@
 // source: v2ray.com/core/common/protocol/server_spec.proto
 // DO NOT EDIT!
 
-/*
-Package protocol is a generated protocol buffer package.
-
-It is generated from these files:
-	v2ray.com/core/common/protocol/server_spec.proto
-	v2ray.com/core/common/protocol/user.proto
-
-It has these top-level messages:
-	ServerEndpoint
-	User
-*/
 package protocol
 
 import proto "github.com/golang/protobuf/proto"
@@ -25,12 +14,6 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
 type ServerEndpoint struct {
 	Address *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
 	Port    uint32                            `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
@@ -40,7 +23,7 @@ type ServerEndpoint struct {
 func (m *ServerEndpoint) Reset()                    { *m = ServerEndpoint{} }
 func (m *ServerEndpoint) String() string            { return proto.CompactTextString(m) }
 func (*ServerEndpoint) ProtoMessage()               {}
-func (*ServerEndpoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*ServerEndpoint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 func (m *ServerEndpoint) GetAddress() *v2ray_core_common_net.IPOrDomain {
 	if m != nil {
@@ -60,9 +43,9 @@ func init() {
 	proto.RegisterType((*ServerEndpoint)(nil), "v2ray.core.common.protocol.ServerEndpoint")
 }
 
-func init() { proto.RegisterFile("v2ray.com/core/common/protocol/server_spec.proto", fileDescriptor0) }
+func init() { proto.RegisterFile("v2ray.com/core/common/protocol/server_spec.proto", fileDescriptor1) }
 
-var fileDescriptor0 = []byte{
+var fileDescriptor1 = []byte{
 	// 230 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x8f, 0x3d, 0x4b, 0x04, 0x31,
 	0x10, 0x86, 0x59, 0xef, 0x50, 0xc9, 0xa1, 0x42, 0xaa, 0x65, 0x0b, 0x89, 0x36, 0xae, 0xcd, 0x44,
diff --git a/common/protocol/user.pb.go b/common/protocol/user.pb.go
index d41452ba..6d5ea180 100644
--- a/common/protocol/user.pb.go
+++ b/common/protocol/user.pb.go
@@ -24,7 +24,7 @@ type User struct {
 func (m *User) Reset()                    { *m = User{} }
 func (m *User) String() string            { return proto.CompactTextString(m) }
 func (*User) ProtoMessage()               {}
-func (*User) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*User) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 func (m *User) GetAccount() *v2ray_core_common_loader.TypedSettings {
 	if m != nil {
@@ -37,9 +37,9 @@ func init() {
 	proto.RegisterType((*User)(nil), "v2ray.core.common.protocol.User")
 }
 
-func init() { proto.RegisterFile("v2ray.com/core/common/protocol/user.proto", fileDescriptor1) }
+func init() { proto.RegisterFile("v2ray.com/core/common/protocol/user.proto", fileDescriptor2) }
 
-var fileDescriptor1 = []byte{
+var fileDescriptor2 = []byte{
 	// 200 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x8f, 0x3f, 0xef, 0x82, 0x30,
 	0x10, 0x86, 0xd3, 0xdf, 0x5f, 0xa9, 0x71, 0x21, 0x0e, 0x84, 0xc1, 0x10, 0x17, 0x70, 0x69, 0x13,