Archived
1
0
This repository has been archived on 2023-08-12. You can view files and clone it, but cannot push or open issues or pull requests.
nntpchan/contrib/backends/srndv2/src/srnd/policy.go
Jeff Becker 0966a247e5 fix ?
2017-04-23 08:05:21 -04:00

37 lines
533 B
Go

//
// policy.go
//
package srnd
import (
"regexp"
"strings"
)
type FeedPolicy struct {
rules map[string]string
}
// do we allow this newsgroup?
func (self *FeedPolicy) AllowsNewsgroup(newsgroup string) (result bool) {
var k, v string
var allows, disallows int
for k, v = range self.rules {
v = strings.Trim(v, " ")
match, err := regexp.MatchString(k, newsgroup)
if err == nil {
if match {
if v == "1" {
allows++
} else if v == "0" {
return false
}
}
}
}
result = allows > 0
return
}