[GH-ISSUE #1745] Duplicate proxy-port prevents creating TCP + UDP resources on same port #3939

Closed
opened 2026-04-20 08:15:45 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @AndrewPaglusch on GitHub (Oct 26, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/1745

Describe the Bug

I'm not sure if this bug report belongs in the Pangolin repo, or the Newt one. I'm adding it here, but I can re-submit under Newt if that'd be better.

Adding the following TCP proxy-resource to a container works correctly.

- pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP)
- pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp
- pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170

But when I try to add a UDP proxy-resource with the same port-number:

- pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP)
- pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp
- pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170

- pangolin.proxy-resources.traccar-freematics-udp.name=Traccar Freematcis (UDP)
- pangolin.proxy-resources.traccar-freematics-udp.protocol=udp
- pangolin.proxy-resources.traccar-freematics-udp.proxy-port=5170
- pangolin.proxy-resources.traccar-freematics-udp.targets[0].hostname=traccar
- pangolin.proxy-resources.traccar-freematics-udp.targets[0].port=5170

I get the following error in the Newt logs:

WARN: 2025/10/26 07:36:05 Blueprint application failed: Failed to update database from config: Error: Validation error: Duplicate 'proxy-port' values found in proxy-resources: port 5170 used by proxy-resources: traccar-freematics-tcp, traccar-freematics-udp at "proxy-resources"

In the Pangolin UI, I can make a UDP and TCP resource with the same port, so making this via a Blueprint seems to use improper validation.

Environment

  • OS Type & Version: AlmaLinux 9.6
  • Pangolin Version: 1.11.1 (Community)
  • Gerbil Version: 1.2.2
  • Traefik Version: 3.4.0
  • Newt Version: 1.5.2
  • Olm Version: N/A

To Reproduce

Try to add the following Blueprints to a container. A TCP port and UDP port that are the same port number

- pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP)
- pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp
- pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar
- pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170

- pangolin.proxy-resources.traccar-freematics-udp.name=Traccar Freematcis (UDP)
- pangolin.proxy-resources.traccar-freematics-udp.protocol=udp
- pangolin.proxy-resources.traccar-freematics-udp.proxy-port=5170
- pangolin.proxy-resources.traccar-freematics-udp.targets[0].hostname=traccar
- pangolin.proxy-resources.traccar-freematics-udp.targets[0].port=5170

Expected Behavior

A TCP resource and UDP resource should be created, each with the same port number

Originally created by @AndrewPaglusch on GitHub (Oct 26, 2025). Original GitHub issue: https://github.com/fosrl/pangolin/issues/1745 ### Describe the Bug I'm not sure if this bug report belongs in the Pangolin repo, or the Newt one. I'm adding it here, but I can re-submit under Newt if that'd be better. Adding the following TCP `proxy-resource` to a container works correctly. ``` - pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP) - pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp - pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170 - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170 ``` But when I try to add a UDP `proxy-resource` with the same `port-number`: ``` - pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP) - pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp - pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170 - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170 - pangolin.proxy-resources.traccar-freematics-udp.name=Traccar Freematcis (UDP) - pangolin.proxy-resources.traccar-freematics-udp.protocol=udp - pangolin.proxy-resources.traccar-freematics-udp.proxy-port=5170 - pangolin.proxy-resources.traccar-freematics-udp.targets[0].hostname=traccar - pangolin.proxy-resources.traccar-freematics-udp.targets[0].port=5170 ``` I get the following error in the Newt logs: ``` WARN: 2025/10/26 07:36:05 Blueprint application failed: Failed to update database from config: Error: Validation error: Duplicate 'proxy-port' values found in proxy-resources: port 5170 used by proxy-resources: traccar-freematics-tcp, traccar-freematics-udp at "proxy-resources" ``` In the Pangolin UI, I can make a UDP and TCP resource with the same port, so making this via a Blueprint seems to use improper validation. ### Environment - OS Type & Version: AlmaLinux 9.6 - Pangolin Version: 1.11.1 (Community) - Gerbil Version: 1.2.2 - Traefik Version: 3.4.0 - Newt Version: 1.5.2 - Olm Version: N/A ### To Reproduce Try to add the following Blueprints to a container. A TCP port and UDP port that are the same port number ``` - pangolin.proxy-resources.traccar-freematics-tcp.name=Traccar Freematcis (TCP) - pangolin.proxy-resources.traccar-freematics-tcp.protocol=tcp - pangolin.proxy-resources.traccar-freematics-tcp.proxy-port=5170 - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].hostname=traccar - pangolin.proxy-resources.traccar-freematics-tcp.targets[0].port=5170 - pangolin.proxy-resources.traccar-freematics-udp.name=Traccar Freematcis (UDP) - pangolin.proxy-resources.traccar-freematics-udp.protocol=udp - pangolin.proxy-resources.traccar-freematics-udp.proxy-port=5170 - pangolin.proxy-resources.traccar-freematics-udp.targets[0].hostname=traccar - pangolin.proxy-resources.traccar-freematics-udp.targets[0].port=5170 ``` ### Expected Behavior A TCP resource and UDP resource should be created, each with the same port number
GiteaMirror added the bug label 2026-04-20 08:15:45 -05:00
Author
Owner

@AndrewPaglusch commented on GitHub (Oct 26, 2025):

I just discovered that when this issue is encountered, all other Blueprints seem to be skipped over. Newt gives up on parsing blueprints entirely if it encounters this problem.

<!-- gh-comment-id:3448896166 --> @AndrewPaglusch commented on GitHub (Oct 26, 2025): I just discovered that when this issue is encountered, all other Blueprints seem to be skipped over. Newt gives up on parsing blueprints entirely if it encounters this problem.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#3939