From 642aa24156e66118ea5c36ff233196d7dbfd3ff0 Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Mon, 29 Jul 2024 04:02:21 -0500 Subject: [PATCH 1/5] SplitHTTP: Rename maxUploadSize to maxUploadBytes, reduce server defaults --- infra/conf/transport_internet.go | 8 +-- transport/internet/splithttp/config.go | 32 +++------- transport/internet/splithttp/config.pb.go | 72 +++++++++++------------ transport/internet/splithttp/config.proto | 2 +- transport/internet/splithttp/dialer.go | 4 +- transport/internet/splithttp/hub.go | 6 +- 6 files changed, 55 insertions(+), 69 deletions(-) diff --git a/infra/conf/transport_internet.go b/infra/conf/transport_internet.go index 40f648b3e121..0cc502d96aba 100644 --- a/infra/conf/transport_internet.go +++ b/infra/conf/transport_internet.go @@ -230,7 +230,7 @@ type SplitHTTPConfig struct { Path string `json:"path"` Headers map[string]string `json:"headers"` MaxConcurrentUploads Int32Range `json:"maxConcurrentUploads"` - MaxUploadSize Int32Range `json:"maxUploadSize"` + MaxUploadBytes Int32Range `json:"maxUploadBytes"` MinUploadIntervalMs Int32Range `json:"minUploadIntervalMs"` NoSSEHeader bool `json:"noSSEHeader"` } @@ -253,9 +253,9 @@ func (c *SplitHTTPConfig) Build() (proto.Message, error) { From: c.MaxConcurrentUploads.From, To: c.MaxConcurrentUploads.To, }, - MaxUploadSize: &splithttp.RandRangeConfig{ - From: c.MaxUploadSize.From, - To: c.MaxUploadSize.To, + MaxUploadBytes: &splithttp.RandRangeConfig{ + From: c.MaxUploadBytes.From, + To: c.MaxUploadBytes.To, }, MinUploadIntervalMs: &splithttp.RandRangeConfig{ From: c.MinUploadIntervalMs.From, diff --git a/transport/internet/splithttp/config.go b/transport/internet/splithttp/config.go index 7f2dc3f5c04e..6451e13487ba 100644 --- a/transport/internet/splithttp/config.go +++ b/transport/internet/splithttp/config.go @@ -38,38 +38,24 @@ func (c *Config) GetRequestHeader() http.Header { func (c *Config) GetNormalizedMaxConcurrentUploads(isServer bool) RandRangeConfig { if c.MaxConcurrentUploads == nil || c.MaxConcurrentUploads.To == 0 { - if isServer { - return RandRangeConfig{ - From: 200, - To: 200, - } - } else { - return RandRangeConfig{ - From: 100, - To: 100, - } + return RandRangeConfig{ + From: 100, + To: 100, } } return *c.MaxConcurrentUploads } -func (c *Config) GetNormalizedMaxUploadSize(isServer bool) RandRangeConfig { - if c.MaxUploadSize == nil || c.MaxUploadSize.To == 0 { - if isServer { - return RandRangeConfig{ - From: 2000000, - To: 2000000, - } - } else { - return RandRangeConfig{ - From: 1000000, - To: 1000000, - } +func (c *Config) GetNormalizedMaxUploadBytes(isServer bool) RandRangeConfig { + if c.MaxUploadBytes == nil || c.MaxUploadBytes.To == 0 { + return RandRangeConfig{ + From: 1000000, + To: 1000000, } } - return *c.MaxUploadSize + return *c.MaxUploadBytes } func (c *Config) GetNormalizedMinUploadInterval() RandRangeConfig { diff --git a/transport/internet/splithttp/config.pb.go b/transport/internet/splithttp/config.pb.go index 8e69867e0a2f..d74e65467837 100644 --- a/transport/internet/splithttp/config.pb.go +++ b/transport/internet/splithttp/config.pb.go @@ -29,7 +29,7 @@ type Config struct { Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` Header map[string]string `protobuf:"bytes,3,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` MaxConcurrentUploads *RandRangeConfig `protobuf:"bytes,4,opt,name=maxConcurrentUploads,proto3" json:"maxConcurrentUploads,omitempty"` - MaxUploadSize *RandRangeConfig `protobuf:"bytes,5,opt,name=maxUploadSize,proto3" json:"maxUploadSize,omitempty"` + MaxUploadBytes *RandRangeConfig `protobuf:"bytes,5,opt,name=maxUploadBytes,proto3" json:"maxUploadBytes,omitempty"` MinUploadIntervalMs *RandRangeConfig `protobuf:"bytes,6,opt,name=minUploadIntervalMs,proto3" json:"minUploadIntervalMs,omitempty"` NoSSEHeader bool `protobuf:"varint,7,opt,name=noSSEHeader,proto3" json:"noSSEHeader,omitempty"` } @@ -94,9 +94,9 @@ func (x *Config) GetMaxConcurrentUploads() *RandRangeConfig { return nil } -func (x *Config) GetMaxUploadSize() *RandRangeConfig { +func (x *Config) GetMaxUploadBytes() *RandRangeConfig { if x != nil { - return x.MaxUploadSize + return x.MaxUploadBytes } return nil } @@ -177,7 +177,7 @@ var file_transport_internet_splithttp_config_proto_rawDesc = []byte{ 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x22, 0x84, + 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x22, 0x86, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, @@ -192,37 +192,37 @@ var file_transport_internet_splithttp_config_proto_rawDesc = []byte{ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x58, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, - 0x74, 0x74, 0x70, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, - 0x74, 0x74, 0x70, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x53, 0x53, - 0x45, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, - 0x6f, 0x53, 0x53, 0x45, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x85, 0x01, 0x0a, - 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, - 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, - 0x6f, 0x72, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, - 0xaa, 0x02, 0x21, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x5a, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, + 0x53, 0x53, 0x45, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x6e, 0x6f, 0x53, 0x53, 0x45, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, + 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x85, + 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x73, + 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, 0x74, 0x70, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, + 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x68, 0x74, + 0x74, 0x70, 0xaa, 0x02, 0x21, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x53, 0x70, 0x6c, + 0x69, 0x74, 0x48, 0x74, 0x74, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -246,7 +246,7 @@ var file_transport_internet_splithttp_config_proto_goTypes = []interface{}{ var file_transport_internet_splithttp_config_proto_depIdxs = []int32{ 2, // 0: xray.transport.internet.splithttp.Config.header:type_name -> xray.transport.internet.splithttp.Config.HeaderEntry 1, // 1: xray.transport.internet.splithttp.Config.maxConcurrentUploads:type_name -> xray.transport.internet.splithttp.RandRangeConfig - 1, // 2: xray.transport.internet.splithttp.Config.maxUploadSize:type_name -> xray.transport.internet.splithttp.RandRangeConfig + 1, // 2: xray.transport.internet.splithttp.Config.maxUploadBytes:type_name -> xray.transport.internet.splithttp.RandRangeConfig 1, // 3: xray.transport.internet.splithttp.Config.minUploadIntervalMs:type_name -> xray.transport.internet.splithttp.RandRangeConfig 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type diff --git a/transport/internet/splithttp/config.proto b/transport/internet/splithttp/config.proto index 807732c3a766..e908c0f9523d 100644 --- a/transport/internet/splithttp/config.proto +++ b/transport/internet/splithttp/config.proto @@ -11,7 +11,7 @@ message Config { string path = 2; map header = 3; RandRangeConfig maxConcurrentUploads = 4; - RandRangeConfig maxUploadSize = 5; + RandRangeConfig maxUploadBytes = 5; RandRangeConfig minUploadIntervalMs = 6; bool noSSEHeader = 7; } diff --git a/transport/internet/splithttp/dialer.go b/transport/internet/splithttp/dialer.go index 0448b2f77c0c..fe7e1cc3a54a 100644 --- a/transport/internet/splithttp/dialer.go +++ b/transport/internet/splithttp/dialer.go @@ -182,7 +182,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me tlsConfig := tls.ConfigFromStreamSettings(streamSettings) maxConcurrentUploads := transportConfiguration.GetNormalizedMaxConcurrentUploads(false) - maxUploadSize := transportConfiguration.GetNormalizedMaxUploadSize(false) + maxUploadBytes := transportConfiguration.GetNormalizedMaxUploadBytes(false) minUploadInterval := transportConfiguration.GetNormalizedMinUploadInterval() if tlsConfig != nil { @@ -201,7 +201,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me httpClient := getHTTPClient(ctx, dest, streamSettings) - uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(maxUploadSize.roll())) + uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(maxUploadBytes.roll())) go func() { requestsLimiter := semaphore.New(int(maxConcurrentUploads.roll())) diff --git a/transport/internet/splithttp/hub.go b/transport/internet/splithttp/hub.go index ce54ed07b841..b661f47b17a7 100644 --- a/transport/internet/splithttp/hub.go +++ b/transport/internet/splithttp/hub.go @@ -123,7 +123,7 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req } currentSession := h.upsertSession(sessionId) - maxUploadSize := int(h.ln.config.GetNormalizedMaxUploadSize(true).To) + maxUploadBytes := int(h.ln.config.GetNormalizedMaxUploadBytes(true).To) if request.Method == "POST" { seq := "" @@ -139,8 +139,8 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req payload, err := io.ReadAll(request.Body) - if len(payload) > maxUploadSize { - errors.LogInfo(context.Background(), "Too large upload. maxUploadSize is set to", maxUploadSize, "but request had size", len(payload), ". Adjust maxUploadSize on the server to be at least as large as client.") + if len(payload) > maxUploadBytes { + errors.LogInfo(context.Background(), "Too large upload. maxUploadBytes is set to ", maxUploadBytes, "but request had size ", len(payload), ". Adjust maxUploadBytes on the server to be at least as large as client.") writer.WriteHeader(http.StatusRequestEntityTooLarge) return } From c5d3c141a4b99c66bd2a08d662e612463f66d1eb Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Mon, 29 Jul 2024 04:06:03 -0500 Subject: [PATCH 2/5] each --- infra/conf/transport_internet.go | 8 ++++---- transport/internet/splithttp/config.go | 6 +++--- transport/internet/splithttp/config.pb.go | 8 ++++---- transport/internet/splithttp/config.proto | 2 +- transport/internet/splithttp/dialer.go | 4 ++-- transport/internet/splithttp/hub.go | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/infra/conf/transport_internet.go b/infra/conf/transport_internet.go index 0cc502d96aba..50dbcf0309cf 100644 --- a/infra/conf/transport_internet.go +++ b/infra/conf/transport_internet.go @@ -230,7 +230,7 @@ type SplitHTTPConfig struct { Path string `json:"path"` Headers map[string]string `json:"headers"` MaxConcurrentUploads Int32Range `json:"maxConcurrentUploads"` - MaxUploadBytes Int32Range `json:"maxUploadBytes"` + MaxEachUploadBytes Int32Range `json:"maxEachUploadBytes"` MinUploadIntervalMs Int32Range `json:"minUploadIntervalMs"` NoSSEHeader bool `json:"noSSEHeader"` } @@ -253,9 +253,9 @@ func (c *SplitHTTPConfig) Build() (proto.Message, error) { From: c.MaxConcurrentUploads.From, To: c.MaxConcurrentUploads.To, }, - MaxUploadBytes: &splithttp.RandRangeConfig{ - From: c.MaxUploadBytes.From, - To: c.MaxUploadBytes.To, + MaxEachUploadBytes: &splithttp.RandRangeConfig{ + From: c.MaxEachUploadBytes.From, + To: c.MaxEachUploadBytes.To, }, MinUploadIntervalMs: &splithttp.RandRangeConfig{ From: c.MinUploadIntervalMs.From, diff --git a/transport/internet/splithttp/config.go b/transport/internet/splithttp/config.go index 6451e13487ba..4e04bfb0a623 100644 --- a/transport/internet/splithttp/config.go +++ b/transport/internet/splithttp/config.go @@ -47,15 +47,15 @@ func (c *Config) GetNormalizedMaxConcurrentUploads(isServer bool) RandRangeConfi return *c.MaxConcurrentUploads } -func (c *Config) GetNormalizedMaxUploadBytes(isServer bool) RandRangeConfig { - if c.MaxUploadBytes == nil || c.MaxUploadBytes.To == 0 { +func (c *Config) GetNormalizedMaxEachUploadBytes(isServer bool) RandRangeConfig { + if c.MaxEachUploadBytes == nil || c.MaxEachUploadBytes.To == 0 { return RandRangeConfig{ From: 1000000, To: 1000000, } } - return *c.MaxUploadBytes + return *c.MaxEachUploadBytes } func (c *Config) GetNormalizedMinUploadInterval() RandRangeConfig { diff --git a/transport/internet/splithttp/config.pb.go b/transport/internet/splithttp/config.pb.go index d74e65467837..ebf680d65f56 100644 --- a/transport/internet/splithttp/config.pb.go +++ b/transport/internet/splithttp/config.pb.go @@ -29,7 +29,7 @@ type Config struct { Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` Header map[string]string `protobuf:"bytes,3,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` MaxConcurrentUploads *RandRangeConfig `protobuf:"bytes,4,opt,name=maxConcurrentUploads,proto3" json:"maxConcurrentUploads,omitempty"` - MaxUploadBytes *RandRangeConfig `protobuf:"bytes,5,opt,name=maxUploadBytes,proto3" json:"maxUploadBytes,omitempty"` + MaxEachUploadBytes *RandRangeConfig `protobuf:"bytes,5,opt,name=maxEachUploadBytes,proto3" json:"maxEachUploadBytes,omitempty"` MinUploadIntervalMs *RandRangeConfig `protobuf:"bytes,6,opt,name=minUploadIntervalMs,proto3" json:"minUploadIntervalMs,omitempty"` NoSSEHeader bool `protobuf:"varint,7,opt,name=noSSEHeader,proto3" json:"noSSEHeader,omitempty"` } @@ -94,9 +94,9 @@ func (x *Config) GetMaxConcurrentUploads() *RandRangeConfig { return nil } -func (x *Config) GetMaxUploadBytes() *RandRangeConfig { +func (x *Config) GetMaxEachUploadBytes() *RandRangeConfig { if x != nil { - return x.MaxUploadBytes + return x.MaxEachUploadBytes } return nil } @@ -246,7 +246,7 @@ var file_transport_internet_splithttp_config_proto_goTypes = []interface{}{ var file_transport_internet_splithttp_config_proto_depIdxs = []int32{ 2, // 0: xray.transport.internet.splithttp.Config.header:type_name -> xray.transport.internet.splithttp.Config.HeaderEntry 1, // 1: xray.transport.internet.splithttp.Config.maxConcurrentUploads:type_name -> xray.transport.internet.splithttp.RandRangeConfig - 1, // 2: xray.transport.internet.splithttp.Config.maxUploadBytes:type_name -> xray.transport.internet.splithttp.RandRangeConfig + 1, // 2: xray.transport.internet.splithttp.Config.maxEachUploadBytes:type_name -> xray.transport.internet.splithttp.RandRangeConfig 1, // 3: xray.transport.internet.splithttp.Config.minUploadIntervalMs:type_name -> xray.transport.internet.splithttp.RandRangeConfig 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type diff --git a/transport/internet/splithttp/config.proto b/transport/internet/splithttp/config.proto index e908c0f9523d..1c8dd18f113e 100644 --- a/transport/internet/splithttp/config.proto +++ b/transport/internet/splithttp/config.proto @@ -11,7 +11,7 @@ message Config { string path = 2; map header = 3; RandRangeConfig maxConcurrentUploads = 4; - RandRangeConfig maxUploadBytes = 5; + RandRangeConfig maxEachUploadBytes = 5; RandRangeConfig minUploadIntervalMs = 6; bool noSSEHeader = 7; } diff --git a/transport/internet/splithttp/dialer.go b/transport/internet/splithttp/dialer.go index fe7e1cc3a54a..7f8cb6a85433 100644 --- a/transport/internet/splithttp/dialer.go +++ b/transport/internet/splithttp/dialer.go @@ -182,7 +182,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me tlsConfig := tls.ConfigFromStreamSettings(streamSettings) maxConcurrentUploads := transportConfiguration.GetNormalizedMaxConcurrentUploads(false) - maxUploadBytes := transportConfiguration.GetNormalizedMaxUploadBytes(false) + maxEachUploadBytes := transportConfiguration.GetNormalizedMaxEachUploadBytes(false) minUploadInterval := transportConfiguration.GetNormalizedMinUploadInterval() if tlsConfig != nil { @@ -201,7 +201,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me httpClient := getHTTPClient(ctx, dest, streamSettings) - uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(maxUploadBytes.roll())) + uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(maxEachUploadBytes.roll())) go func() { requestsLimiter := semaphore.New(int(maxConcurrentUploads.roll())) diff --git a/transport/internet/splithttp/hub.go b/transport/internet/splithttp/hub.go index b661f47b17a7..0182826f375a 100644 --- a/transport/internet/splithttp/hub.go +++ b/transport/internet/splithttp/hub.go @@ -123,7 +123,7 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req } currentSession := h.upsertSession(sessionId) - maxUploadBytes := int(h.ln.config.GetNormalizedMaxUploadBytes(true).To) + maxEachUploadBytes := int(h.ln.config.GetNormalizedMaxEachUploadBytes(true).To) if request.Method == "POST" { seq := "" @@ -139,8 +139,8 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req payload, err := io.ReadAll(request.Body) - if len(payload) > maxUploadBytes { - errors.LogInfo(context.Background(), "Too large upload. maxUploadBytes is set to ", maxUploadBytes, "but request had size ", len(payload), ". Adjust maxUploadBytes on the server to be at least as large as client.") + if len(payload) > maxEachUploadBytes { + errors.LogInfo(context.Background(), "Too large upload. maxEachUploadBytes is set to ", maxEachUploadBytes, "but request had size ", len(payload), ". Adjust maxEachUploadBytes on the server to be at least as large as client.") writer.WriteHeader(http.StatusRequestEntityTooLarge) return } From 6367321dce4e0cf1ea6b4675017be6a94340c345 Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Mon, 29 Jul 2024 04:07:14 -0500 Subject: [PATCH 3/5] remove unused function arg --- transport/internet/splithttp/config.go | 4 ++-- transport/internet/splithttp/dialer.go | 4 ++-- transport/internet/splithttp/hub.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/transport/internet/splithttp/config.go b/transport/internet/splithttp/config.go index 4e04bfb0a623..451bd1546f8e 100644 --- a/transport/internet/splithttp/config.go +++ b/transport/internet/splithttp/config.go @@ -36,7 +36,7 @@ func (c *Config) GetRequestHeader() http.Header { return header } -func (c *Config) GetNormalizedMaxConcurrentUploads(isServer bool) RandRangeConfig { +func (c *Config) GetNormalizedMaxConcurrentUploads() RandRangeConfig { if c.MaxConcurrentUploads == nil || c.MaxConcurrentUploads.To == 0 { return RandRangeConfig{ From: 100, @@ -47,7 +47,7 @@ func (c *Config) GetNormalizedMaxConcurrentUploads(isServer bool) RandRangeConfi return *c.MaxConcurrentUploads } -func (c *Config) GetNormalizedMaxEachUploadBytes(isServer bool) RandRangeConfig { +func (c *Config) GetNormalizedMaxEachUploadBytes() RandRangeConfig { if c.MaxEachUploadBytes == nil || c.MaxEachUploadBytes.To == 0 { return RandRangeConfig{ From: 1000000, diff --git a/transport/internet/splithttp/dialer.go b/transport/internet/splithttp/dialer.go index 7f8cb6a85433..36ae53c40e78 100644 --- a/transport/internet/splithttp/dialer.go +++ b/transport/internet/splithttp/dialer.go @@ -181,8 +181,8 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me transportConfiguration := streamSettings.ProtocolSettings.(*Config) tlsConfig := tls.ConfigFromStreamSettings(streamSettings) - maxConcurrentUploads := transportConfiguration.GetNormalizedMaxConcurrentUploads(false) - maxEachUploadBytes := transportConfiguration.GetNormalizedMaxEachUploadBytes(false) + maxConcurrentUploads := transportConfiguration.GetNormalizedMaxConcurrentUploads() + maxEachUploadBytes := transportConfiguration.GetNormalizedMaxEachUploadBytes() minUploadInterval := transportConfiguration.GetNormalizedMinUploadInterval() if tlsConfig != nil { diff --git a/transport/internet/splithttp/hub.go b/transport/internet/splithttp/hub.go index 0182826f375a..de19ef006036 100644 --- a/transport/internet/splithttp/hub.go +++ b/transport/internet/splithttp/hub.go @@ -76,7 +76,7 @@ func (h *requestHandler) upsertSession(sessionId string) *httpSession { } s := &httpSession{ - uploadQueue: NewUploadQueue(int(h.ln.config.GetNormalizedMaxConcurrentUploads(true).To)), + uploadQueue: NewUploadQueue(int(h.ln.config.GetNormalizedMaxConcurrentUploads().To)), isFullyConnected: done.New(), } @@ -123,7 +123,7 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req } currentSession := h.upsertSession(sessionId) - maxEachUploadBytes := int(h.ln.config.GetNormalizedMaxEachUploadBytes(true).To) + maxEachUploadBytes := int(h.ln.config.GetNormalizedMaxEachUploadBytes().To) if request.Method == "POST" { seq := "" From 912c8d0dcd49504154231cb87f07879da625f575 Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Mon, 29 Jul 2024 04:50:30 -0500 Subject: [PATCH 4/5] last rename --- infra/conf/transport_internet.go | 24 +++++++++++------------ transport/internet/splithttp/config.go | 16 +++++++-------- transport/internet/splithttp/config.pb.go | 24 +++++++++++------------ transport/internet/splithttp/config.proto | 6 +++--- transport/internet/splithttp/dialer.go | 8 ++++---- transport/internet/splithttp/hub.go | 8 ++++---- 6 files changed, 43 insertions(+), 43 deletions(-) diff --git a/infra/conf/transport_internet.go b/infra/conf/transport_internet.go index 50dbcf0309cf..f50a1edb8e36 100644 --- a/infra/conf/transport_internet.go +++ b/infra/conf/transport_internet.go @@ -229,9 +229,9 @@ type SplitHTTPConfig struct { Host string `json:"host"` Path string `json:"path"` Headers map[string]string `json:"headers"` - MaxConcurrentUploads Int32Range `json:"maxConcurrentUploads"` - MaxEachUploadBytes Int32Range `json:"maxEachUploadBytes"` - MinUploadIntervalMs Int32Range `json:"minUploadIntervalMs"` + ScMaxConcurrentPosts Int32Range `json:"scMaxConcurrentPosts"` + ScMaxEachPostBytes Int32Range `json:"scMaxEachPostBytes"` + ScMinPostsIntervalMs Int32Range `json:"scMinPostsIntervalMs"` NoSSEHeader bool `json:"noSSEHeader"` } @@ -249,17 +249,17 @@ func (c *SplitHTTPConfig) Build() (proto.Message, error) { Path: c.Path, Host: c.Host, Header: c.Headers, - MaxConcurrentUploads: &splithttp.RandRangeConfig{ - From: c.MaxConcurrentUploads.From, - To: c.MaxConcurrentUploads.To, + ScMaxConcurrentPosts: &splithttp.RandRangeConfig{ + From: c.ScMaxConcurrentPosts.From, + To: c.ScMaxConcurrentPosts.To, }, - MaxEachUploadBytes: &splithttp.RandRangeConfig{ - From: c.MaxEachUploadBytes.From, - To: c.MaxEachUploadBytes.To, + ScMaxEachPostBytes: &splithttp.RandRangeConfig{ + From: c.ScMaxEachPostBytes.From, + To: c.ScMaxEachPostBytes.To, }, - MinUploadIntervalMs: &splithttp.RandRangeConfig{ - From: c.MinUploadIntervalMs.From, - To: c.MinUploadIntervalMs.To, + ScMinPostsIntervalMs: &splithttp.RandRangeConfig{ + From: c.ScMinPostsIntervalMs.From, + To: c.ScMinPostsIntervalMs.To, }, NoSSEHeader: c.NoSSEHeader, } diff --git a/transport/internet/splithttp/config.go b/transport/internet/splithttp/config.go index 451bd1546f8e..95d70b6c878e 100644 --- a/transport/internet/splithttp/config.go +++ b/transport/internet/splithttp/config.go @@ -36,37 +36,37 @@ func (c *Config) GetRequestHeader() http.Header { return header } -func (c *Config) GetNormalizedMaxConcurrentUploads() RandRangeConfig { - if c.MaxConcurrentUploads == nil || c.MaxConcurrentUploads.To == 0 { +func (c *Config) GetNormalizedScMaxConcurrentPosts() RandRangeConfig { + if c.ScMaxConcurrentPosts == nil || c.ScMaxConcurrentPosts.To == 0 { return RandRangeConfig{ From: 100, To: 100, } } - return *c.MaxConcurrentUploads + return *c.ScMaxConcurrentPosts } -func (c *Config) GetNormalizedMaxEachUploadBytes() RandRangeConfig { - if c.MaxEachUploadBytes == nil || c.MaxEachUploadBytes.To == 0 { +func (c *Config) GetNormalizedScMaxEachPostBytes() RandRangeConfig { + if c.ScMaxEachPostBytes == nil || c.ScMaxEachPostBytes.To == 0 { return RandRangeConfig{ From: 1000000, To: 1000000, } } - return *c.MaxEachUploadBytes + return *c.ScMaxEachPostBytes } func (c *Config) GetNormalizedMinUploadInterval() RandRangeConfig { - if c.MinUploadIntervalMs == nil || c.MinUploadIntervalMs.To == 0 { + if c.ScMinPostsIntervalMs == nil || c.ScMinPostsIntervalMs.To == 0 { return RandRangeConfig{ From: 30, To: 30, } } - return *c.MinUploadIntervalMs + return *c.ScMinPostsIntervalMs } func init() { diff --git a/transport/internet/splithttp/config.pb.go b/transport/internet/splithttp/config.pb.go index ebf680d65f56..c543df005082 100644 --- a/transport/internet/splithttp/config.pb.go +++ b/transport/internet/splithttp/config.pb.go @@ -28,9 +28,9 @@ type Config struct { Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` Header map[string]string `protobuf:"bytes,3,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - MaxConcurrentUploads *RandRangeConfig `protobuf:"bytes,4,opt,name=maxConcurrentUploads,proto3" json:"maxConcurrentUploads,omitempty"` - MaxEachUploadBytes *RandRangeConfig `protobuf:"bytes,5,opt,name=maxEachUploadBytes,proto3" json:"maxEachUploadBytes,omitempty"` - MinUploadIntervalMs *RandRangeConfig `protobuf:"bytes,6,opt,name=minUploadIntervalMs,proto3" json:"minUploadIntervalMs,omitempty"` + ScMaxConcurrentPosts *RandRangeConfig `protobuf:"bytes,4,opt,name=scMaxConcurrentPosts,proto3" json:"scMaxConcurrentPosts,omitempty"` + ScMaxEachPostBytes *RandRangeConfig `protobuf:"bytes,5,opt,name=scMaxEachPostBytes,proto3" json:"scMaxEachPostBytes,omitempty"` + ScMinPostsIntervalMs *RandRangeConfig `protobuf:"bytes,6,opt,name=scMinPostsIntervalMs,proto3" json:"scMinPostsIntervalMs,omitempty"` NoSSEHeader bool `protobuf:"varint,7,opt,name=noSSEHeader,proto3" json:"noSSEHeader,omitempty"` } @@ -87,23 +87,23 @@ func (x *Config) GetHeader() map[string]string { return nil } -func (x *Config) GetMaxConcurrentUploads() *RandRangeConfig { +func (x *Config) GetScMaxConcurrentPosts() *RandRangeConfig { if x != nil { - return x.MaxConcurrentUploads + return x.ScMaxConcurrentPosts } return nil } -func (x *Config) GetMaxEachUploadBytes() *RandRangeConfig { +func (x *Config) GetScMaxEachPostBytes() *RandRangeConfig { if x != nil { - return x.MaxEachUploadBytes + return x.ScMaxEachPostBytes } return nil } -func (x *Config) GetMinUploadIntervalMs() *RandRangeConfig { +func (x *Config) GetScMinPostsIntervalMs() *RandRangeConfig { if x != nil { - return x.MinUploadIntervalMs + return x.ScMinPostsIntervalMs } return nil } @@ -245,9 +245,9 @@ var file_transport_internet_splithttp_config_proto_goTypes = []interface{}{ } var file_transport_internet_splithttp_config_proto_depIdxs = []int32{ 2, // 0: xray.transport.internet.splithttp.Config.header:type_name -> xray.transport.internet.splithttp.Config.HeaderEntry - 1, // 1: xray.transport.internet.splithttp.Config.maxConcurrentUploads:type_name -> xray.transport.internet.splithttp.RandRangeConfig - 1, // 2: xray.transport.internet.splithttp.Config.maxEachUploadBytes:type_name -> xray.transport.internet.splithttp.RandRangeConfig - 1, // 3: xray.transport.internet.splithttp.Config.minUploadIntervalMs:type_name -> xray.transport.internet.splithttp.RandRangeConfig + 1, // 1: xray.transport.internet.splithttp.Config.scMaxConcurrentPosts:type_name -> xray.transport.internet.splithttp.RandRangeConfig + 1, // 2: xray.transport.internet.splithttp.Config.scMaxEachPostBytes:type_name -> xray.transport.internet.splithttp.RandRangeConfig + 1, // 3: xray.transport.internet.splithttp.Config.scMinPostsIntervalMs:type_name -> xray.transport.internet.splithttp.RandRangeConfig 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name diff --git a/transport/internet/splithttp/config.proto b/transport/internet/splithttp/config.proto index 1c8dd18f113e..b8af30c46bf7 100644 --- a/transport/internet/splithttp/config.proto +++ b/transport/internet/splithttp/config.proto @@ -10,9 +10,9 @@ message Config { string host = 1; string path = 2; map header = 3; - RandRangeConfig maxConcurrentUploads = 4; - RandRangeConfig maxEachUploadBytes = 5; - RandRangeConfig minUploadIntervalMs = 6; + RandRangeConfig scMaxConcurrentPosts = 4; + RandRangeConfig scMaxEachPostBytes = 5; + RandRangeConfig scMinPostsIntervalMs = 6; bool noSSEHeader = 7; } diff --git a/transport/internet/splithttp/dialer.go b/transport/internet/splithttp/dialer.go index 36ae53c40e78..847f36c4978c 100644 --- a/transport/internet/splithttp/dialer.go +++ b/transport/internet/splithttp/dialer.go @@ -181,8 +181,8 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me transportConfiguration := streamSettings.ProtocolSettings.(*Config) tlsConfig := tls.ConfigFromStreamSettings(streamSettings) - maxConcurrentUploads := transportConfiguration.GetNormalizedMaxConcurrentUploads() - maxEachUploadBytes := transportConfiguration.GetNormalizedMaxEachUploadBytes() + scMaxConcurrentPosts := transportConfiguration.GetNormalizedScMaxConcurrentPosts() + scMaxEachPostBytes := transportConfiguration.GetNormalizedScMaxEachPostBytes() minUploadInterval := transportConfiguration.GetNormalizedMinUploadInterval() if tlsConfig != nil { @@ -201,10 +201,10 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me httpClient := getHTTPClient(ctx, dest, streamSettings) - uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(maxEachUploadBytes.roll())) + uploadPipeReader, uploadPipeWriter := pipe.New(pipe.WithSizeLimit(scMaxEachPostBytes.roll())) go func() { - requestsLimiter := semaphore.New(int(maxConcurrentUploads.roll())) + requestsLimiter := semaphore.New(int(scMaxConcurrentPosts.roll())) var requestCounter int64 lastWrite := time.Now() diff --git a/transport/internet/splithttp/hub.go b/transport/internet/splithttp/hub.go index de19ef006036..30bc8b1e64d1 100644 --- a/transport/internet/splithttp/hub.go +++ b/transport/internet/splithttp/hub.go @@ -76,7 +76,7 @@ func (h *requestHandler) upsertSession(sessionId string) *httpSession { } s := &httpSession{ - uploadQueue: NewUploadQueue(int(h.ln.config.GetNormalizedMaxConcurrentUploads().To)), + uploadQueue: NewUploadQueue(int(h.ln.config.GetNormalizedScMaxConcurrentPosts().To)), isFullyConnected: done.New(), } @@ -123,7 +123,7 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req } currentSession := h.upsertSession(sessionId) - maxEachUploadBytes := int(h.ln.config.GetNormalizedMaxEachUploadBytes().To) + scMaxEachPostBytes := int(h.ln.config.GetNormalizedScMaxEachPostBytes().To) if request.Method == "POST" { seq := "" @@ -139,8 +139,8 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req payload, err := io.ReadAll(request.Body) - if len(payload) > maxEachUploadBytes { - errors.LogInfo(context.Background(), "Too large upload. maxEachUploadBytes is set to ", maxEachUploadBytes, "but request had size ", len(payload), ". Adjust maxEachUploadBytes on the server to be at least as large as client.") + if len(payload) > scMaxEachPostBytes { + errors.LogInfo(context.Background(), "Too large upload. scMaxEachPostBytes is set to ", scMaxEachPostBytes, "but request had size ", len(payload), ". Adjust scMaxEachPostBytes on the server to be at least as large as client.") writer.WriteHeader(http.StatusRequestEntityTooLarge) return } From eb064c91f8aafc0b4215ae9a853dc35877118c97 Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Mon, 29 Jul 2024 05:01:06 -0500 Subject: [PATCH 5/5] fix --- transport/internet/splithttp/config.go | 2 +- transport/internet/splithttp/dialer.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/transport/internet/splithttp/config.go b/transport/internet/splithttp/config.go index 95d70b6c878e..a2595038c99b 100644 --- a/transport/internet/splithttp/config.go +++ b/transport/internet/splithttp/config.go @@ -58,7 +58,7 @@ func (c *Config) GetNormalizedScMaxEachPostBytes() RandRangeConfig { return *c.ScMaxEachPostBytes } -func (c *Config) GetNormalizedMinUploadInterval() RandRangeConfig { +func (c *Config) GetNormalizedScMinPostsIntervalMs() RandRangeConfig { if c.ScMinPostsIntervalMs == nil || c.ScMinPostsIntervalMs.To == 0 { return RandRangeConfig{ From: 30, diff --git a/transport/internet/splithttp/dialer.go b/transport/internet/splithttp/dialer.go index 847f36c4978c..07e5d5d1cb85 100644 --- a/transport/internet/splithttp/dialer.go +++ b/transport/internet/splithttp/dialer.go @@ -183,7 +183,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me scMaxConcurrentPosts := transportConfiguration.GetNormalizedScMaxConcurrentPosts() scMaxEachPostBytes := transportConfiguration.GetNormalizedScMaxEachPostBytes() - minUploadInterval := transportConfiguration.GetNormalizedMinUploadInterval() + scMinPostsIntervalMs := transportConfiguration.GetNormalizedScMinPostsIntervalMs() if tlsConfig != nil { requestURL.Scheme = "https" @@ -239,8 +239,8 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me } }() - if minUploadInterval.From > 0 { - roll := time.Duration(minUploadInterval.roll()) * time.Millisecond + if scMinPostsIntervalMs.From > 0 { + roll := time.Duration(scMinPostsIntervalMs.roll()) * time.Millisecond if time.Since(lastWrite) < roll { time.Sleep(roll) }