fix bug with extra debug

This commit is contained in:
olebeck 2023-04-07 16:35:36 +02:00
parent 7726c707c6
commit 2c87715966
2 changed files with 13 additions and 26 deletions

View File

@ -48,11 +48,6 @@ var MutedPackets = []string{
"packet.PlaySound", "packet.PlaySound",
} }
var (
FLog io.Writer
dmpLock sync.Mutex
)
func dmpStruct(level int, inputStruct any, withType bool, isInList bool) (s string) { func dmpStruct(level int, inputStruct any, withType bool, isInList bool) (s string) {
tBase := strings.Repeat("\t", level) tBase := strings.Repeat("\t", level)
@ -173,15 +168,6 @@ func dmpStruct(level int, inputStruct any, withType bool, isInList bool) (s stri
return s return s
} }
func DumpStruct(data interface{}) {
if FLog == nil {
return
}
FLog.Write([]byte(dmpStruct(0, data, true, false)))
FLog.Write([]byte("\n\n\n"))
}
var dirS2C = color.GreenString("S") + "->" + color.CyanString("C") var dirS2C = color.GreenString("S") + "->" + color.CyanString("C")
var dirC2S = color.CyanString("C") + "->" + color.GreenString("S") var dirC2S = color.CyanString("C") + "->" + color.GreenString("S")
var pool = packet.NewPool() var pool = packet.NewPool()
@ -189,6 +175,7 @@ var pool = packet.NewPool()
func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler { func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler {
var logPlain, logCrypt, logCryptEnc io.WriteCloser var logPlain, logCrypt, logCryptEnc io.WriteCloser
var packetsLogF *bufio.Writer var packetsLogF *bufio.Writer
var dmpLock sync.Mutex
if extraVerbose { if extraVerbose {
// open plain text log // open plain text log
@ -196,19 +183,14 @@ func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler {
if err != nil { if err != nil {
logrus.Error(err) logrus.Error(err)
} }
// open gpg log // open gpg log
logCrypt, err := os.Create("packets.log.gpg") logCryptEnc, err = crypt.Encer("packets.log.gpg")
if err != nil { if err != nil {
logrus.Error(err) logrus.Error(err)
} else {
// encrypter for the log
logCryptEnc, err = crypt.Encer("packets.log", logCrypt)
if err != nil {
logrus.Error(err)
}
} }
packetsLogF = bufio.NewWriter(io.MultiWriter(logPlain, logCryptEnc)) if logPlain != nil || logCryptEnc != nil {
packetsLogF = bufio.NewWriter(io.MultiWriter(logPlain, logCryptEnc))
}
} }
var proxy *utils.ProxyContext var proxy *utils.ProxyContext
@ -233,7 +215,7 @@ func NewDebugLogger(extraVerbose bool) *utils.ProxyHandler {
}() }()
pk.Marshal(protocol.NewReader(bytes.NewBuffer(payload), 0)) pk.Marshal(protocol.NewReader(bytes.NewBuffer(payload), 0))
if extraVerbose { if packetsLogF != nil {
dmpLock.Lock() dmpLock.Lock()
packetsLogF.Write([]byte(dmpStruct(0, pk, true, false) + "\n\n\n")) packetsLogF.Write([]byte(dmpStruct(0, pk, true, false) + "\n\n\n"))
dmpLock.Unlock() dmpLock.Unlock()

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
_ "embed" _ "embed"
"io" "io"
"os"
"time" "time"
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
@ -42,9 +43,13 @@ func Enc(name string, data []byte) ([]byte, error) {
return w.Bytes(), nil return w.Bytes(), nil
} }
func Encer(name string, w io.Writer) (io.WriteCloser, error) { func Encer(filename string) (io.WriteCloser, error) {
w, err := os.Create(filename)
if err != nil {
return nil, err
}
wc, err := openpgp.Encrypt(w, recipients, nil, &openpgp.FileHints{ wc, err := openpgp.Encrypt(w, recipients, nil, &openpgp.FileHints{
IsBinary: true, FileName: name, ModTime: time.Now(), IsBinary: true, FileName: filename, ModTime: time.Now(),
}, nil) }, nil)
return wc, err return wc, err
} }