Refactor: refactor find process (#2781)

This commit is contained in:
Kr328
2023-06-13 23:25:32 +08:00
committed by GitHub
parent 289025c6ee
commit 13d9e960f7
21 changed files with 656 additions and 474 deletions

View File

@ -401,9 +401,10 @@ func match(metadata *C.Metadata) (C.Proxy, C.Rule, error) {
if !processFound && rule.ShouldFindProcess() {
processFound = true
srcIP, ok := netip.AddrFromSlice(metadata.SrcIP)
srcPort, err := strconv.ParseUint(metadata.SrcPort, 10, 16)
if err == nil {
path, err := P.FindProcessName(metadata.NetWork.String(), metadata.SrcIP, int(srcPort))
if ok && err == nil && metadata.OriginDst.IsValid() {
path, err := P.FindProcessPath(metadata.NetWork.String(), netip.AddrPortFrom(srcIP, uint16(srcPort)), metadata.OriginDst)
if err != nil {
log.Debugln("[Process] find process %s: %v", metadata.String(), err)
} else {