mirror of
https://github.com/juanfont/headscale.git
synced 2025-11-07 21:02:51 -05:00
fix: improve mapresponses and profiles extraction in hi tool
- Fix directory hierarchy flattening by using full paths instead of filepath.Base() - Remove redundant container hostname prefixes from directory names - Strip top-level directory from tar extraction to avoid nested structure - Ensure parent directories exist before creating files - Results in clean structure: control_logs/mapresponses/1-ts-client/file.json
This commit is contained in:
committed by
Kristoffer Dalby
parent
8e25f7f9dd
commit
4927e9d590
@@ -641,7 +641,6 @@ func extractTarToDirectory(tarData []byte, targetDir string) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Second pass: extract files, stripping the top-level directory
|
||||
tarReader = tar.NewReader(bytes.NewReader(tarData))
|
||||
for {
|
||||
header, err := tarReader.Next()
|
||||
@@ -665,7 +664,6 @@ func extractTarToDirectory(tarData []byte, targetDir string) error {
|
||||
// Skip the top-level directory itself
|
||||
continue
|
||||
}
|
||||
|
||||
// Skip empty paths after stripping
|
||||
if cleanName == "" {
|
||||
continue
|
||||
@@ -684,7 +682,6 @@ func extractTarToDirectory(tarData []byte, targetDir string) error {
|
||||
if err := os.MkdirAll(filepath.Dir(targetPath), 0o755); err != nil {
|
||||
return fmt.Errorf("failed to create parent directories for %s: %w", targetPath, err)
|
||||
}
|
||||
|
||||
// Create file
|
||||
outFile, err := os.Create(targetPath)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user