From 71024954e2efa4f7666dd369517b53254df24315 Mon Sep 17 00:00:00 2001 From: lanyi <1005197862@qq.com> Date: Tue, 20 Jul 2021 10:20:41 +0800 Subject: [PATCH 1/4] fix bug --- Plugins/mongodb.go | 2 ++ Plugins/redis.go | 1 + 2 files changed, 3 insertions(+) diff --git a/Plugins/mongodb.go b/Plugins/mongodb.go index 8ca84e2..a691457 100644 --- a/Plugins/mongodb.go +++ b/Plugins/mongodb.go @@ -33,6 +33,7 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { return flag, err } buf := make([]byte, 1024) + err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) count, err := conn.Read(buf) if err != nil { return flag, err @@ -43,6 +44,7 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { if err != nil { return flag, err } + err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) count, err := conn.Read(buf) if err != nil { return flag, err diff --git a/Plugins/redis.go b/Plugins/redis.go index 6bbeecd..47f2bf2 100644 --- a/Plugins/redis.go +++ b/Plugins/redis.go @@ -262,6 +262,7 @@ func Readfile(filename string) (string, error) { func readreply(conn net.Conn) (result string, err error) { buf := make([]byte, 4096) for { + conn.SetReadDeadline(time.Now().Add(10 * time.Second)) count, err := conn.Read(buf) if err != nil { break From f64b185e6d4d991fa4e0811abafd66153ff774f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=B1=E8=88=9E=E8=80=85?= Date: Tue, 20 Jul 2021 11:25:25 +0800 Subject: [PATCH 2/4] Update mongodb.go --- Plugins/mongodb.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Plugins/mongodb.go b/Plugins/mongodb.go index a691457..8484036 100644 --- a/Plugins/mongodb.go +++ b/Plugins/mongodb.go @@ -34,6 +34,9 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { } buf := make([]byte, 1024) err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) + if err != nil { + return flag, err + } count, err := conn.Read(buf) if err != nil { return flag, err @@ -45,6 +48,9 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { return flag, err } err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) + if err != nil { + return flag, err + } count, err := conn.Read(buf) if err != nil { return flag, err From c322700c6d1b1aed06580fe22d36b7eae6ae94a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=B1=E8=88=9E=E8=80=85?= Date: Tue, 20 Jul 2021 11:29:43 +0800 Subject: [PATCH 3/4] Update redis.go --- Plugins/redis.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Plugins/redis.go b/Plugins/redis.go index 47f2bf2..c9752ff 100644 --- a/Plugins/redis.go +++ b/Plugins/redis.go @@ -44,6 +44,10 @@ func RedisConn(info *common.HostInfo, pass string) (flag bool, err error) { return flag, err } defer conn.Close() + err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) + if err != nil { + return flag, err + } _, err = conn.Write([]byte(fmt.Sprintf("auth %s\r\n", pass))) if err != nil { return flag, err @@ -69,6 +73,10 @@ func RedisUnauth(info *common.HostInfo) (flag bool, err error) { return flag, err } defer conn.Close() + err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) + if err != nil { + return flag, err + } _, err = conn.Write([]byte("info\r\n")) if err != nil { return flag, err @@ -262,7 +270,6 @@ func Readfile(filename string) (string, error) { func readreply(conn net.Conn) (result string, err error) { buf := make([]byte, 4096) for { - conn.SetReadDeadline(time.Now().Add(10 * time.Second)) count, err := conn.Read(buf) if err != nil { break From 6a4bbe378144e4d7291b21969ac0b022ab76d27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=B1=E8=88=9E=E8=80=85?= Date: Tue, 20 Jul 2021 11:30:49 +0800 Subject: [PATCH 4/4] Update mongodb.go --- Plugins/mongodb.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Plugins/mongodb.go b/Plugins/mongodb.go index 8484036..03aa443 100644 --- a/Plugins/mongodb.go +++ b/Plugins/mongodb.go @@ -28,15 +28,15 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { return flag, err } defer conn.Close() + err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) + if err != nil { + return flag, err + } _, err = conn.Write(senddata) if err != nil { return flag, err } buf := make([]byte, 1024) - err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) - if err != nil { - return flag, err - } count, err := conn.Read(buf) if err != nil { return flag, err @@ -47,10 +47,6 @@ func MongodbUnauth(info *common.HostInfo) (flag bool, err error) { if err != nil { return flag, err } - err = conn.SetReadDeadline(time.Now().Add(time.Duration(info.Timeout)*time.Second)) - if err != nil { - return flag, err - } count, err := conn.Read(buf) if err != nil { return flag, err