Add ValidateSessionID
diff --git a/skabandclient/skabandclient.go b/skabandclient/skabandclient.go
index 7295a7b..3452c55 100644
--- a/skabandclient/skabandclient.go
+++ b/skabandclient/skabandclient.go
@@ -20,6 +20,7 @@
"net/url"
"os"
"path/filepath"
+ "regexp"
"strings"
"sync"
"sync/atomic"
@@ -268,6 +269,16 @@
return s[0:4] + "-" + s[4:8] + "-" + s[8:12] + "-" + s[12:16]
}
+// Regex pattern for SessionID format: xxxx-xxxx-xxxx-xxxx
+// Where x is a valid Crockford Base32 character (0-9, A-H, J-N, P-Z)
+// Case-insensitive match
+var sessionIdRegexp = regexp.MustCompile(
+ "^[0-9A-HJ-NP-Za-hj-np-z]{4}-[0-9A-HJ-NP-Za-hj-np-z]{4}-[0-9A-HJ-NP-Za-hj-np-z]{4}-[0-9A-HJ-NP-Za-hj-np-z]{4}")
+
+func ValidateSessionID(sessionID string) bool {
+ return sessionIdRegexp.MatchString(sessionID)
+}
+
// Addr returns the skaband server address
func (c *SkabandClient) Addr() string {
if c == nil {