From b560922f01130f94447af479ae6edba90d7b2b75 Mon Sep 17 00:00:00 2001 From: Reinier Schoof Date: Fri, 18 Jun 2021 09:09:03 +0200 Subject: [PATCH] return EOF response on COM_SET_OPTION commands --- server/command.go | 6 ++++++ server/resp.go | 3 +++ 2 files changed, 9 insertions(+) diff --git a/server/command.go b/server/command.go index 50e4951b6..69e0bf39c 100644 --- a/server/command.go +++ b/server/command.go @@ -125,6 +125,12 @@ func (c *Conn) dispatch(data []byte) interface{} { } else { return r } + case COM_SET_OPTION: + if err := c.h.HandleOtherCommand(cmd, data); err != nil { + return err + } + + return eofResponse{} default: return c.h.HandleOtherCommand(cmd, data) } diff --git a/server/resp.go b/server/resp.go index d8051c698..f0ec5486e 100644 --- a/server/resp.go +++ b/server/resp.go @@ -170,11 +170,14 @@ func (c *Conn) writeFieldList(fs []*Field) error { } type noResponse struct{} +type eofResponse struct{} func (c *Conn) writeValue(value interface{}) error { switch v := value.(type) { case noResponse: return nil + case eofResponse: + return c.writeEOF() case error: return c.writeError(v) case nil: