fixing sec issues
Some checks failed
CloudSave/pipeline/head There was a failure building this commit

This commit is contained in:
2025-09-07 01:14:19 +02:00
parent b3232e79d5
commit af11e843a4
13 changed files with 88 additions and 37 deletions

View File

@@ -63,9 +63,15 @@ func (p *SyncCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{})
pg := progressbar.New(-1)
destroyPg := func() {
pg.Finish()
pg.Clear()
pg.Close()
if err := pg.Finish(); err != nil {
slog.Error("failed to finish progressbar", "err", err)
}
if err := pg.Clear(); err != nil {
slog.Error("failed to clear progressbar", "err", err)
}
if err := pg.Close(); err != nil {
slog.Error("failed to close progressbar", "err", err)
}
}
pg.Describe(fmt.Sprintf("[%s] Checking status...", g.Name))

View File

@@ -30,7 +30,7 @@ func main() {
}
datastorepath := filepath.Join(roaming, "cloudsave", "data")
err = os.MkdirAll(datastorepath, 0740)
err = os.MkdirAll(datastorepath, 0600)
if err != nil {
panic("cannot make the datastore:" + err.Error())
}

View File

@@ -89,7 +89,7 @@ func save(store map[string]credential) error {
Store: store,
}
f, err := os.OpenFile(filepath.Join(datastorePath, "credential.json"), os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0740)
f, err := os.OpenFile(filepath.Join(datastorePath, "credential.json"), os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0600)
if err != nil {
return fmt.Errorf("failed to open datastore: %w", err)
}

View File

@@ -74,8 +74,9 @@ func NewServer(documentRoot string, srv *data.Service, creds map[string]string,
})
})
s.Server = &http.Server{
Addr: fmt.Sprintf(":%d", port),
Handler: router,
Addr: fmt.Sprintf(":%d", port),
Handler: router,
ReadHeaderTimeout: 2,
}
return s
}

View File

@@ -66,7 +66,9 @@ func run(updateChan <-chan struct{}) {
for {
<-updateChan
if r, ok := repo.(*repository.EagerRepository); ok {
r.Reload()
if err := r.Reload(); err != nil {
fatal("failed to reload data: "+err.Error(), 1)
}
}
h, err := htpasswd.Open(filepath.Join(documentRoot, ".htpasswd"))
if err != nil {

View File

@@ -74,13 +74,19 @@ var (
// NewServer start the http server
func NewServer(c config.Configuration) *HTTPServer {
dashboardTemplate := template.New("dashboard")
dashboardTemplate.Parse(DashboardHTMLPage)
if _, err := dashboardTemplate.Parse(DashboardHTMLPage); err != nil {
panic("failed to load template 'dashboard': " + err.Error())
}
detailledTemplate := template.New("detailled")
detailledTemplate.Parse(DetailledHTMLPage)
if _, err := detailledTemplate.Parse(DetailledHTMLPage); err != nil {
panic("failed to load template 'detailled': " + err.Error())
}
systemTemplate := template.New("system")
systemTemplate.Parse(SystemHTMLPage)
if _, err := systemTemplate.Parse(SystemHTMLPage); err != nil {
panic("failed to load template 'system': " + err.Error())
}
s := &HTTPServer{
Config: c,
@@ -99,8 +105,9 @@ func NewServer(c config.Configuration) *HTTPServer {
routerAPI.Get("/system", s.system)
})
s.Server = &http.Server{
Addr: fmt.Sprintf(":%d", c.Server.Port),
Handler: router,
Addr: fmt.Sprintf(":%d", c.Server.Port),
Handler: router,
ReadHeaderTimeout: 2,
}
return s
}