{"version":"2.1.224","anchor":"socket-peers-are-identified-by-pid-start-time-and-ancestor-c","canonical_anchor":"socket-peers-are-identified-by-pid-start-time-and-ancestor-c","heading":"Socket peers are identified by pid, start time and ancestor chain on Linux","tier":"internal","area":"Cross-Session Messaging","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.224\/e\/socket-peers-are-identified-by-pid-start-time-and-ancestor-c","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.224","markdown":"### Socket peers are identified by pid, start time and ancestor chain on Linux\n\nOn Linux, incoming session messages can be traced to the sending process and its ancestors.\n\n**What**\n\nIncoming connections on the cross-session messaging socket can now be attributed to the process tree that sent them. New helpers read `\/proc\/<pid>\/stat` for the process start time, used as a liveness token, and walk up to 12 ancestor pids; the pid and chain are captured once per connection and passed into message handling.\n\n**Details**\n\n- The `\/proc` paths are assembled at runtime, so on non-Linux the reads simply fail and the values come back undefined.\n- Connection handling sits inside the cross-session messaging path, which is off by default.\n\n**Evidence**\n\n`[peer-cred] peer pid unavailable (fd=`\n\n- Area: Cross-Session Messaging\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5"}