diff --git a/app/dns/nameserver.go b/app/dns/nameserver.go index 678a1f7fd..6fef31d0a 100644 --- a/app/dns/nameserver.go +++ b/app/dns/nameserver.go @@ -1,13 +1,13 @@ package dns import ( - "math/rand" "net" "sync" "time" "github.com/v2ray/v2ray-core/app/dispatcher" "github.com/v2ray/v2ray-core/common/alloc" + "github.com/v2ray/v2ray-core/common/dice" "github.com/v2ray/v2ray-core/common/log" v2net "github.com/v2ray/v2ray-core/common/net" "github.com/v2ray/v2ray-core/transport/internet/udp" @@ -84,7 +84,7 @@ func (this *UDPNameServer) AssignUnusedID(response chan<- *ARecord) uint16 { } for { - id = uint16(rand.Intn(65536)) + id = uint16(dice.Roll(65536)) if _, found := this.requests[id]; found { continue } diff --git a/common/protocol/time.go b/common/protocol/time.go index d1bae5cfe..454d1c15e 100644 --- a/common/protocol/time.go +++ b/common/protocol/time.go @@ -1,9 +1,9 @@ package protocol import ( - "math/rand" "time" + "github.com/v2ray/v2ray-core/common/dice" "github.com/v2ray/v2ray-core/common/serial" ) @@ -21,7 +21,7 @@ func NowTime() Timestamp { func NewTimestampGenerator(base Timestamp, delta int) TimestampGenerator { return func() Timestamp { - rangeInDelta := rand.Intn(delta*2) - delta + rangeInDelta := dice.Roll(delta*2) - delta return base + Timestamp(rangeInDelta) } } diff --git a/transport/internet/kcp/dialer.go b/transport/internet/kcp/dialer.go index a33294696..0e0b3f143 100644 --- a/transport/internet/kcp/dialer.go +++ b/transport/internet/kcp/dialer.go @@ -1,9 +1,9 @@ package kcp import ( - "math/rand" "net" + "github.com/v2ray/v2ray-core/common/dice" "github.com/v2ray/v2ray-core/common/log" v2net "github.com/v2ray/v2ray-core/common/net" "github.com/v2ray/v2ray-core/transport/internet" @@ -18,7 +18,7 @@ func DialKCP(src v2net.Address, dest v2net.Destination) (internet.Connection, er } cpip := NewSimpleAuthenticator() - session := NewConnection(uint16(rand.Uint32()), conn, conn.LocalAddr().(*net.UDPAddr), conn.RemoteAddr().(*net.UDPAddr), cpip) + session := NewConnection(uint16(dice.Roll(65536)), conn, conn.LocalAddr().(*net.UDPAddr), conn.RemoteAddr().(*net.UDPAddr), cpip) session.FetchInputFrom(conn) return session, nil