natsim

NATS ↔ Instant Messaging Bridge
git clone https://git.instinctive.eu/natsim.git
Log | Files | Refs | README | LICENSE

commit c3f752e1d186dac1e0ffcb7fc7da5d4e5d8db7b3
parent 4214dd261b82e06e19152205543ad1edcc4e90fb
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Fri, 15 Aug 2025 18:16:44 +0000

Add quotes to ambiguous non-encoded data
Diffstat:
Mmain.go | 8+++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/main.go b/main.go @@ -674,7 +674,13 @@ func (natsim *NatsIM) ircQuoteData(data []byte) string { quoted.WriteString(strings.Repeat("\\n", suffix)) if quoted.Len() < int(natsim.Irc.MaxQuoteRatio*float32(len(data))) { - return quoted.String() + s := quoted.String() + switch s[0] { + case '"', '#', '|', '<': + return "\"" + s + "\"" + default: + return s + } } else if 2*len(data) <= natsim.Irc.MaxHex { return "#" + hex.EncodeToString(data) + "#" } else if base64.StdEncoding.EncodedLen(len(data)) <= natsim.Irc.MaxBase64 {