Date: Sun, 9 Jul 2017 15:25:57 +0200 From: Stefan Ehmann <shoesoft@gmx.net> To: Johannes Lundberg <johalun0@gmail.com> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: Getting PID of socket client Message-ID: <684e8346-c4a8-a0c5-cb2a-cd5159d2af1c@gmx.net> In-Reply-To: <CAECmPwuAm%2Bn6DyFR01OgatxN9Jj3um-50jOpP0jeB4=N%2Bj=yxg@mail.gmail.com> References: <CAECmPwsD=PYqoG9EA=Wyq16hcrdbf7SQ3Owxdf%2BWSvYWazJfXA@mail.gmail.com> <a42d8db6-675f-b021-fc50-6ef87d310623@gmx.net> <CAECmPwuAm%2Bn6DyFR01OgatxN9Jj3um-50jOpP0jeB4=N%2Bj=yxg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 09.07.2017 11:52, Johannes Lundberg wrote: > Hi > > Yeah I forgot to mention the LOCAL_CREDS. > It does not return the PID of the client process but i guess it could be > expanded to include that instead of adding another option for that. I was only skimming the man page. Didn't see that cmsgcred contains the PID, but sockcred does not. Of course the PID in my sample output is also wrong (the UID is printed instead of the PID): > $ ./unixstrserv02 > PID of sender = 1001 Don't why the structs are not compatible, maybe because: "The process ID cmcred_pid should not be looked up (such as via the KERN_PROC_PID sysctl) for making security decisions. The sending process could have exited and its process ID already been reused for a new process." According to the commit log LOCAL_CREDS was obtained from NetBSD but I didn't investigate further.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?684e8346-c4a8-a0c5-cb2a-cd5159d2af1c>