mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-07-27 08:14:08 +08:00
Compare commits
1 Commits
dev-next
...
v1.12.0-rc
Author | SHA1 | Date | |
---|---|---|---|
![]() |
082572433e |
@ -87,15 +87,13 @@ func NewSTDClient(ctx context.Context, serverAddress string, options option.Outb
|
|||||||
tlsConfig.VerifyConnection = func(state tls.ConnectionState) error {
|
tlsConfig.VerifyConnection = func(state tls.ConnectionState) error {
|
||||||
verifyOptions := x509.VerifyOptions{
|
verifyOptions := x509.VerifyOptions{
|
||||||
Roots: tlsConfig.RootCAs,
|
Roots: tlsConfig.RootCAs,
|
||||||
|
CurrentTime: tlsConfig.Time(),
|
||||||
DNSName: serverName,
|
DNSName: serverName,
|
||||||
Intermediates: x509.NewCertPool(),
|
Intermediates: x509.NewCertPool(),
|
||||||
}
|
}
|
||||||
for _, cert := range state.PeerCertificates[1:] {
|
for _, cert := range state.PeerCertificates[1:] {
|
||||||
verifyOptions.Intermediates.AddCert(cert)
|
verifyOptions.Intermediates.AddCert(cert)
|
||||||
}
|
}
|
||||||
if tlsConfig.Time != nil {
|
|
||||||
verifyOptions.CurrentTime = tlsConfig.Time()
|
|
||||||
}
|
|
||||||
_, err := state.PeerCertificates[0].Verify(verifyOptions)
|
_, err := state.PeerCertificates[0].Verify(verifyOptions)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -11,13 +11,10 @@ type TimeServiceWrapper struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *TimeServiceWrapper) TimeFunc() func() time.Time {
|
func (w *TimeServiceWrapper) TimeFunc() func() time.Time {
|
||||||
return func() time.Time {
|
if w.TimeService == nil {
|
||||||
if w.TimeService != nil {
|
return nil
|
||||||
return w.TimeService.TimeFunc()()
|
|
||||||
} else {
|
|
||||||
return time.Now()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return w.TimeService.TimeFunc()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *TimeServiceWrapper) Upstream() any {
|
func (w *TimeServiceWrapper) Upstream() any {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
icon: material/alert-decagram
|
icon: material/alert-decagram
|
||||||
---
|
---
|
||||||
|
|
||||||
#### 1.12.0-rc.3
|
#### 1.12.0-rc.2
|
||||||
|
|
||||||
* Fixes and improvements
|
* Fixes and improvements
|
||||||
|
|
||||||
|
@ -50,24 +50,12 @@ func (s *TrafficManager) UpdateUsers(users []string) {
|
|||||||
newUserTCPSessions := make(map[string]*atomic.Int64)
|
newUserTCPSessions := make(map[string]*atomic.Int64)
|
||||||
newUserUDPSessions := make(map[string]*atomic.Int64)
|
newUserUDPSessions := make(map[string]*atomic.Int64)
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
if counter, loaded := s.userUplink[user]; loaded {
|
newUserUplink[user] = s.userUplinkPackets[user]
|
||||||
newUserUplink[user] = counter
|
newUserDownlink[user] = s.userDownlinkPackets[user]
|
||||||
}
|
newUserUplinkPackets[user] = s.userUplinkPackets[user]
|
||||||
if counter, loaded := s.userDownlink[user]; loaded {
|
newUserDownlinkPackets[user] = s.userDownlinkPackets[user]
|
||||||
newUserDownlink[user] = counter
|
newUserTCPSessions[user] = s.userTCPSessions[user]
|
||||||
}
|
newUserUDPSessions[user] = s.userUDPSessions[user]
|
||||||
if counter, loaded := s.userUplinkPackets[user]; loaded {
|
|
||||||
newUserUplinkPackets[user] = counter
|
|
||||||
}
|
|
||||||
if counter, loaded := s.userDownlinkPackets[user]; loaded {
|
|
||||||
newUserDownlinkPackets[user] = counter
|
|
||||||
}
|
|
||||||
if counter, loaded := s.userTCPSessions[user]; loaded {
|
|
||||||
newUserTCPSessions[user] = counter
|
|
||||||
}
|
|
||||||
if counter, loaded := s.userUDPSessions[user]; loaded {
|
|
||||||
newUserUDPSessions[user] = counter
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
s.userUplink = newUserUplink
|
s.userUplink = newUserUplink
|
||||||
s.userDownlink = newUserDownlink
|
s.userDownlink = newUserDownlink
|
||||||
|
Loading…
x
Reference in New Issue
Block a user