mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-10-01 16:00:07 +00:00
The bug only appeared when the same process had both TCP and UDP sockets: every listening port on that process was attributed to whichever protocol was encountered first. For example, if a process listened on TCP 8000 and UDP 8001, the UI could wrongly show TCP 8001 as in use while UDP 8001 looked unused. Use (PID, conn.Type) as the cache key so each protocol has its own ListeningProcess entry.