This commit is contained in:
Shivaram Lingamneni 2019-10-13 06:07:30 -04:00
parent 332f0d8d91
commit 82c5041225
5 changed files with 73 additions and 41 deletions

View file

@ -268,10 +268,10 @@ func NewUserMaskSet() *UserMaskSet {
}
// Add adds the given mask to this set.
func (set *UserMaskSet) Add(mask, creatorNickmask, creatorAccount string) (added bool) {
func (set *UserMaskSet) Add(mask, creatorNickmask, creatorAccount string) (maskAdded string, err error) {
casefoldedMask, err := CanonicalizeMaskWildcard(mask)
if err != nil {
return false
return
}
set.Lock()
@ -279,8 +279,8 @@ func (set *UserMaskSet) Add(mask, creatorNickmask, creatorAccount string) (added
set.masks = make(map[string]MaskInfo)
}
_, present := set.masks[casefoldedMask]
added = !present
if added {
if !present {
maskAdded = casefoldedMask
set.masks[casefoldedMask] = MaskInfo{
TimeCreated: time.Now().UTC(),
CreatorNickmask: creatorNickmask,
@ -289,22 +289,23 @@ func (set *UserMaskSet) Add(mask, creatorNickmask, creatorAccount string) (added
}
set.Unlock()
if added {
if !present {
set.setRegexp()
}
return
}
// Remove removes the given mask from this set.
func (set *UserMaskSet) Remove(mask string) (removed bool) {
mask, err := CanonicalizeMaskWildcard(mask)
func (set *UserMaskSet) Remove(mask string) (maskRemoved string, err error) {
mask, err = CanonicalizeMaskWildcard(mask)
if err != nil {
return false
return
}
set.Lock()
_, removed = set.masks[mask]
_, removed := set.masks[mask]
if removed {
maskRemoved = mask
delete(set.masks, mask)
}
set.Unlock()