Quellcode durchsuchen

padding must be enabled when chunk masking is enabled

Darien Raymond vor 7 Jahren
Ursprung
Commit
bf2d3890de
1 geänderte Dateien mit 4 neuen und 4 gelöschten Zeilen
  1. 4 4
      proxy/vmess/outbound/outbound.go

+ 4 - 4
proxy/vmess/outbound/outbound.go

@@ -87,10 +87,6 @@ func (v *Handler) Process(ctx context.Context, link *core.Link, dialer proxy.Dia
 		Option:  protocol.RequestOptionChunkStream,
 	}
 
-	if enablePadding {
-		request.Option.Set(protocol.RequestOptionGlobalPadding)
-	}
-
 	rawAccount, err := request.User.GetTypedAccount()
 	if err != nil {
 		return newError("failed to get user account").Base(err).AtWarning()
@@ -102,6 +98,10 @@ func (v *Handler) Process(ctx context.Context, link *core.Link, dialer proxy.Dia
 		request.Option.Set(protocol.RequestOptionChunkMasking)
 	}
 
+	if enablePadding && request.Option.Has(protocol.RequestOptionChunkMasking) {
+		request.Option.Set(protocol.RequestOptionGlobalPadding)
+	}
+
 	input := link.Reader
 	output := link.Writer