Browse Source

avoid long domain names in mux

Darien Raymond 8 năm trước cách đây
mục cha
commit
9f392eb506
1 tập tin đã thay đổi với 7 bổ sung2 xóa
  1. 7 2
      app/proxyman/mux/frame.go

+ 7 - 2
app/proxyman/mux/frame.go

@@ -80,9 +80,14 @@ func (f FrameMetadata) AsSupplier() buf.Supplier {
 				b = append(b, addr.IP()...)
 				length += 17
 			case net.AddressFamilyDomain:
-				nDomain := len(addr.Domain())
+				domain := addr.Domain()
+				nDomain := len(domain)
+				if nDomain > 256 {
+					nDomain = 256
+					domain = domain[:256]
+				}
 				b = append(b, byte(protocol.AddressTypeDomain), byte(nDomain))
-				b = append(b, addr.Domain()...)
+				b = append(b, domain...)
 				length += nDomain + 2
 			}
 		}