diff --git a/socks_server_chain.go b/socks_server_chain.go index 6d95f3d..ab859fc 100644 --- a/socks_server_chain.go +++ b/socks_server_chain.go @@ -86,6 +86,16 @@ func (c *socksChainSession) sessionWorker() { return } + pinfo := c.findProcessForConnection(c.clientConn) + if pinfo == nil { + log.Warning("No proc found for %s", printPacket(pkt, fw.dns.Lookup(pkt.Dst))) + pkt.Accept() + return + } + + // target address of the socks connection + addr := c.req.Addr.String() + switch c.req.Cmd { case socks5.CommandTorResolve, socks5.CommandTorResolvePTR: err = c.dispatchTorSOCKS()