From cea10926a23cd0d654010d923f7c0893dd7387bb Mon Sep 17 00:00:00 2001 From: Russell Jones Date: Wed, 30 Jan 2019 01:27:17 +0000 Subject: [PATCH] Convert "permission denied" errors into trace errors. --- lib/auth/helpers.go | 7 ++++++- lib/client/keystore.go | 4 ++-- lib/service/service.go | 2 +- lib/sshutils/scp/local.go | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/auth/helpers.go b/lib/auth/helpers.go index 3f9d92fd986b0..37d24286ca7a7 100644 --- a/lib/auth/helpers.go +++ b/lib/auth/helpers.go @@ -71,8 +71,13 @@ func (cfg *TestAuthServerConfig) CheckAndSetDefaults() error { // CreateUploaderDir creates directory for file uploader service func CreateUploaderDir(dir string) error { - return os.MkdirAll(filepath.Join(dir, teleport.LogsDir, teleport.ComponentUpload, + err := os.MkdirAll(filepath.Join(dir, teleport.LogsDir, teleport.ComponentUpload, events.SessionLogsDir, defaults.Namespace), teleport.SharedDirMode) + if err != nil { + return trace.ConvertSystemError(err) + } + + return nil } // TestAuthServer is auth server using local filesystem backend diff --git a/lib/client/keystore.go b/lib/client/keystore.go index 191f356c47eb8..3a9fcbba5a92d 100644 --- a/lib/client/keystore.go +++ b/lib/client/keystore.go @@ -413,7 +413,7 @@ func (fs *FSLocalKeyStore) dirFor(proxyHost string, create bool) (string, error) if create { if err := os.MkdirAll(dirPath, profileDirPerms); err != nil { fs.log.Error(err) - return "", trace.Wrap(err) + return "", trace.ConvertSystemError(err) } } @@ -439,7 +439,7 @@ func initKeysDir(dirPath string) (string, error) { if os.IsNotExist(err) { err = os.MkdirAll(dirPath, os.ModeDir|profileDirPerms) if err != nil { - return "", trace.Wrap(err) + return "", trace.ConvertSystemError(err) } } else { return "", trace.Wrap(err) diff --git a/lib/service/service.go b/lib/service/service.go index 6c119bb228d99..674d149179b0c 100644 --- a/lib/service/service.go +++ b/lib/service/service.go @@ -486,7 +486,7 @@ func NewTeleport(cfg *Config) (*TeleportProcess, error) { if os.IsNotExist(err) { err := os.MkdirAll(cfg.DataDir, os.ModeDir|0700) if err != nil { - return nil, trace.Wrap(err) + return nil, trace.ConvertSystemError(err) } } diff --git a/lib/sshutils/scp/local.go b/lib/sshutils/scp/local.go index 119cd860d47f1..6a7574b8c9079 100644 --- a/lib/sshutils/scp/local.go +++ b/lib/sshutils/scp/local.go @@ -45,7 +45,7 @@ func (l *localFileSystem) MkDir(path string, mode int) error { fileMode := os.FileMode(mode & int(os.ModePerm)) err := os.MkdirAll(path, fileMode) if err != nil && !os.IsExist(err) { - return trace.Wrap(err) + return trace.ConvertSystemError(err) } return nil