mirror of
https://github.com/maride/pancap.git
synced 2026-04-13 10:35:45 +00:00
Reformat code
This commit is contained in:
@@ -6,10 +6,10 @@ import (
|
||||
)
|
||||
|
||||
type File struct {
|
||||
name string
|
||||
name string
|
||||
content []byte
|
||||
origin string
|
||||
hash string
|
||||
origin string
|
||||
hash string
|
||||
}
|
||||
|
||||
// Creates a new file object and calculates the hash of the given content
|
||||
@@ -21,4 +21,4 @@ func NewFile(name string, content []byte, origin string) File {
|
||||
origin: origin,
|
||||
hash: hash,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,12 +46,12 @@ func StoreFiles() {
|
||||
var filesToExtract []File
|
||||
|
||||
// Check different flag scenarios
|
||||
if *targetAllFiles {
|
||||
if targetAllFiles {
|
||||
// We should extract all files.
|
||||
filesToExtract = registeredFiles
|
||||
} else {
|
||||
// We should extract only a given set of files
|
||||
fileList := strings.Split(*targetFiles, ",")
|
||||
fileList := strings.Split(targetFiles, ",")
|
||||
for _, f := range fileList {
|
||||
// Iterate over desired files
|
||||
found := false
|
||||
@@ -80,7 +80,7 @@ func StoreFiles() {
|
||||
|
||||
// Writes the given file object to disk, along with a stats file placed next to it.
|
||||
func writeOut(f File) {
|
||||
targetName := fmt.Sprintf("%s%c%s", *targetOutput, os.PathSeparator, f.hash)
|
||||
targetName := fmt.Sprintf("%s%c%s", targetOutput, os.PathSeparator, f.hash)
|
||||
targetDescName := fmt.Sprintf("%s.info", targetName)
|
||||
targetDescription := fmt.Sprintf("Filename: %s\nHash: %s\nOrigin: %s\nSize: %d", f.name, f.hash, f.origin, len(f.content))
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@ package output
|
||||
import "flag"
|
||||
|
||||
var (
|
||||
fullOutput *bool
|
||||
printEmptyBlocks *bool
|
||||
targetFiles *string
|
||||
targetAllFiles *bool
|
||||
targetOutput *string
|
||||
graphOutput *string
|
||||
fullOutput bool
|
||||
printEmptyBlocks bool
|
||||
targetFiles string
|
||||
targetAllFiles bool
|
||||
targetOutput string
|
||||
graphOutput string
|
||||
)
|
||||
|
||||
func RegisterFlags() {
|
||||
fullOutput = flag.Bool("full-output", false, "Show full output instead of limiting submodule output")
|
||||
printEmptyBlocks = flag.Bool("print-empty-blocks", false, "Prints blocks (submodule output) even if the submodule doesn't have any content to print.")
|
||||
targetFiles = flag.String("extract-these", "", "Comma-separated list of files to extract.")
|
||||
targetAllFiles = flag.Bool("extract-all", false, "Extract all files found.")
|
||||
targetOutput = flag.String("extract-to", "./extracted", "Directory to store extracted files in.")
|
||||
graphOutput = flag.String("create-graph", "", "Create a Graphviz graph out of collected communication")
|
||||
flag.BoolVar(&fullOutput, "full-output", false, "Show full output instead of limiting submodule output")
|
||||
flag.BoolVar(&printEmptyBlocks, "print-empty-blocks", false, "Prints blocks (submodule output) even if the submodule doesn't have any content to print.")
|
||||
flag.StringVar(&targetFiles, "extract-these", "", "Comma-separated list of files to extract.")
|
||||
flag.BoolVar(&targetAllFiles, "extract-all", false, "Extract all files found.")
|
||||
flag.StringVar(&targetOutput, "extract-to", "./extracted", "Directory to store extracted files in.")
|
||||
flag.StringVar(&graphOutput, "create-graph", "", "Create a Graphviz graph out of collected communication")
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package output
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
|
||||
"crypto/sha256"
|
||||
|
||||
"github.com/google/gopacket"
|
||||
)
|
||||
|
||||
@@ -40,13 +39,13 @@ func AddPkgToGraph(pkg gopacket.Packet) {
|
||||
|
||||
// CreateGraph writes out a Graphviz digraph
|
||||
func CreateGraph() {
|
||||
if *graphOutput == "" {
|
||||
if graphOutput == "" {
|
||||
// No graph requested
|
||||
return
|
||||
}
|
||||
|
||||
// Start with the Graphviz-specific header
|
||||
dot := fmt.Sprintf("# Compile with `neato -Tpng %s > %s.png`\n", *graphOutput, *graphOutput)
|
||||
dot := fmt.Sprintf("# Compile with `neato -Tpng %s > %s.png`\n", graphOutput, graphOutput)
|
||||
dot += "digraph pancap {\n\toverlap = false;\n"
|
||||
|
||||
// First, gather all nodes as-is and write them out
|
||||
@@ -61,7 +60,7 @@ func CreateGraph() {
|
||||
dot += "}\n"
|
||||
|
||||
// Write out
|
||||
ioutil.WriteFile(*graphOutput, []byte(dot), 0644)
|
||||
ioutil.WriteFile(graphOutput, []byte(dot), 0644)
|
||||
}
|
||||
|
||||
// Creates a list of distinct nodes, Graphviz-compatible
|
||||
|
||||
@@ -25,7 +25,7 @@ func Finalize() {
|
||||
}
|
||||
|
||||
// Check if something graph-worthy was collected
|
||||
if *graphOutput == "" && len(graphPkgs) > 0 {
|
||||
if graphOutput == "" && len(graphPkgs) > 0 {
|
||||
// User didn't want a graph
|
||||
printer.Println("To summarize the communcation flow with a Graphviz graph, specify --create-graph <out.dot>.")
|
||||
}
|
||||
|
||||
@@ -2,17 +2,18 @@ package output
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/fatih/color"
|
||||
"strings"
|
||||
|
||||
"github.com/fatih/color"
|
||||
)
|
||||
|
||||
const (
|
||||
MaxContentLines = 50
|
||||
SnipMark = "----- cut at 50 entries -----"
|
||||
SnipMark = "----- cut at 50 entries -----"
|
||||
)
|
||||
|
||||
var (
|
||||
DidSnip bool
|
||||
DidSnip bool
|
||||
DidAvoidEmptyBlock bool
|
||||
)
|
||||
|
||||
@@ -21,7 +22,7 @@ var (
|
||||
// If the content is longer than MaxContentLines, content is cut.
|
||||
func PrintBlock(headline string, content string) {
|
||||
// Avoid printing empty blocks - at least if user didn't specify it otherwise
|
||||
if len(content) == 0 && !*printEmptyBlocks {
|
||||
if len(content) == 0 && !printEmptyBlocks {
|
||||
// No content and we are not forced to print empty blocks, return
|
||||
DidAvoidEmptyBlock = true
|
||||
return
|
||||
@@ -38,7 +39,7 @@ func PrintBlock(headline string, content string) {
|
||||
}
|
||||
|
||||
// Cut to MaxContentLines if required
|
||||
if !(*fullOutput) {
|
||||
if !(fullOutput) {
|
||||
// User states that they don't want to see the whole output - cut content.
|
||||
content = cutContent(content)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user