Skip to content

Commit 0dfa04f

Browse files
committed
correcting issue with ios & macOS
1 parent 754981a commit 0dfa04f

File tree

5 files changed

+53
-9
lines changed

5 files changed

+53
-9
lines changed

Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,17 @@ export GOARCH=$(shell [ "x${ARCH}" != "x" ] && echo ${ARCH} || (go env GOARCH) )
1515
all: update build
1616

1717
update:
18-
# go get -u gopkg.in/vmihailenco/msgpack.v2
18+
go get -u golang.org/x/crypto/ocsp
19+
go get -u gopkg.in/vmihailenco/msgpack.v2
20+
go get -u github.com/boltdb/bolt
21+
go get -u golang.org/x/net/http2
22+
go get -u github.com/go-fsnotify/fsnotify
23+
go get -u github.com/nathanaelle/syslog5424
24+
go get -u github.com/nathanaelle/useful.types
25+
go get -u github.com/nathanaelle/pasnet
26+
go get -u github.com/naoina/toml
27+
1928

2029
build:
2130
@echo building for ${GOOS}/${GOARCH}${GOARM}
22-
GOPATH="${PWD}/vendor:${GOPATH}" go build -o nataraja src/*.go
31+
go build -o nataraja src/*.go

src/cache/cache.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,9 @@ func Header_in2out(dst http.Header, headers ...http.Header) {
255255
// really old and cargo culted header
256256
case "Pragma":
257257

258+
// safari goes crazy if found it in http/2 connection
259+
case "Connection":
260+
258261
// Nataraja's job - enforce the last only
259262
case "Accept-Ranges", "Public-Key-Pins", "StrictTransportSecurity","X-XSS-Protection":
260263
for _, v := range vv {

src/main.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
"github.com/naoina/toml"
1818

19-
hatcp "github.com/nathanaelle/pasnet"
19+
// hatcp "github.com/nathanaelle/pasnet"
2020
types "github.com/nathanaelle/useful.types"
2121
)
2222

@@ -126,7 +126,8 @@ func SignalCatcher() (<-chan bool,<-chan bool) {
126126
func forgeHTTP_(ip types.IpAddr) (net.Listener) {
127127
addr,err:= ip.ToTCPAddr( "http" )
128128
exterminate(err)
129-
sock,err:= hatcp.Listen( "tcp", addr )
129+
// sock,err:= hatcp.Listen( "tcp", addr )
130+
sock,err:= net.ListenTCP( "tcp", addr )
130131
exterminate(err)
131132

132133
return sock
@@ -136,7 +137,8 @@ func forgeHTTP_(ip types.IpAddr) (net.Listener) {
136137
func forgeHTTPS(ip types.IpAddr, tlsconf *tls.Config) (net.Listener) {
137138
addr,err:= ip.ToTCPAddr( "https" )
138139
exterminate(err)
139-
tcp,err := hatcp.Listen( "tcp", addr )
140+
// tcp,err := hatcp.Listen( "tcp", addr )
141+
tcp,err := net.ListenTCP( "tcp", addr )
140142
exterminate(err)
141143
sock := tls.NewListener( tcp, tlsconf )
142144

src/nataraja.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,8 @@ func (nat *Nataraja) GenerateServer() {
197197

198198
nat.server = &http.Server {
199199
Handler: nat,
200-
ReadTimeout: 10 * time.Minute,
201-
WriteTimeout: 10 * time.Minute,
200+
ReadTimeout: 1 * time.Minute,
201+
WriteTimeout: 1 * time.Minute,
202202
// ConnState: sessionLogger(),
203203
ErrorLog: nat.syslog.SubSyslog("connexion").Channel(syslog.LOG_INFO).Logger("INFO: "),
204204
TLSConfig: &tls.Config{
@@ -441,8 +441,8 @@ func (nat *Nataraja) GetCertificate(clientHello *tls.ClientHelloInfo) (*tls.Cert
441441
labels := strings.Split(sni, ".")
442442
for i := range labels {
443443
labels[i] = "*"
444-
sni := strings.Join(labels, ".")
445-
if cert, ok := nat.tlspairs[sni]; ok {
444+
t_sni := strings.Join(labels, ".")
445+
if cert, ok := nat.tlspairs[t_sni]; ok {
446446
return cert.Certificate(), nil
447447
}
448448
}

src/waf/waf_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@ var loremipsumBAD = `
3636
Curabitur auctor et ipsum in ultricies. Aliquam erat volutpat. Aliquam erat volutpat. Cras ut quam maximus urna molestie fermentum eget vel turpis. Donec ac auctor elit, non tincidunt ipsum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae metus eu turpis tristique tristique. Fusce non tellus mi. Ut arcu ipsum, pulvinar eu sem eget, fermentum lacinia lectus. Duis ut pretium nisi. Vivamus scelerisque hendrerit metus, sed gravida nisl commodo nec. Proin laoreet nulla dui, efficitur feugiat diam rhoncus sodales. Nulla nunc felis, consequat in mattis sed, bibendum et sapien. Vivamus eu luctus ante, ut mattis risus. Maecenas aliquam feugiat nulla, at porttitor ante.
3737
Maecenas eget mauris blandit, vulputate justo sit amet, gravida magna. Aliquam molestie lectus a libero condimentum, sollicitudin feugiat sapien pharetra. Ut fermentum pulvinar dolor id feugiat. Pellentesque eget risus eget ipsum finibus feugiat in a massa. Aenean non sapien at dui sagittis vestibulum. Quisque pretium varius pellentesque. Nullam eu sapien euismod, mollis ipsum vel, placerat lacus. Vestibulum dictum laoreet lorem, nec bibendum elit placerat vitae. Aenean tellus arcu, eleifend sed ipsum ac, aliquam rutrum ipsum. Morbi ligula velit, maximus sit amet condimentum eu, dapibus ut sapien. Fusce et venenatis orci, sed vehicula orci. `
3838

39+
var loremipsumBAD2 = `
40+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl cursus vestibulum dapibus, mi massa cursus massa, quis mattis eros est et purus. Proin congue consequat tellus a bibendum. Quisque varius nunc vel massa aliquet, vitae tincidunt mauris lacinia. Fusce metus quam, consequat sit amet blandit sed, finibus eu metus. Donec mattis leo sed sapien dictum commodo. Maecenas lorem nisl, feugiat at vehicula eget, porta vitae nisi. Vestibulum dapibus ornare tellus et finibus. Etiam volutpat orci quis erat condimentum, sed condimentum purus tempus. Nulla a ante placerat, scelerisque massa ac, laoreet dui. Suspendisse potenti. Sed semper leo orci, sit amet convallis lectus luctus id. Ut ac pellentesque nibh. Suspendisse odio magna, bibendum ut laoreet sed, auctor nec libero. Pellentesque vel felis arcu. Nunc sed sapien in odio ultrices imperdiet. Donec ac nunc id felis posuere scelerisque sit amet vel magna.
41+
Vestibulum ornare dolor ut risus scelerisque imperdiet. Maecenas sed turpis tortor. Integer id aliquam metus, vel varius leo. Nulla sit amet nunc ut arcu tempus molestie. Quisque dapibus, elit quis vestibulum vehicula, lectus justo suscipit quam, sed accumsan sem arcu eget velit. Donec tincidunt, orci a eleifend finibus, lectus turpis pulvinar sem, sit amet fringilla est odio et nisl. Phasellus in lacinia metus, vel accumsan diam. Cras luctus id augue ac consectetur. Mauris molestie nec nunc ac sodales.
42+
Suspendisse tempus, nisl a fringilla dapibus, ex nisi malesuada quam, posuere suscipit purus nisi et sem. Fusce elementum ante sed ante auctor, quis rutrum est viverra. Nam tincidunt ultricies nulla nec condimentum. Aenean eu maximus arcu, vitae elementum orci. Donec at sem sagittis, congue sem eu, gravida urna. Nulla ac lacus suscipit, convallis risus a, tincidunt mi. Curabitur ultricies rutrum lectus, vel viverra massa. Mauris ullamcorper, urna a tempor sagittis, leo lectus fringilla magna, et laoreet nisl ligula a sapien. Ut eu gravida est, at lobortis lorem. Duis iaculis lorem nec velit eleifend, eget imperdiet magna gravida. Nunc porta mauris lectus, eget consectetur nulla mollis sed. Proin volutpat velit a metus imperdiet, a varius risus cursus. Integer auctor tincidunt semper. Maecenas rutrum tellus non fermentum viverra. Phasellus venenatis est ut mollis tincidunt.
43+
Sed vestibulum neque vitae scelerisque sagittis. Morbi elementum maximus pharetra. Sed eu consequat nisi. Morbi imperdiet nibh nec est tincidunt bibendum. Sed cursus sit amet justo eget congue. Etiam ullamcorper tellus metus, quis elementum risus mollis quis. Pellentesque sit amet risus vitae mi pellentesque posuere. Praesent lacinia nisi erat, vel tempor nibh lacinia finibus. Maecenas sed blandit sem, et rhoncus urna. Praesent laoreet ornare purus, in cursus sem facilisis vitae. Curabitur mollis sagittis convallis. Quisque sollicitudin porta dictum. Aliquam erat volutpat. Aenean ornare tincidunt ante, a porttitor lectus varius quis. Aliquam erat volutpat. Donec tempor purus a felis aliquam dapibus.
44+
Phasellus porttitor venenatis neque, quis tempor lorem lobortis at. Fusce quis dolor ut leo hendrerit molestie a sit amet mauris. Sed vitae convallis arcu. Quisque urna lectus, placerat non arcu maximus, maximus fringilla neque. Nullam facilisis ex non lectus lacinia gravida. Ut eu libero dignissim, vulputate massa eget, aliquam est. Vivamus malesuada orci ac elit consectetur tempus. Aenean varius euismod urna, eu faucibus sem sodales vel.
45+
Praesent in nisl tempor, elementum eros ut, volutpat erat. Aliquam molestie, tellus sed tempor rutrum, turpis risus efficitur turpis, sed hendrerit purus sapien in dolor. Quisque malesuada tempus lacus, et lacinia metus feugiat eu. Vivamus sollicitudin ipsum sed mi posuere suscipit. Mauris ut lobortis sem. In at eleifend urna, at accumsan sem. In ac lacus ac augue feugiat mollis. Phasellus viverra rhoncus ornare. Suspendisse potenti. Morbi nec egestas metus. Nam elementum posuere diam, ac rutrum elit pellentesque ac. Nullam lacinia quam ac lectus porta dapibus. Ut aliquam massa non tellus lobortis, sed rutrum est ultrices. wordpress
46+
Curabitur auctor et ipsum in ultricies. Aliquam erat volutpat. Aliquam erat volutpat. Cras ut quam maximus urna molestie fermentum eget vel turpis. Donec ac auctor elit, non tincidunt ipsum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae metus eu turpis tristique tristique. Fusce non tellus mi. Ut arcu ipsum, pulvinar eu sem eget, fermentum lacinia lectus. Duis ut pretium nisi. Vivamus scelerisque hendrerit metus, sed gravida nisl commodo nec. Proin laoreet nulla dui, efficitur feugiat diam rhoncus sodales. Nulla nunc felis, consequat in mattis sed, bibendum et sapien. Vivamus eu luctus ante, ut mattis risus. Maecenas aliquam feugiat nulla, at porttitor ante.
47+
Maecenas eget mauris blandit, vulputate justo sit amet, gravida magna. Aliquam molestie lectus a libero condimentum, sollicitudin feugiat sapien pharetra. Ut fermentum pulvinar dolor id feugiat. Pellentesque eget risus eget ipsum finibus feugiat in a massa. Aenean non sapien at dui sagittis vestibulum. Quisque pretium varius pellentesque. Nullam eu sapien euismod, mollis ipsum vel, placerat lacus. Vestibulum dictum laoreet lorem, nec bibendum elit placerat vitae. Aenean tellus arcu, eleifend sed ipsum ac, aliquam rutrum ipsum. Morbi ligula velit, maximus sit amet condimentum eu, dapibus ut sapien. Fusce et venenatis orci, sed vehicula orci. `
48+
3949

4050

4151
var bad_robots = []string {
@@ -387,6 +397,16 @@ func Benchmark_BRS_UserAgentIsClean_BadLorem(b *testing.B) {
387397
}
388398
}
389399

400+
func Benchmark_BRS_UserAgentIsClean_BadLorem2(b *testing.B) {
401+
waf := new(WAF)
402+
waf.load_bad_robots(bad_robots)
403+
404+
ua := []byte(strings.ToLower(loremipsumBAD2))
405+
for i := 0; i < b.N; i++ {
406+
waf.BRS_UserAgentIsClean(ua)
407+
}
408+
}
409+
390410

391411

392412

@@ -443,3 +463,13 @@ func Benchmark_GSA_UserAgentIsClean_badLorem(b *testing.B) {
443463
waf.GoSufArray_UserAgentIsClean([]byte(ua))
444464
}
445465
}
466+
467+
func Benchmark_GSA_UserAgentIsClean_badLorem2(b *testing.B) {
468+
waf := new(WAF)
469+
waf.load_bad_robots(bad_robots)
470+
471+
ua := []byte(strings.ToLower(loremipsumBAD2))
472+
for i := 0; i < b.N; i++ {
473+
waf.GoSufArray_UserAgentIsClean([]byte(ua))
474+
}
475+
}

0 commit comments

Comments
 (0)