Compare commits

..

1 Commits

Author SHA1 Message Date
世界
082572433e
documentation: Bump version 2025-07-23 11:26:14 +08:00
4 changed files with 11 additions and 28 deletions

View File

@ -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
} }

View File

@ -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 {

View File

@ -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

View File

@ -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