Fixed '--subnet' flag not adding hosts to scan

This commit is contained in:
David Allen 2024-08-07 13:14:07 -06:00
parent 0c30d4dc3a
commit dd829cd10e
No known key found for this signature in database
GPG key ID: 717C593FF60A2ACC
4 changed files with 43 additions and 26 deletions

View file

@ -1,6 +1,8 @@
package cache
import "database/sql/driver"
import (
"database/sql/driver"
)
type Cache[T any] interface {
CreateIfNotExists(path string) (driver.Connector, error)

28
internal/cache/storage.go vendored Normal file
View file

@ -0,0 +1,28 @@
package cache
import "github.com/google/uuid"
type Storage[T any] interface {
Save(id uuid.UUID, val T, varargs ...T) error
Get(id uuid.UUID) (T, error)
Update(id uuid.UUID, val T) error
Delete(id uuid.UUID) error
}
type Compute struct{}
type BMC struct{}
type Node[T any] struct {
}
type NodeStorage struct {
Storage[Node[Compute]]
}
type BMCStorage struct {
Storage[Node[BMC]]
}
func (ns *NodeStorage) Save(id uuid.UUID, val Node[Compute], varargs ...Node[Compute]) {
}

View file

@ -145,31 +145,27 @@ func FormatIPUrls(ips []string, ports []int, scheme string, verbose bool) [][]st
// format each positional arg as a complete URL
var formattedHosts [][]string
for _, ip := range ips {
// if parsing completely fails, try to build new URL object
if scheme == "" {
scheme = "https"
}
// make an entirely new object since we're expecting just IPs
uri := &url.URL{
Scheme: scheme,
Host: ip,
}
// check if scheme is set, if not set it with flag or default value ('https' if flag is not set)
if uri.Scheme == "" {
if scheme != "" {
uri.Scheme = scheme
} else {
// hardcoded assumption
uri.Scheme = "https"
}
}
// tidy up slashes and update arg with new value
uri.Path = strings.TrimSuffix(uri.Path, "/")
uri.Path = strings.ReplaceAll(uri.Path, "//", "/")
// for hosts with unspecified ports, add ports to scan from flag
if uri.Port() == "" {
if len(ports) == 0 {
ports = append(ports, 443)
}
var tmp []string
for _, port := range ports {
uri.Host = fmt.Sprintf("%s:%d", ip, port)
uri.Host += fmt.Sprintf(":%d", port)
tmp = append(tmp, uri.String())
}
formattedHosts = append(formattedHosts, tmp)