mirror of
https://github.com/ergochat/ergo.git
synced 2025-12-20 02:00:11 -08:00
Only allow valid snomasks to be set
This commit is contained in:
parent
22f9df388d
commit
5811226760
3 changed files with 26 additions and 1 deletions
|
|
@ -54,9 +54,15 @@ func (client *Client) applyUserModeChanges(force bool, changes modes.ModeChanges
|
|||
}
|
||||
var masks []sno.Mask
|
||||
if change.Op == modes.Add || change.Op == modes.Remove {
|
||||
var newArg string
|
||||
for _, char := range change.Arg {
|
||||
masks = append(masks, sno.Mask(char))
|
||||
mask := sno.Mask(char)
|
||||
if sno.ValidMasks[mask] {
|
||||
masks = append(masks, mask)
|
||||
newArg += string(char)
|
||||
}
|
||||
}
|
||||
change.Arg = newArg
|
||||
}
|
||||
if change.Op == modes.Add {
|
||||
client.server.snomasks.AddMasks(client, masks...)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue