Skip to content

Commit 06b69af

Browse files
committed
improved default rules, better regex compile warnings
1 parent 7d9855b commit 06b69af

3 files changed

Lines changed: 37 additions & 21 deletions

File tree

cfg.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
postBan:
2-
[
3-
'heyyou',
4-
'3cscript',
5-
'2fscript',
6-
'<script',
7-
'\(+.select',
8-
'\+\(',
9-
'\+\s+\(',
10-
]
2+
- \w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))
3+
- ((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(;))
4+
- ((\%27)|(\'))union
5+
- exec(\s|\+)+(s|x)p\w+
6+
- ((\%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)
7+
- 3cscript
8+
- 2fscript
9+
- <script
10+
- \(.+select
11+
- \+\(
12+
- \+\s+\(
1113
urlBan:
12-
[
13-
'fun',
14-
]
14+
- \w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))
15+
- ((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(;))
16+
- ((\%27)|(\'))union
17+
- exec(\s|\+)+(s|x)p\w+
18+
- ((\%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)
1519
postFilter:
1620
-
1721
name: taco

rweng/rweng.go

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import (
99
"strings"
1010
"text/template"
1111

12+
"os"
13+
1214
"github.com/Masterminds/sprig"
13-
"github.com/go-yaml/yaml"
1415
"go.uber.org/zap"
16+
"gopkg.in/yaml.v2"
1517
)
1618

1719
type FilterCfg struct {
@@ -115,21 +117,34 @@ func NewEngFromYml(filename string, logger *zap.Logger) (*Eng, error) {
115117
postBan := make([]*regexp.Regexp, 0)
116118

117119
for _, r := range engCfg.PostBan {
118-
rxp := regexp.MustCompile(strings.ToLower(r))
120+
rxp, err := regexp.Compile(strings.ToLower(r))
121+
if err != nil {
122+
logger.Error("Error in regex compile: " + err.Error())
123+
os.Exit(1)
124+
}
119125
postBan = append(postBan, rxp)
120126
}
121127

122128
urlBan := make([]*regexp.Regexp, 0)
123129

124130
for _, r := range engCfg.UrlBan {
125-
rxp := regexp.MustCompile(strings.ToLower(r))
131+
rxp, err := regexp.Compile(strings.ToLower(r))
132+
if err != nil {
133+
logger.Error("Error in regex compile: " + err.Error())
134+
os.Exit(1)
135+
}
126136
urlBan = append(urlBan, rxp)
127137
}
128138

129139
filter := make(map[*regexp.Regexp]FilterTemplate, 0)
130140

131141
for _, filterCfg := range engCfg.Filter {
132-
rxp := regexp.MustCompile(strings.ToLower(filterCfg.Match))
142+
rxp, err := regexp.Compile(strings.ToLower(filterCfg.Match))
143+
if err != nil {
144+
logger.Error("Error in regex compile: " + err.Error())
145+
os.Exit(1)
146+
}
147+
133148
tmpl, err := template.New(filterCfg.Name).Funcs(sprig.TxtFuncMap()).Parse(filterCfg.Template)
134149
if err != nil {
135150
logger.Error("Template parsing error: " + err.Error())

server.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
package main
22

33
import (
4+
"flag"
5+
"fmt"
46
"net/http"
57
"net/http/httputil"
68
"net/url"
79
"os"
8-
910
"time"
1011

11-
"fmt"
12-
13-
"flag"
14-
1512
"github.com/txn2/n2proxy/rweng"
1613
"go.uber.org/zap"
1714
)

0 commit comments

Comments
 (0)