|
@@ -144,15 +144,20 @@ func (s *Server) forwardConnection(dest net.Destination, conn net.Conn) {
|
|
|
Reason: "",
|
|
|
})
|
|
|
|
|
|
- if s.info.inboundTag != nil {
|
|
|
- ctx = session.ContextWithInbound(ctx, s.info.inboundTag)
|
|
|
- }
|
|
|
- if s.info.outboundTag != nil {
|
|
|
- ctx = session.ContextWithOutbounds(ctx, []*session.Outbound{s.info.outboundTag})
|
|
|
- }
|
|
|
- if s.info.contentTag != nil {
|
|
|
- ctx = session.ContextWithContent(ctx, s.info.contentTag)
|
|
|
- }
|
|
|
+ // what's this?
|
|
|
+ // Session information should not be shared between different connections
|
|
|
+ // why reuse them in server level? This will cause incorrect destoverride and unexpected routing behavior.
|
|
|
+ // Disable it temporarily. Maybe s.info should be removed.
|
|
|
+
|
|
|
+ // if s.info.inboundTag != nil {
|
|
|
+ // ctx = session.ContextWithInbound(ctx, s.info.inboundTag)
|
|
|
+ // }
|
|
|
+ // if s.info.outboundTag != nil {
|
|
|
+ // ctx = session.ContextWithOutbounds(ctx, []*session.Outbound{s.info.outboundTag})
|
|
|
+ // }
|
|
|
+ // if s.info.contentTag != nil {
|
|
|
+ // ctx = session.ContextWithContent(ctx, s.info.contentTag)
|
|
|
+ // }
|
|
|
|
|
|
link, err := s.info.dispatcher.Dispatch(ctx, dest)
|
|
|
if err != nil {
|