diff --git a/README.md b/README.md index 57a68949..a02d0a5a 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ Note that `local_port` (listened on client) and `remote_port` (exposed on server `./frpc -c ./frpc.ini` -5. From another machine, SSH to server B like this (assuming that username is `test`): +5. From another machine, SSH to server B via server A like this (assuming that username is `test`): `ssh -oPort=6000 test@x.x.x.x` diff --git a/Release.md b/Release.md index bbcb8c5c..6738c32b 100644 --- a/Release.md +++ b/Release.md @@ -1,9 +1,4 @@ -### New +### Fix -* Add `oidc_scope` parameter to frpc when `authentication_method = oidc`. -* Support quic protocol between frpc and frps. - - -### Improve - -* Upgrade oidc and oauth2 package which is forward compatible. +* Server Plugin send incorrect op name for NewWorkConn. +* QUIC stream leak. diff --git a/pkg/plugin/server/manager.go b/pkg/plugin/server/manager.go index 5a8a309c..516f407e 100644 --- a/pkg/plugin/server/manager.go +++ b/pkg/plugin/server/manager.go @@ -211,7 +211,7 @@ func (m *Manager) NewWorkConn(content *NewWorkConnContent) (*NewWorkConnContent, ctx = NewReqidContext(ctx, reqid) for _, p := range m.newWorkConnPlugins { - res, retContent, err = p.Handle(ctx, OpPing, *content) + res, retContent, err = p.Handle(ctx, OpNewWorkConn, *content) if err != nil { xl.Warn("send NewWorkConn request to plugin [%s] error: %v", p.Name(), err) return nil, errors.New("send NewWorkConn request to plugin error") diff --git a/pkg/util/net/conn.go b/pkg/util/net/conn.go index 1258ed48..a09da99e 100644 --- a/pkg/util/net/conn.go +++ b/pkg/util/net/conn.go @@ -211,3 +211,8 @@ func (conn *wrapQuicStream) RemoteAddr() net.Addr { } return (*net.TCPAddr)(nil) } + +func (conn *wrapQuicStream) Close() error { + conn.Stream.CancelRead(0) + return conn.Stream.Close() +} diff --git a/pkg/util/util/util.go b/pkg/util/util/util.go index b13f9a77..b72209c6 100644 --- a/pkg/util/util/util.go +++ b/pkg/util/util/util.go @@ -44,9 +44,9 @@ func RandIDWithLen(idLen int) (id string, err error) { } func GetAuthKey(token string, timestamp int64) (key string) { - token += fmt.Sprintf("%d", timestamp) md5Ctx := md5.New() md5Ctx.Write([]byte(token)) + md5Ctx.Write([]byte(strconv.FormatInt(timestamp, 10))) data := md5Ctx.Sum(nil) return hex.EncodeToString(data) } diff --git a/pkg/util/version/version.go b/pkg/util/version/version.go index 6228c092..849002d7 100644 --- a/pkg/util/version/version.go +++ b/pkg/util/version/version.go @@ -19,7 +19,7 @@ import ( "strings" ) -var version = "0.46.0" +var version = "0.46.1" func Full() string { return version