mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-29 22:23:02 +00:00
Merge pull request #1341 from projectdiscovery/issue-1339-windows-templates-unzip
Fixing templates bundle unzip on windows
This commit is contained in:
commit
6655521e91
@ -595,8 +595,6 @@ github.com/projectdiscovery/fileutil v0.0.0-20210914153648-31f843feaad4/go.mod h
|
|||||||
github.com/projectdiscovery/fileutil v0.0.0-20210926202739-6050d0acf73c/go.mod h1:U+QCpQnX8o2N2w0VUGyAzjM3yBAe4BKedVElxiImsx0=
|
github.com/projectdiscovery/fileutil v0.0.0-20210926202739-6050d0acf73c/go.mod h1:U+QCpQnX8o2N2w0VUGyAzjM3yBAe4BKedVElxiImsx0=
|
||||||
github.com/projectdiscovery/fileutil v0.0.0-20210928100737-cab279c5d4b5 h1:2dbm7UhrAKnccZttr78CAmG768sSCd+MBn4ayLVDeqA=
|
github.com/projectdiscovery/fileutil v0.0.0-20210928100737-cab279c5d4b5 h1:2dbm7UhrAKnccZttr78CAmG768sSCd+MBn4ayLVDeqA=
|
||||||
github.com/projectdiscovery/fileutil v0.0.0-20210928100737-cab279c5d4b5/go.mod h1:U+QCpQnX8o2N2w0VUGyAzjM3yBAe4BKedVElxiImsx0=
|
github.com/projectdiscovery/fileutil v0.0.0-20210928100737-cab279c5d4b5/go.mod h1:U+QCpQnX8o2N2w0VUGyAzjM3yBAe4BKedVElxiImsx0=
|
||||||
github.com/projectdiscovery/folderutil v0.0.0-20211206102047-d6bf8e7490ff h1:ci7/Pq9xvrVFb94jeARYb45oSzs85NWG+Fxp/kjgHVc=
|
|
||||||
github.com/projectdiscovery/folderutil v0.0.0-20211206102047-d6bf8e7490ff/go.mod h1:BMqXH4jNGByVdE2iLtKvc/6XStaiZRuCIaKv1vw9PnI=
|
|
||||||
github.com/projectdiscovery/folderutil v0.0.0-20211206150108-b4e7ea80f36e h1:RJJuYyuwskYtzZi2gziy6SE/b7saWEzyskaA252E0VY=
|
github.com/projectdiscovery/folderutil v0.0.0-20211206150108-b4e7ea80f36e h1:RJJuYyuwskYtzZi2gziy6SE/b7saWEzyskaA252E0VY=
|
||||||
github.com/projectdiscovery/folderutil v0.0.0-20211206150108-b4e7ea80f36e/go.mod h1:BMqXH4jNGByVdE2iLtKvc/6XStaiZRuCIaKv1vw9PnI=
|
github.com/projectdiscovery/folderutil v0.0.0-20211206150108-b4e7ea80f36e/go.mod h1:BMqXH4jNGByVdE2iLtKvc/6XStaiZRuCIaKv1vw9PnI=
|
||||||
github.com/projectdiscovery/goflags v0.0.7/go.mod h1:Jjwsf4eEBPXDSQI2Y+6fd3dBumJv/J1U0nmpM+hy2YY=
|
github.com/projectdiscovery/goflags v0.0.7/go.mod h1:Jjwsf4eEBPXDSQI2Y+6fd3dBumJv/J1U0nmpM+hy2YY=
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import (
|
|||||||
"github.com/olekukonko/tablewriter"
|
"github.com/olekukonko/tablewriter"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
|
"github.com/projectdiscovery/folderutil"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei-updatecheck-api/client"
|
"github.com/projectdiscovery/nuclei-updatecheck-api/client"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
||||||
@ -401,8 +402,17 @@ func calculateTemplateAbsolutePath(zipFilePath, configuredTemplateDirectory stri
|
|||||||
return "", true, nil
|
return "", true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
directoryPathChunks := strings.Split(directory, string(os.PathSeparator))
|
var (
|
||||||
relativeDirectoryPathWithoutZipRoot := filepath.Join(directoryPathChunks[1:]...)
|
directoryPathChunks []string
|
||||||
|
relativeDirectoryPathWithoutZipRoot string
|
||||||
|
)
|
||||||
|
if folderutil.IsUnixOS() {
|
||||||
|
directoryPathChunks = strings.Split(directory, string(os.PathSeparator))
|
||||||
|
} else if folderutil.IsWindowsOS() {
|
||||||
|
pathInfo, _ := folderutil.NewPathInfo(directory)
|
||||||
|
directoryPathChunks = pathInfo.Parts
|
||||||
|
}
|
||||||
|
relativeDirectoryPathWithoutZipRoot = filepath.Join(directoryPathChunks[1:]...)
|
||||||
|
|
||||||
if strings.HasPrefix(relativeDirectoryPathWithoutZipRoot, ".") {
|
if strings.HasPrefix(relativeDirectoryPathWithoutZipRoot, ".") {
|
||||||
return "", true, nil
|
return "", true, nil
|
||||||
|
|||||||
@ -28,21 +28,10 @@ func (g *PayloadGenerator) validate(payloads map[string]interface{}, templatePat
|
|||||||
|
|
||||||
changed := false
|
changed := false
|
||||||
|
|
||||||
var dir string
|
dir, _ := filepath.Split(templatePath)
|
||||||
if folderutil.IsWindowsOS() {
|
templatePathInfo, _ := folderutil.NewPathInfo(dir)
|
||||||
dir, payloadType = filepath.Split(filepath.Join(templatePath, payloadType))
|
payloadPathsToProbe, _ := templatePathInfo.MeshWith(payloadType)
|
||||||
} else {
|
|
||||||
dir, _ = filepath.Split(templatePath)
|
|
||||||
}
|
|
||||||
|
|
||||||
templatePathInfo, err := folderutil.NewPathInfo(dir)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
payloadPathsToProbe, err := templatePathInfo.MeshWith(payloadType)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for _, payloadPath := range payloadPathsToProbe {
|
for _, payloadPath := range payloadPathsToProbe {
|
||||||
if fileExists(payloadPath) {
|
if fileExists(payloadPath) {
|
||||||
payloads[name] = payloadPath
|
payloads[name] = payloadPath
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user