Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 86bd53f85aa342c5dbe1c2d6b36f696d > files > 14

lxdm-0.4.1-1.fc16.src.rpm

From a8db292ca909d7beb1824207d84f3a0a2c146f58 Mon Sep 17 00:00:00 2001
From: dgod <dgod.osa@gmail.com>
Date: Mon, 13 Feb 2012 21:29:27 +0800
Subject: [PATCH] let .Xauthority can be read by xauth tool

---
 src/lxdm.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/lxdm.c b/src/lxdm.c
index 07be1e0..0c84ef9 100644
--- a/src/lxdm.c
+++ b/src/lxdm.c
@@ -672,15 +672,20 @@ static inline void xauth_write_string(int fd,const char *s)
 	write(fd,s,len);
 }
 
-static void xauth_write_file(const char *file,char data[16])
+static void xauth_write_file(const char *file,int dpy,char data[16])
 {
 	int fd;
+	char addr[128];
+	char buf[16];
+	
+	sprintf(buf,"%d",dpy);
+	gethostname(addr,sizeof(addr));
 	
 	fd=open(file,O_CREAT|O_TRUNC|O_WRONLY,0600);
 	if(!fd==-1) return;
-	xauth_write_uint16(fd,252);		//FamilyLocalHost
-	xauth_write_string(fd,"");
-	xauth_write_string(fd,"");
+	xauth_write_uint16(fd,256);		//FamilyLocalHost
+	xauth_write_string(fd,addr);
+	xauth_write_string(fd,buf);
 	xauth_write_string(fd,"MIT-MAGIC-COOKIE-1");
 	xauth_write_uint16(fd,16);
 	write(fd,data,16);
@@ -704,7 +709,7 @@ static void create_server_auth(LXSession *s)
 
 	setenv("XAUTHORITY",authfile,1);
 	remove(authfile);
-	xauth_write_file(authfile,s->mcookie);
+	xauth_write_file(authfile,s->display,s->mcookie);
 	g_free(authfile);
 }
 
@@ -733,7 +738,7 @@ static void create_client_auth(char *home,char **env)
 		authfile = g_strdup_printf("%s/.Xauthority", home);
 	}
 	remove(authfile);
-	xauth_write_file(authfile,s->mcookie);
+	xauth_write_file(authfile,s->display,s->mcookie);
 	replace_env(env,"XAUTHORITY=",authfile);
 	g_free(authfile);
 }
-- 
1.7.4.1