$OpenBSD: patch-gio_gsocket_c,v 1.1 2011/05/28 07:32:06 ajacoutot Exp $

From 77f4f5aa02458e6c7f909dc6087a39d9b75d0ba6 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@openbsd.org>
Date: Fri, 27 May 2011 13:51:08 +0000
Subject: Add glib credentials support to OpenBSD.

--- gio/gsocket.c.orig	Sat May 21 05:29:24 2011
+++ gio/gsocket.c	Fri May 27 15:43:31 2011
@@ -3514,11 +3514,16 @@ g_socket_get_credentials (GSocket   *socket,
 
   ret = NULL;
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__OpenBSD__)
   {
-    struct ucred native_creds;
     socklen_t optlen;
+#if defined(__linux__)
+    struct ucred native_creds;
     optlen = sizeof (struct ucred);
+#elif defined(__OpenBSD__)
+    struct sockpeercred native_creds;
+    optlen = sizeof (struct sockpeercred);
+#endif
     if (getsockopt (socket->priv->fd,
                     SOL_SOCKET,
                     SO_PEERCRED,
@@ -3536,7 +3541,11 @@ g_socket_get_credentials (GSocket   *socket,
       {
         ret = g_credentials_new ();
         g_credentials_set_native (ret,
+#if defined(__linux__)
                                   G_CREDENTIALS_TYPE_LINUX_UCRED,
+#elif defined(__OpenBSD__)
+                                  G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED,
+#endif
                                   &native_creds);
       }
   }
