Browse Source

Use a more lenient cluster config check (fixes #148)

Jakob Borg 11 years ago
parent
commit
71684bfa45
2 changed files with 4 additions and 12 deletions
  1. 2 10
      cmd/syncthing/util.go
  2. 2 2
      cmd/syncthing/util_test.go

+ 2 - 10
cmd/syncthing/util.go

@@ -117,8 +117,6 @@ func compareClusterConfig(local, remote protocol.ClusterConfigMessage) error {
 					if lflags&protocol.FlagShareBits != rflags&protocol.FlagShareBits {
 						return ClusterConfigMismatch(fmt.Errorf("remote has different sharing flags for node %q in repository %q", node, repo))
 					}
-				} else {
-					return ClusterConfigMismatch(fmt.Errorf("remote is missing node %q in repository %q", node, repo))
 				}
 			}
 		} else {
@@ -126,14 +124,8 @@ func compareClusterConfig(local, remote protocol.ClusterConfigMessage) error {
 		}
 	}
 
-	for repo, rnodes := range rm {
-		if lnodes, ok := lm[repo]; ok {
-			for node := range rnodes {
-				if _, ok := lnodes[node]; !ok {
-					return ClusterConfigMismatch(fmt.Errorf("remote has extra node %q in repository %q", node, repo))
-				}
-			}
-		} else {
+	for repo := range rm {
+		if _, ok := lm[repo]; !ok {
 			return ClusterConfigMismatch(fmt.Errorf("remote has extra repository %q", repo))
 		}
 

+ 2 - 2
cmd/syncthing/util_test.go

@@ -103,7 +103,7 @@ var testcases = []struct {
 				{ID: "bar"},
 			},
 		},
-		err: `remote is missing node "a" in repository "foo"`,
+		err: "",
 	},
 
 	{
@@ -130,7 +130,7 @@ var testcases = []struct {
 				{ID: "bar"},
 			},
 		},
-		err: `remote has extra node "b" in repository "foo"`,
+		err: "",
 	},
 
 	{