redis bug

This commit is contained in:
insanity 2018-10-04 18:32:17 +09:00
parent 1ae4509bc6
commit 40b3282f38
2 changed files with 5 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package redis
import ( import (
"bufio" "bufio"
"log"
"strconv" "strconv"
"strings" "strings"
@ -109,8 +110,9 @@ func (m *RedisMatcher) Match(matchCtx *osm.MatchCtx, index int, packet *osm.Pack
case 1: // INFO case 1: // INFO
response := string(packet.Bytes()) response := string(packet.Bytes())
m.parseResponse(matchCtx, response)
if v, ok := matchCtx.GetAttribute("protected"); ok { if v, ok := matchCtx.GetAttribute("protected"); ok {
if _v, _err := strconv.ParseBool(v); nil != _err && _v { if _v, _err := strconv.ParseBool(v); nil == _err && _v {
m.parseResponse(matchCtx, response) m.parseResponse(matchCtx, response)
} }
} }
@ -159,6 +161,7 @@ func (m *RedisMatcher) parseResponse(matchCtx *osm.MatchCtx, response string) {
scanner := bufio.NewScanner(strings.NewReader(response)) scanner := bufio.NewScanner(strings.NewReader(response))
for scanner.Scan() { for scanner.Scan() {
line := scanner.Text() line := scanner.Text()
log.Println(line)
if strings.Compare(line, "") == 0 { if strings.Compare(line, "") == 0 {
break break
} }

View File

@ -23,7 +23,7 @@ func TestRedisMatcher(t *testing.T) {
} }
defer conn.Close() defer conn.Close()
matchCtx := osm.NewMatchCtx("192.168.1.229", 6379) matchCtx := osm.NewMatchCtx("192.168.1.229", 6321)
for i := 0; i < m.PacketCount(matchCtx); i++ { for i := 0; i < m.PacketCount(matchCtx); i++ {
_, err := conn.Write(m.Packet(matchCtx, i).Buffer) _, err := conn.Write(m.Packet(matchCtx, i).Buffer)