Skip to content

Commit

Permalink
split getFileMode() by platform
Browse files Browse the repository at this point in the history
  • Loading branch information
qrkourier committed Jan 28, 2025
1 parent 44961ee commit 1f0ce3f
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 23 deletions.
27 changes: 27 additions & 0 deletions ziti/cmd/file_mode_unix.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
//go:build !windows

package cmd

import (
"os"
"syscall"
)

func getFileMode(isPrivateKey bool) os.FileMode {
// Default modes before umask:
// - Private keys: 0600 (rw-------)
// - Public files: 0644 (rw-r--r--)
mode := os.FileMode(0644)
if isPrivateKey {
mode = os.FileMode(0600)
}

// Get current umask
oldMask := syscall.Umask(0)
syscall.Umask(oldMask) // Restore original umask

// Apply umask to our default mode
mode &= ^os.FileMode(oldMask)

return mode
}
15 changes: 15 additions & 0 deletions ziti/cmd/file_mode_windows.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//go:build windows

package cmd

import "os"

func getFileMode(isPrivateKey bool) os.FileMode {
// Default modes for Windows:
// - Private keys: 0600 (rw-------)
// - Public files: 0644 (rw-r--r--)
if isPrivateKey {
return os.FileMode(0600)
}
return os.FileMode(0644)
}
23 changes: 0 additions & 23 deletions ziti/cmd/unwrap_identity.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ import (
"github.com/spf13/cobra"
"io"
"os"
"runtime"
"strings"
"syscall"
)

type IdentityConfigFile struct {
Expand Down Expand Up @@ -95,24 +93,3 @@ func NewUnwrapIdentityFileCommand(out io.Writer, errOut io.Writer) *cobra.Comman

return cmd
}

func getFileMode(isPrivateKey bool) os.FileMode {
// Default modes before umask:
// - Private keys: 0600 (rw-------)
// - Public files: 0644 (rw-r--r--)
mode := os.FileMode(0644)
if isPrivateKey {
mode = os.FileMode(0600)
}

if runtime.GOOS != "windows" {
// Get current umask
oldMask := syscall.Umask(0)
syscall.Umask(oldMask) // Restore original umask

// Apply umask to our default mode
mode &= ^os.FileMode(oldMask)
}

return mode
}

0 comments on commit 1f0ce3f

Please sign in to comment.