chore(stdiscosrv): ensure incoming addresses are sorted and unique

This commit is contained in:
Jakob Borg
2024-09-15 17:01:16 +02:00
parent 8b19cb1e11
commit 5b9d8a838f
2 changed files with 10 additions and 4 deletions
+5
View File
@@ -350,6 +350,7 @@ func (s *inMemoryStore) read() (int, error) {
}
slices.SortFunc(rec.Addresses, DatabaseAddress.Cmp)
rec.Addresses = slices.CompactFunc(rec.Addresses, DatabaseAddress.Equal)
s.m.Store(key, DatabaseRecord{
Addresses: expire(rec.Addresses, s.clock.Now()),
Seen: rec.Seen,
@@ -420,3 +421,7 @@ func (d DatabaseAddress) Cmp(other DatabaseAddress) (n int) {
}
return cmp.Compare(d.Expires, other.Expires)
}
func (d DatabaseAddress) Equal(other DatabaseAddress) bool {
return d.Address == other.Address
}