Skip to content

Conversation

@lixmal
Copy link
Collaborator

@lixmal lixmal commented Oct 16, 2025

Describe your changes

Issue ticket number and link

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/__

Copilot AI review requested due to automatic review settings October 16, 2025 15:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes the rule squashing logic from the ACL manager, which previously attempted to optimize firewall rules by consolidating multiple per-peer rules into single wildcard rules when they covered all peers in the network.

  • Removal of the squashAcceptRules method and its supporting logic
  • Simplification of the applyPeerACLs method to use firewall rules directly from the network map
  • Deletion of comprehensive test coverage for rule squashing scenarios

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
client/internal/acl/manager.go Removed squashAcceptRules method (~145 lines), protoMatch struct, and simplified applyPeerACLs to use rules directly without squashing logic
client/internal/acl/manager_test.go Removed all test functions related to rule squashing (~492 lines) including tests for various port restriction scenarios and protocol-specific squashing behavior

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@sonarqubecloud
Copy link

@lixmal lixmal merged commit 3cdb10c into main Oct 17, 2025
36 checks passed
@lixmal lixmal deleted the remove-squashing branch October 17, 2025 09:09
ressys1978 pushed a commit to ressys1978/netbird that referenced this pull request Oct 20, 2025
hurricanehrndz added a commit to hurricanehrndz/netbird that referenced this pull request Oct 24, 2025
* upstream/main: (135 commits)
  [signal] Fix HTTP/WebSocket proxy not using custom certificates (netbirdio#4644)
  [client] Fix active profile name in debug bundle (netbirdio#4689)
  [management] Add peer disapproval reason (netbirdio#4468)
  [misc] Update tag name extraction in install.sh (netbirdio#4677)
  [client] Clean up match domain reg entries between config changes (netbirdio#4676)
  [client] Delete TURNConfig section from script (netbirdio#4639)
  [client] Security upgrade alpine from 3.22.0 to 3.22.2 netbirdio#4618
  [client] Fix status showing P2P without connection (netbirdio#4661)
  [client] Support BROWSER env for login (netbirdio#4654)
  [client] Remove rule squashing (netbirdio#4653)
  Handle the case when the service has already been down and the status recorder is not available (netbirdio#4652)
  [client] Set default wg port for new profiles (netbirdio#4651)
  [client] Add bind activity listener to bypass udp sockets (netbirdio#4646)
  [client] Fix missing flag values in profiles (netbirdio#4650)
  [management] feat: Basic PocketID IDP integration (netbirdio#4529)
  [client] Force TLS1.2 for RDP with Win11/Server2025 for CredSSP compatibility (netbirdio#4617)
  [misc] Add service definition for netbird-signal (netbirdio#4620)
  [management] pass temporary flag to validator (netbirdio#4599)
  [client] Explicitly disable DNSOverTLS for systemd-resolved (netbirdio#4579)
  [management] sync all other peers on peer add/remove (netbirdio#4614)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants