mirror of
https://github.com/netbirdio/netbird.git
synced 2025-04-02 20:36:25 +02:00
Don't create index if peer is empty (#435)
When checking for existing prefix routes Return nil if peer is empty
This commit is contained in:
parent
09312b3e6d
commit
47add9a9c3
@ -125,12 +125,13 @@ func restore(file string) (*FileStore, error) {
|
|||||||
store.UserId2AccountId[user.Id] = accountId
|
store.UserId2AccountId[user.Id] = accountId
|
||||||
}
|
}
|
||||||
for _, route := range account.Routes {
|
for _, route := range account.Routes {
|
||||||
if route.Peer != "" {
|
if route.Peer == "" {
|
||||||
if store.PeerKeyID2RouteIDs[route.Peer] == nil {
|
continue
|
||||||
store.PeerKeyID2RouteIDs[route.Peer] = make(map[string]struct{})
|
|
||||||
}
|
|
||||||
store.PeerKeyID2RouteIDs[route.Peer][route.ID] = struct{}{}
|
|
||||||
}
|
}
|
||||||
|
if store.PeerKeyID2RouteIDs[route.Peer] == nil {
|
||||||
|
store.PeerKeyID2RouteIDs[route.Peer] = make(map[string]struct{})
|
||||||
|
}
|
||||||
|
store.PeerKeyID2RouteIDs[route.Peer][route.ID] = struct{}{}
|
||||||
if store.AccountPrefix2RouteIDs[account.Id] == nil {
|
if store.AccountPrefix2RouteIDs[account.Id] == nil {
|
||||||
store.AccountPrefix2RouteIDs[account.Id] = make(map[string][]string)
|
store.AccountPrefix2RouteIDs[account.Id] = make(map[string][]string)
|
||||||
}
|
}
|
||||||
@ -331,12 +332,13 @@ func (s *FileStore) SaveAccount(account *Account) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, route := range account.Routes {
|
for _, route := range account.Routes {
|
||||||
if route.Peer != "" {
|
if route.Peer == "" {
|
||||||
if s.PeerKeyID2RouteIDs[route.Peer] == nil {
|
continue
|
||||||
s.PeerKeyID2RouteIDs[route.Peer] = make(map[string]struct{})
|
|
||||||
}
|
|
||||||
s.PeerKeyID2RouteIDs[route.Peer][route.ID] = struct{}{}
|
|
||||||
}
|
}
|
||||||
|
if s.PeerKeyID2RouteIDs[route.Peer] == nil {
|
||||||
|
s.PeerKeyID2RouteIDs[route.Peer] = make(map[string]struct{})
|
||||||
|
}
|
||||||
|
s.PeerKeyID2RouteIDs[route.Peer][route.ID] = struct{}{}
|
||||||
if s.AccountPrefix2RouteIDs[account.Id] == nil {
|
if s.AccountPrefix2RouteIDs[account.Id] == nil {
|
||||||
s.AccountPrefix2RouteIDs[account.Id] = make(map[string][]string)
|
s.AccountPrefix2RouteIDs[account.Id] = make(map[string][]string)
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,11 @@ func (am *DefaultAccountManager) GetRoute(accountID, routeID string) (*route.Rou
|
|||||||
|
|
||||||
// checkPrefixPeerExists checks the combination of prefix and peer id, if it exists returns an error, otherwise returns nil
|
// checkPrefixPeerExists checks the combination of prefix and peer id, if it exists returns an error, otherwise returns nil
|
||||||
func (am *DefaultAccountManager) checkPrefixPeerExists(accountID, peer string, prefix netip.Prefix) error {
|
func (am *DefaultAccountManager) checkPrefixPeerExists(accountID, peer string, prefix netip.Prefix) error {
|
||||||
|
|
||||||
|
if peer == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
routesWithPrefix, err := am.Store.GetRoutesByPrefix(accountID, prefix)
|
routesWithPrefix, err := am.Store.GetRoutesByPrefix(accountID, prefix)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user