Using sendmsg for SCM_CREDS results in EINVAL on PF_INET socket

Steve Watt steve at Watt.COM
Tue May 27 01:30:55 UTC 2008


In <7EB9398C5B46415B96D2C20A2E261E13 at multiplay.co.uk>, Steven Hartland wrote:
[ Attributions fatally damaged, removing ]
>> :> using the following code to send credentials to a remote host
>> :> results in EINVAL from sendmsg.
>> :> 
>> :> I suspect that SCM_CREDS is only valid for PF_LOCAL / PF_UNIX
>> :> sockets and not PF_INET sockets and hence the code in dbus
>> :> is actually invalid.
>> :> 
>> :> Can anyone confirm this is the case or not?
>> :
>> :What would it even mean to send credentials to a remote host over an 
>> :AF_INET socket?
>> 
>>    The only way to do it is to do a connect-back to a secure port.  In
>>    otherwords, to use the identd protocol.
>> 
>>    Control messages like SCM_CREDS (and descriptor passing for that matter)
>>    only work over local protocol sockets.
>
>Thank you for the confirmation guys. I'll look to create a patch
>I can submit to the dbus project to disable the use of SCM_CREDS
>when using PF_UNIX sockets.

I think you got the sense backwards here; SCM_CREDS is OK when using
PF_UNIX / PF_LOCAL.  It's PF_INET that shouldn't be going there.

Steve

-- 
Steve Watt KD6GGD  PP-ASEL-IA          ICBM: 121W 56' 57.5" / 37N 20' 15.3"
 Internet: steve @ Watt.COM                      Whois: SW32-ARIN
   Free time?  There's no such thing.  It just comes in varying prices...


More information about the freebsd-hackers mailing list