Enhancement #906/Add Shared IP Rule Sets, Auto CIDR Handling, and Preserve Match Type #1089

Closed
opened 2026-04-05 18:17:45 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @Pallavikumarimdb on 8/10/2025

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

1. IP Rules: Global Sets + Usability (Fixes #906 )

1.1 Shared IP Rule Sets (Global Lists)

  • Allows users to create reusable IP allow/deny lists (IP_SET) that can be applied to multiple resources.
  • Backend stores only the ipSetId; actual matching is resolved via the IP set contents.
  • UI shows IPs from the selected set for clarity, but backend still uses ipSetId for matching.

1.2 Automatic CIDR for Single IPs

  • No need to choose between "IP" and "CIDR" manually.
  • Single IPs (v4/v6) are auto-normalized to /32 or /128.
  • CIDRs are accepted as-is.

1.3 Preserve Match Type when Adding Rules

  • When clicking “Add rule”, the current match type remains unchanged.
  • Prevents accidental resets when entering multiple rules.
image image image image

This is a sub-issue of #906

How to test?

*Originally created by @Pallavikumarimdb on 8/10/2025* ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Description ## 1. IP Rules: Global Sets + Usability (Fixes #906 ) 1.1 **Shared IP Rule Sets (Global Lists)** * Allows users to create reusable IP allow/deny lists (`IP_SET`) that can be applied to multiple resources. * Backend stores only the `ipSetId`; actual matching is resolved via the IP set contents. * UI shows IPs from the selected set for clarity, but backend still uses `ipSetId` for matching. 1.2 **Automatic CIDR for Single IPs** * No need to choose between `"IP"` and `"CIDR"` manually. * Single IPs (v4/v6) are auto-normalized to `/32` or `/128`. * CIDRs are accepted as-is. 1.3 **Preserve Match Type when Adding Rules** * When clicking “Add rule”, the current match type remains unchanged. * Prevents accidental resets when entering multiple rules. <img width="1523" height="638" alt="image" src="https://github.com/user-attachments/assets/63f73cf8-0ec3-44ca-8d7a-84dc166fc10f" /> <img width="1526" height="633" alt="image" src="https://github.com/user-attachments/assets/5511b057-2138-4b5e-bdad-fe0926a0a00b" /> <img width="757" height="700" alt="image" src="https://github.com/user-attachments/assets/05307a2d-7b1a-4d9f-8b16-49f9b934496a" /> <img width="1506" height="607" alt="image" src="https://github.com/user-attachments/assets/50f953d2-9876-469e-a140-3eba0414a452" /> This is a sub-issue of #906 ## How to test?
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pangolin#1089