From 151de953b509e7a2a481dc3c5fdb966d011fbc90 Mon Sep 17 00:00:00 2001 From: Callan Bryant Date: Fri, 6 Mar 2020 00:02:31 +0000 Subject: [PATCH] build index of old peer reports --- reporttypes.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reporttypes.go b/reporttypes.go index aa4c1c8..783f1c2 100644 --- a/reporttypes.go +++ b/reporttypes.go @@ -65,11 +65,18 @@ type DsnetReport struct { func GenerateReport(dev *wgtypes.Device, conf *DsnetConfig, oldReport *DsnetReport) DsnetReport { wgPeerIndex := make(map[wgtypes.Key]wgtypes.Peer) peerReports := make([]PeerReport, len(conf.Peers)) + oldPeerReportIndex := make(map[string]PeerReport) for _, peer := range dev.Peers { wgPeerIndex[peer.PublicKey] = peer } + if oldReport != nil { + for _, report := range oldReport.Peers { + oldPeerReportIndex[report.Hostname] = report + } + } + for i, peer := range conf.Peers { wgPeer, known := wgPeerIndex[peer.PublicKey.Key]