summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-08-22 10:07:00 +0300
committerPaul Buetow <paul@buetow.org>2021-08-22 10:07:00 +0300
commit9883a190109623b64e6d311dc2b462a6eae68003 (patch)
treeda319d37bf681687beb2c38e6292b30f5e04a261 /internal
parentc2522ffb59514443816a96386c16bb7527cbe57c (diff)
introduces the protocol package
Diffstat (limited to 'internal')
-rw-r--r--internal/clients/handlers/basehandler.go3
-rw-r--r--internal/clients/handlers/healthhandler.go3
-rw-r--r--internal/clients/handlers/maprhandler.go2
-rw-r--r--internal/clients/maprclient.go3
-rw-r--r--internal/server/handlers/controlhandler.go3
-rw-r--r--internal/server/handlers/serverhandler.go6
-rw-r--r--internal/ssh/ssh.go3
7 files changed, 14 insertions, 9 deletions
diff --git a/internal/clients/handlers/basehandler.go b/internal/clients/handlers/basehandler.go
index acafe0e..fe83faa 100644
--- a/internal/clients/handlers/basehandler.go
+++ b/internal/clients/handlers/basehandler.go
@@ -56,13 +56,14 @@ func (h *baseHandler) SendMessage(command string) error {
// Read data from the dtail server via Writer interface.
func (h *baseHandler) Write(p []byte) (n int, err error) {
for _, b := range p {
- h.receiveBuf = append(h.receiveBuf, b)
if b == protocol.MessageDelimiter {
if len(h.receiveBuf) == 0 {
continue
}
message := string(h.receiveBuf)
h.handleMessageType(message)
+ } else {
+ h.receiveBuf = append(h.receiveBuf, b)
}
}
diff --git a/internal/clients/handlers/healthhandler.go b/internal/clients/handlers/healthhandler.go
index 0440706..213748c 100644
--- a/internal/clients/handlers/healthhandler.go
+++ b/internal/clients/handlers/healthhandler.go
@@ -6,6 +6,7 @@ import (
"time"
"github.com/mimecast/dtail/internal"
+ "github.com/mimecast/dtail/internal/protocol"
)
// HealthHandler implements the handler required for health checks.
@@ -72,7 +73,7 @@ func (h *HealthHandler) SendMessage(command string) error {
func (h *HealthHandler) Write(p []byte) (n int, err error) {
for _, b := range p {
h.receiveBuf = append(h.receiveBuf, b)
- if b == '\n' {
+ if b == protocol.MessageDelimiter { // '\n' {
h.receive <- string(h.receiveBuf)
h.receiveBuf = h.receiveBuf[:0]
}
diff --git a/internal/clients/handlers/maprhandler.go b/internal/clients/handlers/maprhandler.go
index 7ac5895..afad507 100644
--- a/internal/clients/handlers/maprhandler.go
+++ b/internal/clients/handlers/maprhandler.go
@@ -37,7 +37,7 @@ func NewMaprHandler(server string, query *mapr.Query, globalGroup *mapr.GlobalGr
func (h *MaprHandler) Write(p []byte) (n int, err error) {
for _, b := range p {
h.baseHandler.receiveBuf = append(h.baseHandler.receiveBuf, b)
- if b == '\n' {
+ if b == protocol.MessageDelimiter { // '\n' {
if len(h.baseHandler.receiveBuf) == 0 {
continue
}
diff --git a/internal/clients/maprclient.go b/internal/clients/maprclient.go
index 1c0c2cc..77b674b 100644
--- a/internal/clients/maprclient.go
+++ b/internal/clients/maprclient.go
@@ -170,7 +170,8 @@ func (c *MaprClient) printResults() {
return
}
- logger.Raw(fmt.Sprintf("%s\n", c.query.RawQuery))
+ //logger.Raw(fmt.Sprintf("%s\n", c.query.RawQuery))
+ logger.Raw(c.query.RawQuery)
logger.Raw(result)
}
diff --git a/internal/server/handlers/controlhandler.go b/internal/server/handlers/controlhandler.go
index 1e17c78..a217b40 100644
--- a/internal/server/handlers/controlhandler.go
+++ b/internal/server/handlers/controlhandler.go
@@ -8,6 +8,7 @@ import (
"github.com/mimecast/dtail/internal"
"github.com/mimecast/dtail/internal/io/logger"
+ "github.com/mimecast/dtail/internal/protocol"
user "github.com/mimecast/dtail/internal/user/server"
)
@@ -56,7 +57,7 @@ func (h *ControlHandler) Read(p []byte) (n int, err error) {
for {
select {
case message := <-h.serverMessages:
- wholePayload := []byte(fmt.Sprintf("SERVER|%s|%s\n", h.hostname, message))
+ wholePayload := []byte(fmt.Sprintf("SERVER|%s|%s%b", h.hostname, message, protocol.MessageDelimiter))
n = copy(p, wholePayload)
return
case <-h.done.Done():
diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go
index 23e3aeb..9541a34 100644
--- a/internal/server/handlers/serverhandler.go
+++ b/internal/server/handlers/serverhandler.go
@@ -92,13 +92,13 @@ func (h *ServerHandler) Read(p []byte) (n int, err error) {
}
if message[0] == '.' {
// Handle hidden message (don't display to the user, interpreted by dtail client)
- wholePayload := []byte(fmt.Sprintf("%s%b", message, protocol.MessageDelimiter))
+ wholePayload := []byte(fmt.Sprintf("%s%s", message, string(protocol.MessageDelimiter)))
n = copy(p, wholePayload)
return
}
// Handle normal server message (display to the user)
- wholePayload := []byte(fmt.Sprintf("SERVER|%s|%s%b", h.hostname, message, protocol.MessageDelimiter))
+ wholePayload := []byte(fmt.Sprintf("SERVER|%s|%s%s", h.hostname, message, string(protocol.MessageDelimiter)))
n = copy(p, wholePayload)
return
@@ -112,7 +112,7 @@ func (h *ServerHandler) Read(p []byte) (n int, err error) {
return
case line := <-h.lines:
- //fmt.Printf("<<<%d,%s>>>\n", len(line.Content), line.Content)
+ //fmt.Printf("\t<<<%d,%s>>>\n", len(line.Content), line.Content)
// Send normal file content data as a message.
serverInfo := []byte(fmt.Sprintf("REMOTE|%s|%3d|%v|%s|",
h.hostname, line.TransmittedPerc, line.Count, line.SourceID))
diff --git a/internal/ssh/ssh.go b/internal/ssh/ssh.go
index 3a2e416..78bf99e 100644
--- a/internal/ssh/ssh.go
+++ b/internal/ssh/ssh.go
@@ -6,12 +6,13 @@ import (
"crypto/x509"
"encoding/pem"
"fmt"
- "github.com/mimecast/dtail/internal/io/logger"
"io/ioutil"
"net"
"os"
"syscall"
+ "github.com/mimecast/dtail/internal/io/logger"
+
gossh "golang.org/x/crypto/ssh"
"golang.org/x/crypto/ssh/agent"
"golang.org/x/crypto/ssh/terminal"