Skip to content

Commit

Permalink
chore: add more debug log
Browse files Browse the repository at this point in the history
Signed-off-by: Jianhui Zhao <[email protected]>
  • Loading branch information
zhaojh329 committed Jan 16, 2025
1 parent 391096e commit 0e4c8ac
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 14 deletions.
29 changes: 19 additions & 10 deletions device.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ func parseDeviceInfo(dev *device, b []byte) bool {
fields := bytes.Split(b, []byte{0})

if len(fields) < 3 {
log.Error().Msg("msgTypeRegister: invalid")
log.Error().Msgf("%s: msgTypeRegister: invalid", dev.conn.RemoteAddr())
return false
}

Expand All @@ -199,13 +199,15 @@ func (dev *device) readLoop() {
dev.br.unregister <- dev
}()

logPrefix := dev.conn.RemoteAddr().String()

br := bufio.NewReader(dev.conn)

for {
b, err := br.Peek(3)
if err != nil {
if err != io.EOF && !strings.Contains(err.Error(), "use of closed network connection") {
log.Error().Msg(err.Error())
log.Error().Msgf("%s: %s", logPrefix, err.Error())
}
return
}
Expand All @@ -215,7 +217,7 @@ func (dev *device) readLoop() {
typ := b[0]

if typ > msgTypeMax {
log.Error().Msgf("invalid msg type: %d", typ)
log.Error().Msgf("%s: invalid msg type: %d", logPrefix, typ)
return
}

Expand All @@ -233,19 +235,26 @@ func (dev *device) readLoop() {
switch typ {
case msgTypeRegister:
if msgLen < 2 {
log.Error().Msg("msgTypeRegister: invalid")
log.Error().Msgf("%s: msgTypeRegister: invalid", logPrefix)
return
}

if !parseDeviceInfo(dev, b) {
return
}

if dev.id == "" {
log.Error().Msgf("%s: msgTypeRegister: devid is empty", logPrefix)
return
}

logPrefix = dev.id

dev.br.register <- dev

case msgTypeLogin:
if msgLen < 33 {
log.Error().Msg("msgTypeLogin: invalid")
log.Error().Msgf("%s: msgTypeLogin: invalid", logPrefix)
return
}

Expand All @@ -256,7 +265,7 @@ func (dev *device) readLoop() {

case msgTypeLogout:
if msgLen < 32 {
log.Error().Msg("msgTypeLogout: invalid")
log.Error().Msgf("%s: msgTypeLogout: invalid", logPrefix)
return
}

Expand All @@ -266,7 +275,7 @@ func (dev *device) readLoop() {
fallthrough
case msgTypeFile:
if msgLen < 32 {
log.Error().Msg("msgTypeTermData|msgTypeFile: invalid")
log.Error().Msgf("%s: msgTypeTermData|msgTypeFile: invalid", logPrefix)
return
}

Expand All @@ -280,15 +289,15 @@ func (dev *device) readLoop() {

case msgTypeCmd:
if msgLen < 1 {
log.Error().Msg("msgTypeCmd: invalid")
log.Error().Msgf("%s: msgTypeCmd: invalid", logPrefix)
return
}

dev.br.cmdResp <- b

case msgTypeHttp:
if msgLen < 18 {
log.Error().Msg("msgTypeHttp: invalid")
log.Error().Msgf("%s: msgTypeHttp: invalid", logPrefix)
return
}

Expand All @@ -298,7 +307,7 @@ func (dev *device) readLoop() {
parseHeartbeat(dev, b)

default:
log.Error().Msgf("invalid msg type: %d", typ)
log.Error().Msgf("%s: invalid msg type: %d", logPrefix, typ)
}
}
}
Expand Down
11 changes: 7 additions & 4 deletions http.go
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,10 @@ func httpProxyRedirect(br *broker, c *gin.Context) {
if location == "" {
location = cfg.HttpProxyRedirURL
if location != "" {
log.Debug().Msgf("use HttpProxyRedirURL from config: %s", location)
log.Debug().Msgf("use HttpProxyRedirURL from config: %s, devid: %s", location, devid)
}
} else {
log.Debug().Msgf("use HttpProxyRedir from HTTP header: %s", location)
log.Debug().Msgf("use HttpProxyRedir from HTTP header: %s, devid: %s", location, devid)
}

if location == "" {
Expand Down Expand Up @@ -361,21 +361,24 @@ func httpProxyRedirect(br *broker, c *gin.Context) {
if v, ok := httpProxySessions.Load(sid); ok {
close(v.(chan struct{}))
httpProxySessions.Delete(sid)
log.Debug().Msgf(`del old httpProxySession "%s" for device "%s"`, sid, devid)
}
}

sid = utils.GenUniqueID("http-proxy")

httpProxySessions.Store(sid, make(chan struct{}))

log.Debug().Msgf(`new httpProxySession "%s" for device "%s"`, sid, devid)

domain := c.Request.Header.Get("HttpProxyRedirDomain")
if domain == "" {
domain = cfg.HttpProxyRedirDomain
if domain != "" {
log.Debug().Msgf("set cookie domain from config: %s", domain)
log.Debug().Msgf("set cookie domain from config: %s, devid: %s", domain, devid)
}
} else {
log.Debug().Msgf("set cookie domain from HTTP header: %s", domain)
log.Debug().Msgf("set cookie domain from HTTP header: %s, devid: %s", domain, devid)
}

c.SetCookie("rtty-http-sid", sid, 0, "", domain, false, true)
Expand Down

0 comments on commit 0e4c8ac

Please sign in to comment.