From 9f392eb5062b35ec524ea6e44a1f1c239936a227 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Sun, 22 Oct 2017 19:48:19 +0200 Subject: [PATCH] avoid long domain names in mux --- app/proxyman/mux/frame.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/proxyman/mux/frame.go b/app/proxyman/mux/frame.go index f742c885..0824cff8 100644 --- a/app/proxyman/mux/frame.go +++ b/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 } }