• R
    rpc: fix getsockopt for LOCAL_PEERCRED on Mac OS X · e3fb8465
    Ryota Ozaki 提交于
    This fixes the following error:
      error : virGetUserEnt:703 : Failed to find user record for uid '32654'
    
    '32654' (it's random and varies) comes from getsockopt with
    LOCAL_PEERCRED option. getsockopt returns w/o error but seems
    to not set any value to the buffer for uid.
    
    For Mac OS X, LOCAL_PEERCRED has to be used with SOL_LOCAL level.
    With SOL_LOCAL, getsockopt returns a correct uid.
    
    Note that SOL_LOCAL can be found in
    /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/un.h.
    Signed-off-by: NRyota Ozaki <ozaki.ryota@gmail.com>
    Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
    (cherry picked from commit 5a468b38)
    e3fb8465
virnetsocket.c 49.6 KB