Tags: wiresock/proxifyre
Tags
perf: skip process resolution for PID 0 entries in network tables Add early exit condition for PID 0 entries in all process entry functions to avoid expensive resolution attempts for kernel-level network operations. - Add PID 0 check in process_tcp_entry_v4() - Add PID 0 check in process_tcp_entry_v6() - Add PID 0 check in process_udp_entry_v4() - Add PID 0 check in process_udp_entry_v6() - Log debug messages for skipped PID 0 entries - Return nullptr early to avoid owner_module_resolver calls This optimization prevents unnecessary API calls since PID 0 represents the System Idle Process and kernel networking operations that cannot be resolved to user processes. Improves performance by reducing failed resolution attempts and eliminates noise in debug logs from expected unresolvable entries. Fixes #75
feat: add owner_module_resolver to fix IPHELPER handle leak and impro… …ve process resolution - Introduced new header `owner_module_resolver.h` to replace direct use of IPHELPER API, fixing a resource leak where process handles were not closed if GetModuleFileNameExW failed. - Added caching to avoid redundant PID/service tag lookups. - Implemented PID+creation time identity to prevent PID reuse issues. - Added fallback to QueryFullProcessImageNameW and path buffer growth safeguards. - Integrated privilege elevation toggle (SE_DEBUG_NAME) with RAII for safe enable/disable. - Refactored and optimized helper functions for clarity and maintainability. - Improved error reporting and extended result structure for better diagnostics.