瀏覽代碼

avoid long domain names in mux

Darien Raymond 8 年之前
父節點
當前提交
9f392eb506
共有 1 個文件被更改,包括 7 次插入2 次删除
  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
 			}
 		}