fix invalid ip suggestions (#185)

This commit is contained in:
Christoph Haas
2023-10-20 12:13:39 +02:00
parent d78b4f49bd
commit b49ff66c41
4 changed files with 31 additions and 8 deletions

View File

@@ -292,13 +292,17 @@ func (m Manager) savePeers(ctx context.Context, peers ...*domain.Peer) error {
}
func (m Manager) getFreshPeerIpConfig(ctx context.Context, iface *domain.Interface) (ips []domain.Cidr, err error) {
if iface.PeerDefNetworkStr == "" {
return []domain.Cidr{}, nil // cannot suggest new ip addresses if there is no subnet
}
networks, err := domain.CidrsFromString(iface.PeerDefNetworkStr)
if err != nil {
err = fmt.Errorf("failed to parse default network address: %w", err)
return
}
existingIps, err := m.db.GetUsedIpsPerSubnet(ctx)
existingIps, err := m.db.GetUsedIpsPerSubnet(ctx, networks)
if err != nil {
err = fmt.Errorf("failed to get existing IP addresses: %w", err)
return