aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-11-11 21:28:09 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-11-11 21:28:09 +0100
commit31595b558a8ff26285830d6dc951164859da0268 (patch)
treec8906e47a9638beacadf35d1af05216f02ebb693
parentef62755a25a8291762605d018fb4736d3b9e48da (diff)
disallow insecure config permissionsHEADmaster
fixes #1
-rw-r--r--config.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/config.go b/config.go
index 5c09cdc..1e6944c 100644
--- a/config.go
+++ b/config.go
@@ -2,10 +2,13 @@ package main
import (
"encoding/json"
+ "errors"
"os"
"time"
)
+var ErrInsecure = errors.New("config has insecure permissions (need 0?00)")
+
type config struct {
User string
Passwd string
@@ -18,6 +21,15 @@ type config struct {
}
func (c *config) parse(location string) error {
+ info, err := os.Stat(location)
+ if err != nil {
+ return err
+ }
+
+ if info.Mode().Perm()&0077 > 0 {
+ return ErrInsecure
+ }
+
f, err := os.Open(location)
if err != nil {
return err