openbsd-ports/devel/glib2/patches/patch-gio_gioenums_h
ajacoutot 8c8429a47c Workaround the fact that we cannot pass SCM_CREDS over unix sockets:
implement the "intended" SCM_CREDS stack as if we had support for that
in the kernel (by-pass it almost completely).
send/recv a single null byte without creds, but on recv, just do a
getsockopt(SO_PEERCRED) and return that as if it coming from the cmsg.
This works as long as creds are not retreived from an fd which has
already been handed over to a different process via SCM_RIGHTS. It will
probably not be enough in the future but we'll see then.
all this work done by eric@ (thanks!) and tested by myself

Enable support for g_credential*
Fix a couple of warnings.

ok eric@ jasper@
2011-04-28 13:07:53 +00:00

22 lines
927 B
Plaintext

$OpenBSD: patch-gio_gioenums_h,v 1.1 2011/04/28 13:07:53 ajacoutot Exp $
--- gio/gioenums.h.orig Thu Apr 14 00:55:29 2011
+++ gio/gioenums.h Wed Apr 27 13:31:03 2011
@@ -1214,6 +1214,7 @@ typedef enum
* @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type.
* @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a <type>struct ucred</type>.
* @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a <type>struct cmsgcred</type>.
+ * @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a <type>struct sockpeercred</type>.
*
* Enumeration describing different kinds of native credential types.
*
@@ -1223,7 +1224,8 @@ typedef enum
{
G_CREDENTIALS_TYPE_INVALID,
G_CREDENTIALS_TYPE_LINUX_UCRED,
- G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED
+ G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED,
+ G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED
} GCredentialsType;
/**