Compare commits

...

3 Commits

Author SHA1 Message Date
fatedier
bfc625d18e
Merge ced2fb69b799410c4147677dc82633041b5008fb into 86c2ad78c859bc2172404d7327336bab230b8660 2024-03-14 06:57:19 +08:00
fatedier
86c2ad78c8
disable quic-go's receive buffer warning (#4063) 2024-03-13 21:53:09 +08:00
fatedier
ced2fb69b7 use math/rand/v2 2024-02-22 21:09:29 +08:00
6 changed files with 15 additions and 7 deletions

View File

@ -1 +0,0 @@
No feature changes, just a fix for the issue of no released assets in version 0.55.0.

View File

@ -19,6 +19,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"net" "net"
"os"
"runtime" "runtime"
"sync" "sync"
"time" "time"
@ -40,6 +41,8 @@ import (
func init() { func init() {
crypto.DefaultSalt = "frp" crypto.DefaultSalt = "frp"
// Disable quic-go's receive buffer warning.
os.Setenv("QUIC_GO_DISABLE_RECEIVE_BUFFER_WARNING", "true")
} }
type cancelErr struct { type cancelErr struct {

View File

@ -17,7 +17,7 @@ package nathole
import ( import (
"context" "context"
"fmt" "fmt"
"math/rand" "math/rand/v2"
"net" "net"
"slices" "slices"
"strconv" "strconv"
@ -341,7 +341,7 @@ func sendSidMessage(
TransactionID: transactionID, TransactionID: transactionID,
Sid: sid, Sid: sid,
Response: false, Response: false,
Nonce: strings.Repeat("0", rand.Intn(20)), Nonce: strings.Repeat("0", rand.IntN(20)),
} }
buf, err := EncodeMessage(m, key) buf, err := EncodeMessage(m, key)
if err != nil { if err != nil {
@ -398,7 +398,7 @@ func sendSidMessageToRandomPorts(
used := sets.New[int]() used := sets.New[int]()
getUnusedPort := func() int { getUnusedPort := func() int {
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
port := rand.Intn(65535-1024) + 1024 port := rand.IntN(65535-1024) + 1024
if !used.Has(port) { if !used.Has(port) {
used.Insert(port) used.Insert(port)
return port return port

View File

@ -20,7 +20,7 @@ import (
"crypto/subtle" "crypto/subtle"
"encoding/hex" "encoding/hex"
"fmt" "fmt"
mathrand "math/rand" mathrand "math/rand/v2"
"net" "net"
"strconv" "strconv"
"strings" "strings"
@ -124,7 +124,7 @@ func RandomSleep(duration time.Duration, minRatio, maxRatio float64) time.Durati
if max <= min { if max <= min {
n = min n = min
} else { } else {
n = mathrand.Int63n(max-min) + min n = mathrand.Int64N(max-min) + min
} }
d := duration * time.Duration(n) / time.Duration(1000) d := duration * time.Duration(n) / time.Duration(1000)
time.Sleep(d) time.Sleep(d)

View File

@ -15,7 +15,7 @@
package wait package wait
import ( import (
"math/rand" "math/rand/v2"
"time" "time"
"github.com/fatedier/frp/pkg/util/util" "github.com/fatedier/frp/pkg/util/util"

View File

@ -22,6 +22,7 @@ import (
"io" "io"
"net" "net"
"net/http" "net/http"
"os"
"strconv" "strconv"
"time" "time"
@ -59,6 +60,11 @@ const (
vhostReadWriteTimeout time.Duration = 30 * time.Second vhostReadWriteTimeout time.Duration = 30 * time.Second
) )
func init() {
// Disable quic-go's receive buffer warning.
os.Setenv("QUIC_GO_DISABLE_RECEIVE_BUFFER_WARNING", "true")
}
// Server service // Server service
type Service struct { type Service struct {
// Dispatch connections to different handlers listen on same port // Dispatch connections to different handlers listen on same port