Skip to content

Commit 6cd7881

Browse files
authored
Merge pull request #18 from projectdiscovery/move-packages-from-naabu
move packages from naabu
2 parents 6f83277 + 227f168 commit 6cd7881

11 files changed

Lines changed: 120 additions & 7 deletions

File tree

go.mod

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,23 @@ require (
1212
github.com/zmap/zcrypto v0.0.0-20220803033029-557f3e4940be
1313
go.uber.org/multierr v1.8.0
1414
golang.org/x/exp v0.0.0-20221019170559-20944726eadf
15+
golang.org/x/sys v0.1.0
1516
gopkg.in/yaml.v3 v3.0.1
1617
)
1718

1819
require (
1920
github.com/aymerick/douceur v0.2.0 // indirect
2021
github.com/davecgh/go-spew v1.1.1 // indirect
2122
github.com/gorilla/css v1.0.0 // indirect
23+
github.com/kr/text v0.2.0 // indirect
2224
github.com/pmezard/go-difflib v1.0.0 // indirect
2325
github.com/weppos/publicsuffix-go v0.15.1-0.20220724114530-e087fba66a37 // indirect
2426
github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521 // indirect
25-
go.uber.org/atomic v1.9.0 // indirect
27+
go.uber.org/atomic v1.10.0 // indirect
2628
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
2729
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
2830
golang.org/x/net v0.1.0 // indirect
29-
golang.org/x/sys v0.1.0 // indirect
3031
golang.org/x/text v0.4.0 // indirect
3132
golang.org/x/tools v0.1.12 // indirect
33+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
3234
)

go.sum

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl
22
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
33
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
44
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
5+
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
56
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
67
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
78
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -10,11 +11,13 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO
1011
github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY=
1112
github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c=
1213
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
13-
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
1414
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
15+
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
16+
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
1517
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
16-
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
1718
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
19+
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
20+
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
1821
github.com/microcosm-cc/bluemonday v1.0.21 h1:dNH3e4PSyE4vNX+KlRGHT5KrSvjeUkoNPwEORjffHJg=
1922
github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM=
2023
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
@@ -51,8 +54,8 @@ github.com/zmap/zcertificate v0.0.0-20180516150559-0e3d58b1bac4/go.mod h1:5iU54t
5154
github.com/zmap/zcrypto v0.0.0-20220803033029-557f3e4940be h1:M5QjuCbUeNZsup53dlJkI/cx6pVdnDOPzyy+XppoowY=
5255
github.com/zmap/zcrypto v0.0.0-20220803033029-557f3e4940be/go.mod h1:bRZdjnJaHWVXKEwrfAZMd0gfRjZGNhTbZwzp07s0Abw=
5356
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
54-
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
55-
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
57+
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
58+
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
5659
go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
5760
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
5861
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -106,8 +109,9 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
106109
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
107110
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
108111
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
109-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
110112
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
113+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
114+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
111115
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
112116
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
113117
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

permission/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# permissionutils
2+
The package contains various helpers about permissions/privileges

permission/error.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package permissionutil
2+
3+
import "errors"
4+
5+
var ErrNotImplemented = errors.New("not implemented")

permission/permission.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package permissionutil
2+
3+
var (
4+
IsRoot bool
5+
HasCapNetRaw bool
6+
)
7+
8+
func init() {
9+
IsRoot, _ = checkCurrentUserRoot()
10+
HasCapNetRaw, _ = checkCurrentUserCapNetRaw()
11+
}

permission/permission_darwin.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//go:build darwin
2+
3+
package permissionutil
4+
5+
import (
6+
"os"
7+
)
8+
9+
// checkCurrentUserRoot checks if the current user is root
10+
func checkCurrentUserRoot() (bool, error) {
11+
return os.Geteuid() == 0, nil
12+
}
13+
14+
// checkCurrentUserCapNetRaw checks if the current user has the CAP_NET_RAW capability
15+
func checkCurrentUserCapNetRaw() (bool, error) {
16+
return false, ErrNotImplemented
17+
}

permission/permission_linux.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
//go:build linux || unix
2+
3+
package permissionutil
4+
5+
import (
6+
"errors"
7+
"os"
8+
"runtime"
9+
10+
raceutil "github.com/projectdiscovery/utils/race"
11+
12+
"golang.org/x/sys/unix"
13+
)
14+
15+
// checkCurrentUserRoot checks if the current user is root
16+
func checkCurrentUserRoot() (bool, error) {
17+
return os.Geteuid() == 0, nil
18+
}
19+
20+
// checkCurrentUserCapNetRaw checks if the current user has the CAP_NET_RAW capability
21+
func checkCurrentUserCapNetRaw() (bool, error) {
22+
if raceutil.Enabled {
23+
return false, errors.New("race detector enabled")
24+
}
25+
// runtime.LockOSThread interferes with race detection
26+
header := unix.CapUserHeader{
27+
Version: unix.LINUX_CAPABILITY_VERSION_3,
28+
Pid: int32(os.Getpid()),
29+
}
30+
data := unix.CapUserData{}
31+
runtime.LockOSThread()
32+
defer runtime.UnlockOSThread()
33+
34+
err := unix.Capget(&header, &data)
35+
if err != nil {
36+
return false, err
37+
}
38+
data.Inheritable = (1 << unix.CAP_NET_RAW)
39+
if err = unix.Capset(&header, &data); err != nil {
40+
return false, err
41+
}
42+
return true, nil
43+
}

permission/permission_win.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//go:build windows
2+
3+
package permissionutil
4+
5+
// checkCurrentUserRoot on windows is not implemented
6+
func checkCurrentUserRoot() (bool, error) {
7+
return false, ErrNotImplemented
8+
}
9+
10+
// checkCurrentUserCapNetRaw on windows is not implemented
11+
func checkCurrentUserCapNetRaw() (bool, error) {
12+
return false, ErrNotImplemented
13+
}

race/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# raceutil
2+
The package contains various helpers for race

race/norace.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//go:build !race
2+
3+
// Package raceutil reports if the Go race detector is enabled.
4+
package raceutil
5+
6+
// Enabled reports if the race detector is enabled.
7+
const Enabled = false

0 commit comments

Comments
 (0)