c88197a
From c877f0187d337374960f02046800a313d2326848 Mon Sep 17 00:00:00 2001
c88197a
From: Peter Jones <pjones@redhat.com>
c88197a
Date: Thu, 29 May 2014 16:10:05 -0400
c88197a
Subject: [PATCH] Don't set SO_PASSCRED.
c88197a
c88197a
It would appear that on recent kernels, setting SO_PASSCRED means you
c88197a
always get SCM_CREDENTIALS control messages back instead of what
c88197a
sendmsg() sent you, and SCM_RIGHTS works just fine without it.
c88197a
c88197a
Signed-off-by: Peter Jones <pjones@redhat.com>
c88197a
---
c88197a
 src/daemon.c | 10 +---------
c88197a
 1 file changed, 1 insertion(+), 9 deletions(-)
c88197a
c88197a
diff --git a/src/daemon.c b/src/daemon.c
c88197a
index 55c08c3..af3a2b6 100644
c88197a
--- a/src/daemon.c
c88197a
+++ b/src/daemon.c
c88197a
@@ -744,20 +744,12 @@ set_up_socket(context *ctx)
c88197a
 		exit(1);
c88197a
 	}
c88197a
 
c88197a
-	int one = 1;
c88197a
-	int rc = setsockopt(sd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
c88197a
-	if (rc < 0) {
c88197a
-		ctx->backup_cms->log(ctx->backup_cms, ctx->priority|LOG_ERR,
c88197a
-			"unable to set socket options: %m");
c88197a
-		exit(1);
c88197a
-	}
c88197a
-
c88197a
 	struct sockaddr_un addr_un = {
c88197a
 		.sun_family = AF_UNIX,
c88197a
 		.sun_path = SOCKPATH,
c88197a
 	};
c88197a
 
c88197a
-	rc = bind(sd, &addr_un, sizeof(addr_un));
c88197a
+	int rc = bind(sd, &addr_un, sizeof(addr_un));
c88197a
 	if (rc < 0) {
c88197a
 		ctx->backup_cms->log(ctx->backup_cms, ctx->priority|LOG_ERR,
c88197a
 			"unable to bind to \"%s\": %m",
c88197a
-- 
c88197a
1.9.0
c88197a