Skip to content

Commit 589eda1

Browse files
committedApr 27, 2022
update deps
1 parent a5ea879 commit 589eda1

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed
 

‎go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ go 1.18
44

55
require (
66
github.com/gobwas/ws v1.1.0
7-
github.com/goccy/go-json v0.9.6
7+
github.com/goccy/go-json v0.9.7
88
github.com/lemon-mint/envaddr v0.0.0-20220115112619-b1acf77f317e
99
github.com/lemon-mint/godotenv v1.0.3
10-
github.com/libp2p/go-reuseport v0.1.0
10+
github.com/libp2p/go-reuseport v0.2.0
1111
)
1212

1313
require (
1414
github.com/davecgh/go-spew v1.1.1 // indirect
1515
github.com/gobwas/httphead v0.1.0 // indirect
1616
github.com/gobwas/pool v0.2.1 // indirect
17-
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f // indirect
17+
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect
1818
)

‎go.sum

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
21
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
32
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
43
github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
@@ -7,23 +6,17 @@ github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
76
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
87
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
98
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
10-
github.com/goccy/go-json v0.9.6 h1:5/4CtRQdtsX0sal8fdVhTaiMN01Ri8BExZZ8iRmHQ6E=
11-
github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
9+
github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM=
10+
github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
1211
github.com/lemon-mint/envaddr v0.0.0-20220115112619-b1acf77f317e h1:WHTlxOrYAnJkd+5dFnSIWA2+mAdgpUlChJpzjnNrSGE=
1312
github.com/lemon-mint/envaddr v0.0.0-20220115112619-b1acf77f317e/go.mod h1:kzf0S/z9swcXpeo2+e1fY63g5/ZfIop37MgBmXLmDL0=
1413
github.com/lemon-mint/godotenv v1.0.3 h1:wJBuGdp5eez/ycl9c8502qLj1RBPRHLDHTR6eoD/pwM=
1514
github.com/lemon-mint/godotenv v1.0.3/go.mod h1:hBLJjPZkQ2QMrEwirLCQ+tRkWBKufZ1VxoqpZixGUYo=
16-
github.com/libp2p/go-reuseport v0.1.0 h1:0ooKOx2iwyIkf339WCZ2HN3ujTDbkK0PjC7JVoP1AiM=
17-
github.com/libp2p/go-reuseport v0.1.0/go.mod h1:bQVn9hmfcTaoo0c9v5pBhOarsU1eNOBZdaAd2hzXRKU=
15+
github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560=
16+
github.com/libp2p/go-reuseport v0.2.0/go.mod h1:bvVho6eLMm6Bz5hmU0LYN3ixd3nPPvtIlaURZZgOY4k=
1817
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
19-
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
20-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
2118
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
22-
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
23-
golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
2419
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
25-
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f h1:rlezHXNlxYWvBCzNses9Dlc7nGFaNMJeqLolcmQSSZY=
26-
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
27-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
20+
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc=
21+
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2822
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
29-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

3 commit comments

Comments
 (3)

github-actions[bot] commented on Apr 27, 2022

@github-actions[bot]

Golang CI Tools Report

Report generated at: 2022-04-27T14:41:47Z

Go version: go1.17.8

golang-ci-tools version: 0.1.2-dev

staticcheck

🎉  No staticcheck errors found!

gosec

** Issue Detected **

[gosec] 2022/04/27 14:41:57 Including rules: default
[gosec] 2022/04/27 14:41:57 Excluding rules: default
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/gopool
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/h1/encoding/percent
[gosec] 2022/04/27 14:41:57 Checking package: gopool
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/gopool/pool.go
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/h1/fuzz
[gosec] 2022/04/27 14:41:57 Checking package: percent
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/h1/encoding/percent/hex.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/h1/encoding/percent/percent.go
[gosec] 2022/04/27 14:41:57 Checking package: silverlining
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/any.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/bind.go
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/h1/testserver
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/body.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/chunked.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/headers.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/json.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/multipart.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/redirect.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/server.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/silverlining.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/sse.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/status.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/strbytes.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/ws.go
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/x_www_form_urlencoded.go
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/main
[gosec] 2022/04/27 14:41:57 Checking package: fuzz
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/h1/fuzz/fuzz.go
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/tests
[gosec] 2022/04/27 14:41:57 Checking package: main
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/h1/testserver/main.go
[gosec] 2022/04/27 14:41:57 Import directory: /home/runner/work/silverlining/silverlining/examples/helloworld
[gosec] 2022/04/27 14:41:57 Checking package: main
[gosec] 2022/04/27 14:41:57 Checking file: /home/runner/work/silverlining/silverlining/main/main.go
[gosec] 2022/04/27 14:41:58 Import directory: /home/runner/work/silverlining/silverlining/h1
[gosec] 2022/04/27 14:41:58 Checking package: main
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/tests/run.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/tests/upload.go
[gosec] 2022/04/27 14:41:58 Import directory: /home/runner/work/silverlining/silverlining/pprofserver
[gosec] 2022/04/27 14:41:58 Checking package: main
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/examples/helloworld/main.go
[gosec] 2022/04/27 14:41:58 Import directory: /home/runner/work/silverlining/silverlining/tests/urlescape
[gosec] 2022/04/27 14:41:58 Checking package: h1
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/any.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/fastdate.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/headers.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/methods.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/reader.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/request.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/response.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/status.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/strbytes.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/stricmp.go
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/h1/uri.go
[gosec] 2022/04/27 14:41:58 Checking package: main
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/tests/urlescape/escape.go
[gosec] 2022/04/27 14:41:58 Checking package: main
[gosec] 2022/04/27 14:41:58 Checking file: /home/runner/work/silverlining/silverlining/pprofserver/server.go
Results:


[/home/runner/work/silverlining/silverlining/pprofserver/server.go:7] - G108 (CWE-200): Profiling endpoint is automatically exposed on /debug/pprof (Confidence: HIGH, Severity: HIGH)
    6: 	"net/http"
  > 7: 	_ "net/http/pprof"
    8: 



[/home/runner/work/silverlining/silverlining/ws.go:70] - G401 (CWE-326): Use of weak cryptographic primitive (Confidence: HIGH, Severity: MEDIUM)
    69: 
  > 70: 	h := sha1.New()
    71: 	h.Write(stringToBytes(SecKey))



[/home/runner/work/silverlining/silverlining/tests/run.go:57] - G204 (CWE-78): Subprocess launched with a potential tainted input or cmd arguments (Confidence: HIGH, Severity: MEDIUM)
    56: 		var MemImageBuffer bytes.Buffer
  > 57: 		cmd = exec.Command("go", "tool", "pprof", "-png", "./testOutput/"+benchmark+"_mem_profile.out")
    58: 		cmd.Stdout = &MemImageBuffer



[/home/runner/work/silverlining/silverlining/tests/run.go:48] - G204 (CWE-78): Subprocess launched with a potential tainted input or cmd arguments (Confidence: HIGH, Severity: MEDIUM)
    47: 		var CPUImageBuffer bytes.Buffer
  > 48: 		cmd = exec.Command("go", "tool", "pprof", "-png", "./testOutput/"+benchmark+"_cpu_profile.out")
    49: 		cmd.Stdout = &CPUImageBuffer



[/home/runner/work/silverlining/silverlining/tests/run.go:39] - G204 (CWE-78): Subprocess launched with a potential tainted input or cmd arguments (Confidence: HIGH, Severity: MEDIUM)
    38: 		var buffer bytes.Buffer
  > 39: 		cmd := exec.Command("go", "test", "-bench="+benchmark, "-benchmem", "-cpuprofile", "testOutput/"+benchmark+"_cpu_profile.out", "-memprofile", "testOutput/"+benchmark+"_mem_profile.out", "github.com/go-www/silverlining/h1")
    40: 		cmd.Stdout = &buffer



[/home/runner/work/silverlining/silverlining/server.go:76] - G204 (CWE-78): Subprocess launched with a potential tainted input or cmd arguments (Confidence: HIGH, Severity: MEDIUM)
    75: 
  > 76: 			cmd := exec.Command(os.Args[0], os.Args[1:]...)
    77: 			cmd.Env = env



[/home/runner/work/silverlining/silverlining/tests/urlescape/escape.go:12] - G304 (CWE-22): Potential file inclusion via variable (Confidence: HIGH, Severity: MEDIUM)
    11: 	filename := os.Args[1]
  > 12: 	file, err := os.Open(filename)
    13: 	if err != nil {



[/home/runner/work/silverlining/silverlining/tests/run.go:30] - G301 (CWE-276): Expect directory permissions to be 0750 or less (Confidence: HIGH, Severity: MEDIUM)
    29: 
  > 30: 	err := os.Mkdir("testOutput", 0777)
    31: 	if err != nil {



[/home/runner/work/silverlining/silverlining/tests/urlescape/escape.go:16] - G307 (CWE-703): Deferring unsafe method "Close" on type "*os.File" (Confidence: HIGH, Severity: MEDIUM)
    15: 	}
  > 16: 	defer file.Close()
    17: 	data, err := io.ReadAll(file)



[/home/runner/work/silverlining/silverlining/tests/run.go:109] - G307 (CWE-703): Deferring unsafe method "Close" on type "*os.File" (Confidence: HIGH, Severity: MEDIUM)
    108: 		}
  > 109: 		defer f.Close()
    110: 



[/home/runner/work/silverlining/silverlining/ws.go:4] - G505 (CWE-327): Blocklisted import crypto/sha1: weak cryptographic primitive (Confidence: HIGH, Severity: MEDIUM)
    3: import (
  > 4: 	"crypto/sha1"
    5: 	"encoding/base64"



[/home/runner/work/silverlining/silverlining/h1/testserver/main.go:57] - G102 (CWE-200): Binds to all network interfaces (Confidence: HIGH, Severity: MEDIUM)
    56: func main() {
  > 57: 	ln, err := net.Listen("tcp", ":50901")
    58: 	if err != nil {



[/home/runner/work/silverlining/silverlining/h1/fastdate.go:51] - G103 (CWE-242): Use of unsafe calls should be audited (Confidence: HIGH, Severity: LOW)
    50: 
  > 51: 	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&fds.current)), unsafe.Pointer(new))
    52: }



[/home/runner/work/silverlining/silverlining/h1/fastdate.go:51] - G103 (CWE-242): Use of unsafe calls should be audited (Confidence: HIGH, Severity: LOW)
    50: 
  > 51: 	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&fds.current)), unsafe.Pointer(new))
    52: }



[/home/runner/work/silverlining/silverlining/ws.go:63] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    62: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 63: 		r.WriteFullBodyString(400, "Invalid Sec-WebSocket-Key header")
    64: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:57] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    56: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 57: 		r.WriteFullBodyString(400, "Missing Sec-WebSocket-Key header")
    58: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:50] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    49: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 50: 		r.WriteFullBodyString(400, "Sorry, only WebSocket version 13 is supported.")
    51: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:45] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    44: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 45: 		r.WriteFullBodyString(400, "Missing Sec-WebSocket-Version header")
    46: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:38] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    37: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 38: 		r.WriteFullBodyString(400, "Sorry, only \"Upgrade\" connection is supported")
    39: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:33] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    32: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 33: 		r.WriteFullBodyString(400, "Missing Connection header")
    34: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:26] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    25: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 26: 		r.WriteFullBodyString(400, "Invalid Upgrade header")
    27: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/ws.go:21] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    20: 		r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 21: 		r.WriteFullBodyString(400, "Missing Upgrade header")
    22: 		return ErrUpgradeBadRequest



[/home/runner/work/silverlining/silverlining/silverlining.go:215] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    214: 		r.hwt = true
  > 215: 		r.respW.WriteHeader(r.response.StatusCode)
    216: 		err := r.writeUserHeader()



[/home/runner/work/silverlining/silverlining/silverlining.go:137] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    136: 		if s.ReadTimeout > 0 {
  > 137: 			conn.SetReadDeadline(time.Now().Add(s.ReadTimeout))
    138: 		}



[/home/runner/work/silverlining/silverlining/silverlining.go:113] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    112: 		}
  > 113: 		conn.Close()
    114: 		putBuffer8k(readBuffer)



[/home/runner/work/silverlining/silverlining/pprofserver/server.go:36] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    35: 		default:
  > 36: 			r.WriteFullBody(404, nil)
    37: 		}



[/home/runner/work/silverlining/silverlining/pprofserver/server.go:34] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    33: 			msg := Message{Message: "Hello, World!"}
  > 34: 			r.WriteJSON(200, msg)
    35: 		default:



[/home/runner/work/silverlining/silverlining/pprofserver/server.go:28] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    27: 			r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 28: 			r.WriteFullBodyString(200, "Hello, World!")
    29: 		case "/json":



[/home/runner/work/silverlining/silverlining/main/main.go:169] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    168: 		default:
  > 169: 			r.WriteFullBody(404, nil)
    170: 		}



[/home/runner/work/silverlining/silverlining/main/main.go:167] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    166: 		case "/kill":
  > 167: 			r.KillConn()
    168: 		default:



[/home/runner/work/silverlining/silverlining/main/main.go:150] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    149: 			defer w.Close()
  > 150: 			w.WriteString("Hello, World!")
    151: 		case "/sse":



[/home/runner/work/silverlining/silverlining/main/main.go:146] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    145: 
  > 146: 			r.WriteJSONIndent(200, reqData, "", "  ")
    147: 		case "/chunked":



[/home/runner/work/silverlining/silverlining/main/main.go:138] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    137: 			reqData.Data = string(body)
  > 138: 			json.Unmarshal(body, &reqData.JSON)
    139: 



[/home/runner/work/silverlining/silverlining/main/main.go:134] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    133: 			if err != nil {
  > 134: 				r.WriteJSONIndent(500, map[string]string{"error": err.Error()}, "", "  ")
    135: 				return



[/home/runner/work/silverlining/silverlining/main/main.go:101] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    100: 
  > 101: 				r.WriteFullBody(http.StatusNoContent, nil)
    102: 				return



[/home/runner/work/silverlining/silverlining/main/main.go:59] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    58: 				//println(err.Error())
  > 59: 				r.WriteJSONIndent(500, map[string]string{"error": err.Error()}, "", "  ")
    60: 				return



[/home/runner/work/silverlining/silverlining/main/main.go:54] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    53: 
  > 54: 			r.WriteJSONIndent(200, u, "", "  ")
    55: 		case "/ws":



[/home/runner/work/silverlining/silverlining/main/main.go:50] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    49: 			if err := r.BindQuery(u); err != nil {
  > 50: 				r.WriteJSONIndent(500, map[string]string{"error": err.Error()}, "", "  ")
    51: 				return



[/home/runner/work/silverlining/silverlining/main/main.go:40] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    39: 			r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 40: 			r.WriteFullBody(200, healthz)
    41: 		case "/redirect":



[/home/runner/work/silverlining/silverlining/main/main.go:37] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    36: 		case "/json":
  > 37: 			r.WriteJSON(200, jsonData)
    38: 		case "/healthz":



[/home/runner/work/silverlining/silverlining/main/main.go:35] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    34: 			r.ResponseHeaders().Set("Content-Type", "text/plain")
  > 35: 			r.WriteFullBody(200, data)
    36: 		case "/json":



[/home/runner/work/silverlining/silverlining/h1/testserver/main.go:44] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    43: 		resp.WriteHeader(200)
  > 44: 		resp.WriteString("Hello, World!")
    45: 



[/home/runner/work/silverlining/silverlining/h1/testserver/main.go:43] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    42: 		//resp.Connection = h1.ConnectionKeepAlive
  > 43: 		resp.WriteHeader(200)
    44: 		resp.WriteString("Hello, World!")



[/home/runner/work/silverlining/silverlining/h1/fuzz/fuzz.go:11] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    10: 	var r h1.Request
  > 11: 	h1.ParseRequest(&r, bytes.NewReader(data))
    12: 	return 0



[/home/runner/work/silverlining/silverlining/examples/helloworld/main.go:7] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    6: 	silverlining.ListenAndServe(":8080", func(r *silverlining.Context) {
  > 7: 		r.WriteFullBodyString(200, "Hello, World!")
    8: 	})



[/home/runner/work/silverlining/silverlining/examples/helloworld/main.go:6-8] - G104 (CWE-703): Errors unhandled. (Confidence: HIGH, Severity: LOW)
    5: func main() {
  > 6: 	silverlining.ListenAndServe(":8080", func(r *silverlining.Context) {
  > 7: 		r.WriteFullBodyString(200, "Hello, World!")
  > 8: 	})
    9: }



Summary:
  Gosec  : dev
  Files  : 37
  Lines  : 2969
  Nosec  : 4
  Issues : 46


gocap

github.com/go-www/silverlining (execute, file, network, reflect, unsafe)

github.com/go-www/silverlining/h1 (network, reflect, unsafe)
github.com/gobwas/ws (network, reflect, unsafe)
github.com/goccy/go-json (file, reflect, unsafe)
github.com/goccy/go-json/internal/decoder (reflect, unsafe)
github.com/goccy/go-json/internal/encoder (reflect, unsafe)
github.com/goccy/go-json/internal/encoder/vm (unsafe)
github.com/goccy/go-json/internal/encoder/vm_color (unsafe)
github.com/goccy/go-json/internal/encoder/vm_color_indent (unsafe)
github.com/goccy/go-json/internal/encoder/vm_indent (unsafe)
github.com/goccy/go-json/internal/errors (reflect)
github.com/goccy/go-json/internal/runtime (reflect, unsafe)
github.com/libp2p/go-reuseport (network, syscall)
golang.org/x/sys/internal/unsafeheader (unsafe)
golang.org/x/sys/unix (syscall, unsafe)

go-licenses

Package Name License File License
github.com/go-www/silverlining https://github.com/go-www/silverlining/blob/HEAD/LICENSE Unlicense
github.com/go-www/silverlining/h1 https://github.com/go-www/silverlining/blob/HEAD/h1/LICENSE MIT
github.com/gobwas/httphead https://github.com/gobwas/httphead/blob/v0.1.0/LICENSE MIT
github.com/gobwas/pool https://github.com/gobwas/pool/blob/v0.2.1/LICENSE MIT
github.com/gobwas/ws https://github.com/gobwas/ws/blob/v1.1.0/LICENSE MIT
github.com/goccy/go-json https://github.com/goccy/go-json/blob/v0.9.7/LICENSE MIT
github.com/lemon-mint/envaddr https://github.com/lemon-mint/envaddr/blob/b1acf77f317e/LICENSE Unlicense
github.com/lemon-mint/godotenv https://github.com/lemon-mint/godotenv/blob/v1.0.3/LICENSE Unlicense
github.com/libp2p/go-reuseport https://github.com/libp2p/go-reuseport/blob/v0.2.0/LICENSE ISC
golang.org/x/sys https://cs.opensource.google/go/x/sys/+/9388b58f:LICENSE BSD-3-Clause

Dependencies

Total dependencies: 17

Show Full Dependencies
  • github.com/go-www/silverlining github.com/davecgh/go-spew@v1.1.1
  • github.com/go-www/silverlining github.com/gobwas/httphead@v0.1.0
  • github.com/go-www/silverlining github.com/gobwas/pool@v0.2.1
  • github.com/go-www/silverlining github.com/gobwas/ws@v1.1.0
  • github.com/go-www/silverlining github.com/goccy/go-json@v0.9.7
  • github.com/go-www/silverlining github.com/lemon-mint/envaddr@v0.0.0-20220115112619-b1acf77f317e
  • github.com/go-www/silverlining github.com/lemon-mint/godotenv@v1.0.3
  • github.com/go-www/silverlining github.com/libp2p/go-reuseport@v0.2.0
  • github.com/go-www/silverlining golang.org/x/sys@v0.0.0-20220422013727-9388b58f7150
  • github.com/gobwas/ws@v1.1.0 github.com/gobwas/httphead@v0.1.0
  • github.com/gobwas/ws@v1.1.0 github.com/gobwas/pool@v0.2.1
  • github.com/gobwas/ws@v1.1.0 golang.org/x/sys@v0.0.0-20201207223542-d4d67f95c62d
  • github.com/libp2p/go-reuseport@v0.2.0 github.com/stretchr/testify@v1.7.0
  • github.com/libp2p/go-reuseport@v0.2.0 golang.org/x/sys@v0.0.0-20220422013727-9388b58f7150
  • github.com/libp2p/go-reuseport@v0.2.0 github.com/davecgh/go-spew@v1.1.0
  • github.com/libp2p/go-reuseport@v0.2.0 github.com/pmezard/go-difflib@v1.0.0
  • github.com/libp2p/go-reuseport@v0.2.0 gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c

github-actions[bot] commented on Apr 27, 2022

@github-actions[bot]

Benchmark Results (OS: linux, Arch: amd64, Go Version: go1.18)

Benchmark BenchmarkParseRequest

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkParseRequest-2   	 6709258	       176.8 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.515s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_stricmp

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_stricmp-2   	16005787	        72.28 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.335s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_ContentLength_stricmp

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_ContentLength_stricmp-2   	41254341	        27.17 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.356s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_Net_URL_Parse

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_Net_URL_Parse-2   	 6572251	       174.5 ns/op	     144 B/op	       1 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.535s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_H1_URI_Parse

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_H1_URI_Parse-2   	199170703	         6.076 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.931s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_H1_URI_Query

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_H1_URI_Query-2   	10238803	       116.6 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.437s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_Request_Reader

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Benchmark_Request_Reader-2   	 5712537	       210.1 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.544s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Load Test Results

Summary:
  Success rate:	1.0000
  Total:	35.0022 secs
  Slowest:	0.0143 secs
  Fastest:	0.0000 secs
  Average:	0.0009 secs
  Requests/sec:	54461.2773

  Total data:	23.63 MiB
  Size/request:	13 B
  Size/sec:	691.40 KiB

Response time histogram:
  0.000 [41719]  |■■
  0.001 [136233] |■■■■■■■
  0.001 [388600] |■■■■■■■■■■■■■■■■■■■
  0.001 [622553] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.001 [496695] |■■■■■■■■■■■■■■■■■■■■■■■■■
  0.002 [182323] |■■■■■■■■■
  0.002 [30299]  |■
  0.002 [5426]   |
  0.002 [1270]   |
  0.003 [423]    |
  0.003 [725]    |

Latency distribution:
  10% in 0.0005 secs
  25% in 0.0007 secs
  50% in 0.0009 secs
  75% in 0.0011 secs
  90% in 0.0013 secs
  95% in 0.0014 secs
  99% in 0.0016 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0014 secs, 0.0001 secs, 0.0034 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0001 secs

Status code distribution:
  [200] 1906266 responses

CPU Profile

CPU Profile

github-actions[bot] commented on Apr 27, 2022

@github-actions[bot]

Benchmark Results (OS: linux, Arch: amd64, Go Version: go1.17.8)

Benchmark BenchmarkParseRequest

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
BenchmarkParseRequest-2   	 5012604	       250.0 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.629s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_stricmp

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_stricmp-2   	13354630	        78.78 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.307s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_ContentLength_stricmp

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_ContentLength_stricmp-2   	38421036	        31.04 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.368s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_Net_URL_Parse

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_Net_URL_Parse-2   	 5426338	       237.4 ns/op	     144 B/op	       1 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.659s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_H1_URI_Parse

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_H1_URI_Parse-2   	135362456	         8.929 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	2.279s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_H1_URI_Query

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_H1_URI_Query-2   	 8183602	       145.6 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.459s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Benchmark Benchmark_Request_Reader

goos: linux
goarch: amd64
pkg: github.com/go-www/silverlining/h1
cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Benchmark_Request_Reader-2   	 4224706	       271.4 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/go-www/silverlining/h1	1.625s

CPU Profile

CPU Profile

Memory Profile

Memory Profile

Load Test Results

Summary:
  Success rate:	1.0000
  Total:	35.0038 secs
  Slowest:	0.0148 secs
  Fastest:	0.0000 secs
  Average:	0.0015 secs
  Requests/sec:	33843.3971

  Total data:	14.69 MiB
  Size/request:	13 B
  Size/sec:	429.65 KiB

Response time histogram:
  0.000 [25801]  |■■
  0.001 [121855] |■■■■■■■■■■■
  0.001 [281666] |■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.002 [330214] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.002 [254595] |■■■■■■■■■■■■■■■■■■■■■■■■
  0.002 [112360] |■■■■■■■■■■
  0.003 [35244]  |■■■
  0.003 [11315]  |■
  0.004 [4621]   |
  0.004 [2441]   |
  0.004 [4535]   |

Latency distribution:
  10% in 0.0008 secs
  25% in 0.0011 secs
  50% in 0.0014 secs
  75% in 0.0018 secs
  90% in 0.0022 secs
  95% in 0.0024 secs
  99% in 0.0032 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0025 secs, 0.0001 secs, 0.0032 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0003 secs

Status code distribution:
  [200] 1184647 responses

CPU Profile

CPU Profile

Please sign in to comment.