From 6bbf1f9355c8b393afaa72a6e000efebf0ff4e5c Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Mon, 18 Aug 2014 23:34:03 +0200 Subject: [PATCH] Emit Node/Repo Rejected events on unknown nodes / repos. --- cmd/syncthing/main.go | 4 ++++ events/events.go | 6 ++++++ model/model.go | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/cmd/syncthing/main.go b/cmd/syncthing/main.go index c57d64775..2d8cf60d5 100644 --- a/cmd/syncthing/main.go +++ b/cmd/syncthing/main.go @@ -846,6 +846,10 @@ next: } } + events.Default.Log(events.NodeRejected, map[string]string{ + "node": remoteID.String(), + "address": conn.RemoteAddr().String(), + }) l.Infof("Connection from %s with unknown node ID %s; ignoring", conn.RemoteAddr(), remoteID) conn.Close() } diff --git a/events/events.go b/events/events.go index 389eaf88b..829e4b878 100644 --- a/events/events.go +++ b/events/events.go @@ -20,10 +20,12 @@ const ( NodeDiscovered NodeConnected NodeDisconnected + NodeRejected LocalIndexUpdated RemoteIndexUpdated ItemStarted StateChanged + RepoRejected AllEvents = ^EventType(0) ) @@ -42,6 +44,8 @@ func (t EventType) String() string { return "NodeConnected" case NodeDisconnected: return "NodeDisconnected" + case NodeRejected: + return "NodeRejected" case LocalIndexUpdated: return "LocalIndexUpdated" case RemoteIndexUpdated: @@ -50,6 +54,8 @@ func (t EventType) String() string { return "ItemStarted" case StateChanged: return "StateChanged" + case RepoRejected: + return "RepoRejected" default: return "Unknown" } diff --git a/model/model.go b/model/model.go index 535f9d367..ae8517fef 100644 --- a/model/model.go +++ b/model/model.go @@ -332,6 +332,10 @@ func (m *Model) Index(nodeID protocol.NodeID, repo string, fs []protocol.FileInf } if !m.repoSharedWith(repo, nodeID) { + events.Default.Log(events.RepoRejected, map[string]string{ + "repo": repo, + "node": nodeID.String(), + }) l.Warnf("Unexpected repository ID %q sent from node %q; ensure that the repository exists and that this node is selected under \"Share With\" in the repository configuration.", repo, nodeID) return }