--- configure.ac | 2 +- src/rpc/virnetsocket.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/configure.ac b/configure.ac index e0d00d5..7ba1e9c 100644 --- a/configure.ac +++ b/configure.ac @@ -197,7 +197,7 @@ dnl Availability of various common headers (non-fatal if missing). AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/un.h \ sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \ sys/un.h sys/syscall.h netinet/tcp.h ifaddrs.h libtasn1.h \ - net/if.h execinfo.h]) + net/if.h execinfo.h sys/ucred.h]) dnl We need to decide at configure time if libvirt will use real atomic dnl operations ("lock free") or emulated ones with a mutex. diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index 5a48300..0457710 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -31,6 +31,10 @@ #include <fcntl.h> #include <netdb.h> +#ifdef HAVE_SYS_UCRED_H +# include <sys/ucred.h> +#endif + #ifdef HAVE_NETINET_TCP_H # include <netinet/tcp.h> #endif @@ -999,9 +1003,15 @@ int virNetSocketGetUNIXIdentity(virNetSocketPtr sock, return -1; } +#if defined(__OpenBSD__) + *pid = getpid(); + *uid = cr.cr_uid; + *gid = cr.cr_gid; +#else *pid = cr.pid; *uid = cr.uid; *gid = cr.gid; +#endif virMutexUnlock(&sock->lock); return 0; -- 1.7.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list