mirror of
https://github.com/wyx2685/V2bX.git
synced 2026-02-03 20:20:13 +00:00
fix: xray内核使用自有连接时报空指针BUG
This commit is contained in:
@@ -151,14 +151,9 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (*
|
||||
uplinkReader, uplinkWriter := pipe.New(opt...)
|
||||
downlinkReader, downlinkWriter := pipe.New(opt...)
|
||||
|
||||
managedWriter := &ManagedWriter{
|
||||
writer: uplinkWriter,
|
||||
manager: d.Wm,
|
||||
}
|
||||
|
||||
inboundLink := &transport.Link{
|
||||
Reader: downlinkReader,
|
||||
Writer: managedWriter,
|
||||
Writer: uplinkWriter,
|
||||
}
|
||||
|
||||
outboundLink := &transport.Link{
|
||||
@@ -198,6 +193,13 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (*
|
||||
common.Interrupt(inboundLink.Reader)
|
||||
return nil, nil, nil, errors.New("Limited ", user.Email, " by conn or ip")
|
||||
}
|
||||
managedWriter := &ManagedWriter{
|
||||
writer: uplinkWriter,
|
||||
email: user.Email,
|
||||
manager: d.Wm,
|
||||
}
|
||||
d.Wm.AddWriter(managedWriter)
|
||||
inboundLink.Writer = managedWriter
|
||||
if w != nil {
|
||||
inboundLink.Writer = rate.NewRateLimitWriter(inboundLink.Writer, w)
|
||||
outboundLink.Writer = rate.NewRateLimitWriter(outboundLink.Writer, w)
|
||||
@@ -222,8 +224,6 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (*
|
||||
}
|
||||
}
|
||||
}
|
||||
managedWriter.email = user.Email
|
||||
d.Wm.AddWriter(managedWriter)
|
||||
|
||||
return inboundLink, outboundLink, limit, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user