iochannel: Fix FTBFS on Debian kfreebsd
authorLaurent Bigonville <bigon@bigon.be>
Tue, 13 Jul 2021 08:49:01 +0000 (10:49 +0200)
committerLaurent Bigonville <bigon@bigon.be>
Tue, 13 Jul 2021 08:49:01 +0000 (10:49 +0200)
Fixes: #1233
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/605>

src/pulsecore/iochannel.c

index 38b79d1..a03200d 100644 (file)
@@ -261,7 +261,7 @@ ssize_t pa_iochannel_read(pa_iochannel*io, void*data, size_t l) {
 
 #ifdef HAVE_CREDS
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 typedef struct cmsgcred pa_ucred_t;
 #define SCM_CREDENTIALS SCM_CREDS
 #else
@@ -291,14 +291,14 @@ bool pa_iochannel_creds_supported(pa_iochannel *io) {
 }
 
 int pa_iochannel_creds_enable(pa_iochannel *io) {
-#ifndef __FreeBSD__
+#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
     int t = 1;
 #endif
 
     pa_assert(io);
     pa_assert(io->ifd >= 0);
 
-#ifndef __FreeBSD__
+#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
     if (setsockopt(io->ifd, SOL_SOCKET, SO_PASSCRED, &t, sizeof(t)) < 0) {
         pa_log_error("setsockopt(SOL_SOCKET, SO_PASSCRED): %s", pa_cstrerror(errno));
         return -1;
@@ -334,7 +334,7 @@ ssize_t pa_iochannel_write_with_creds(pa_iochannel*io, const void*data, size_t l
 
     u = (pa_ucred_t*) CMSG_DATA(&cmsg.hdr);
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
     // the kernel fills everything
 #else
     u->pid = getpid();
@@ -457,7 +457,7 @@ ssize_t pa_iochannel_read_with_ancil_data(pa_iochannel*io, void*data, size_t l,
                 pa_ucred_t u;
                 pa_assert(cmh->cmsg_len == CMSG_LEN(sizeof(pa_ucred_t)));
                 memcpy(&u, CMSG_DATA(cmh), sizeof(pa_ucred_t));
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
                 ancil_data->creds.gid = u.cmcred_gid;
                 ancil_data->creds.uid = u.cmcred_uid;
 #else