aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/xdsconfig/config.go6
-rw-r--r--lib/xdsconfig/folderconfig.go4
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go
index df98439..801891b 100644
--- a/lib/xdsconfig/config.go
+++ b/lib/xdsconfig/config.go
@@ -186,6 +186,12 @@ func (c *Config) UpdateAll(newCfg Config) error {
// UpdateFolder updates a specific folder into the current configuration
func (c *Config) UpdateFolder(newFolder FolderConfig) (FolderConfig, error) {
+ // rootPath should not be empty
+ if newFolder.rootPath == "" {
+ newFolder.rootPath = c.ShareRootDir
+ }
+
+ // Sanity check of folder settings
if err := FolderVerify(newFolder); err != nil {
return FolderConfig{}, err
}
diff --git a/lib/xdsconfig/folderconfig.go b/lib/xdsconfig/folderconfig.go
index e8bff4f..f22e76f 100644
--- a/lib/xdsconfig/folderconfig.go
+++ b/lib/xdsconfig/folderconfig.go
@@ -70,6 +70,10 @@ func FolderVerify(fCfg FolderConfig) error {
err = fmt.Errorf("device id not set (SyncThingID field)")
}
+ if fCfg.rootPath == "" {
+ err = fmt.Errorf("rootPath must not be empty")
+ }
+
if err != nil {
fCfg.Status = FolderStatusErrorConfig
log.Printf("ERROR FolderVerify: %v\n", err)