refactor key validation

This commit is contained in:
Shivaram Lingamneni 2025-06-21 22:21:03 -04:00
parent 891e29204e
commit 6ccaeed007

View file

@ -105,11 +105,10 @@ func syncChannelMetadata(server *Server, rb *ResponseBuffer, channel *Channel) {
}
}
var metadataEvilCharsRegexp = regexp.MustCompile("[^A-Za-z0-9_./-]+")
var validMetadataKeyRegexp = regexp.MustCompile("^[A-Za-z0-9_./-]+$")
func metadataKeyIsEvil(key string) bool {
return len(key) == 0 || // key needs to contain stuff
metadataEvilCharsRegexp.MatchString(key) // key can't contain the stuff it can't contain
return !validMetadataKeyRegexp.MatchString(key)
}
func metadataCanIEditThisKey(client *Client, targetObj MetadataHaver, key string) bool {