aboutsummaryrefslogtreecommitdiffstats
path: root/models/ssh_key.go
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-11-28 02:42:08 +0000
committerGitHub <noreply@github.com>2020-11-27 21:42:08 -0500
commit742e21aeba5c02935269a2a3681f4486019ce542 (patch)
treee1572ab13c33dec1238321170a90d42851ae4ca2 /models/ssh_key.go
parent5b75f17043bc2a6d0e753ae5c9c6759adad5aaac (diff)
downloadgitea-742e21aeba5c02935269a2a3681f4486019ce542.tar.gz
gitea-742e21aeba5c02935269a2a3681f4486019ce542.zip
Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186)
* Ensure errors from IsDir propagate * Handle errors when checking IsFile * Handle and propagate errors from IsExist * Update modules/templates/static.go * Update modules/templates/static.go * Return after ctx.ServerError * Apply suggestions from code review * Fix tests The previous merge managed to break repo_form.go Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'models/ssh_key.go')
-rw-r--r--models/ssh_key.go40
1 files changed, 32 insertions, 8 deletions
diff --git a/models/ssh_key.go b/models/ssh_key.go
index 29a4fd2932..f13fc61914 100644
--- a/models/ssh_key.go
+++ b/models/ssh_key.go
@@ -736,11 +736,18 @@ func rewriteAllPublicKeys(e Engine) error {
}
}()
- if setting.SSH.AuthorizedKeysBackup && com.IsExist(fPath) {
- bakPath := fmt.Sprintf("%s_%d.gitea_bak", fPath, time.Now().Unix())
- if err = com.Copy(fPath, bakPath); err != nil {
+ if setting.SSH.AuthorizedKeysBackup {
+ isExist, err := util.IsExist(fPath)
+ if err != nil {
+ log.Error("Unable to check if %s exists. Error: %v", fPath, err)
return err
}
+ if isExist {
+ bakPath := fmt.Sprintf("%s_%d.gitea_bak", fPath, time.Now().Unix())
+ if err = com.Copy(fPath, bakPath); err != nil {
+ return err
+ }
+ }
}
if err := regeneratePublicKeys(e, t); err != nil {
@@ -765,7 +772,12 @@ func regeneratePublicKeys(e Engine, t io.StringWriter) error {
}
fPath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
- if com.IsExist(fPath) {
+ isExist, err := util.IsExist(fPath)
+ if err != nil {
+ log.Error("Unable to check if %s exists. Error: %v", fPath, err)
+ return err
+ }
+ if isExist {
f, err := os.Open(fPath)
if err != nil {
return err
@@ -1206,11 +1218,18 @@ func rewriteAllPrincipalKeys(e Engine) error {
os.Remove(tmpPath)
}()
- if setting.SSH.AuthorizedPrincipalsBackup && com.IsExist(fPath) {
- bakPath := fmt.Sprintf("%s_%d.gitea_bak", fPath, time.Now().Unix())
- if err = com.Copy(fPath, bakPath); err != nil {
+ if setting.SSH.AuthorizedPrincipalsBackup {
+ isExist, err := util.IsExist(fPath)
+ if err != nil {
+ log.Error("Unable to check if %s exists. Error: %v", fPath, err)
return err
}
+ if isExist {
+ bakPath := fmt.Sprintf("%s_%d.gitea_bak", fPath, time.Now().Unix())
+ if err = com.Copy(fPath, bakPath); err != nil {
+ return err
+ }
+ }
}
if err := regeneratePrincipalKeys(e, t); err != nil {
@@ -1249,7 +1268,12 @@ func regeneratePrincipalKeys(e Engine, t io.StringWriter) error {
}
fPath := filepath.Join(setting.SSH.RootPath, authorizedPrincipalsFile)
- if com.IsExist(fPath) {
+ isExist, err := util.IsExist(fPath)
+ if err != nil {
+ log.Error("Unable to check if %s exists. Error: %v", fPath, err)
+ return err
+ }
+ if isExist {
f, err := os.Open(fPath)
if err != nil {
return err