mirror of
https://github.com/ergochat/ergo.git
synced 2025-12-20 02:00:11 -08:00
validate key names for sub
This commit is contained in:
parent
1c87a39a3c
commit
caef3ed3a1
1 changed files with 6 additions and 1 deletions
|
|
@ -3246,7 +3246,12 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
|
|
||||||
case "sub":
|
case "sub":
|
||||||
keys := msg.Params[2:]
|
keys := msg.Params[2:]
|
||||||
// TODO validate key names here
|
for _, key := range keys {
|
||||||
|
if metadataKeyIsEvil(key) {
|
||||||
|
rb.Add(nil, server.name, "FAIL", "METADATA", "KEY_INVALID", utils.SafeErrorParam(key), client.t("Invalid key name"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
added, err := rb.session.SubscribeTo(keys...)
|
added, err := rb.session.SubscribeTo(keys...)
|
||||||
if err == errMetadataTooManySubs {
|
if err == errMetadataTooManySubs {
|
||||||
bad := keys[len(added)] // get the key that broke the camel's back
|
bad := keys[len(added)] // get the key that broke the camel's back
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue