summaryrefslogtreecommitdiff
path: root/teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
committerMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
commite9c24f4af7ed56760f6db7941827d09f6db9020b (patch)
tree62128c43b883ce5e3148113350978755779bb5de /teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize
parent58d5e7cfda4781d8a57ec52aefd02983835c301a (diff)
add matterbridge
Diffstat (limited to 'teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize')
-rw-r--r--teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize/sanitize.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize/sanitize.go b/teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize/sanitize.go
new file mode 100644
index 0000000..4f9775f
--- /dev/null
+++ b/teleirc/matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize/sanitize.go
@@ -0,0 +1,29 @@
+package sanitize
+
+import "regexp"
+
+var (
+ reStripName = regexp.MustCompile("[^\\w.-]")
+ reStripData = regexp.MustCompile("[^[:ascii:]]|[[:cntrl:]]")
+)
+
+const maxLength = 16
+
+// Name returns a name with only allowed characters and a reasonable length
+func Name(s string) string {
+ s = reStripName.ReplaceAllString(s, "")
+ nameLength := maxLength
+ if len(s) <= maxLength {
+ nameLength = len(s)
+ }
+ s = s[:nameLength]
+ return s
+}
+
+// Data returns a string with only allowed characters for client-provided metadata inputs.
+func Data(s string, maxlen int) string {
+ if len(s) > maxlen {
+ s = s[:maxlen]
+ }
+ return reStripData.ReplaceAllString(s, "")
+}