diff --git a/service/updates/module.go b/service/updates/module.go index fa6dc3ab..315c3657 100644 --- a/service/updates/module.go +++ b/service/updates/module.go @@ -16,6 +16,7 @@ import ( "github.com/safing/jess" "github.com/safing/portmaster/base/log" "github.com/safing/portmaster/base/notifications" + "github.com/safing/portmaster/base/utils" "github.com/safing/portmaster/service/mgr" ) @@ -170,6 +171,12 @@ func New(instance instance, name string, cfg Config) (*Updater, error) { return nil, fmt.Errorf("config is invalid: %w", err) } + // Make sure main dir exists. + err := utils.EnsureDirectory(module.cfg.Directory, utils.PublicReadExecPermission) + if err != nil { + return nil, fmt.Errorf("create update target directory: %s", module.cfg.DownloadDirectory) + } + // Create Workers. module.updateCheckWorkerMgr = m.NewWorkerMgr("update checker", module.updateCheckWorker, nil) module.upgradeWorkerMgr = m.NewWorkerMgr("upgrader", module.upgradeWorker, nil)