Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates-src > by-pkgid > bb8888f714a8f2ed2b90d23cca3c8e1c > files > 10

lxdm-0.5.0-3.1.mga5.src.rpm

From: dgod <dgod.osa@gmail.com>
Date: Wed, 7 Oct 2015 08:38:52 +0000 (+0800)
Subject: pass xauth file to xserver command
X-Git-Tag: 0.5.2~1
X-Git-Url: http://git.lxde.org/gitweb/?p=lxde%2Flxdm.git;a=commitdiff_plain;h=e8f387089e241360bdc6955d3e479450722dcea3;hp=17ac377251b43fc9c5b98edcaa1d68c7a2ae12b1

pass xauth file to xserver command
---

diff --git a/src/lxdm.c b/src/lxdm.c
index 43a98c7..03bc477 100644
--- a/src/lxdm.c
+++ b/src/lxdm.c
@@ -304,7 +304,7 @@ static LXSession *lxsession_add(void)
 
 static LXSession *lxsession_greeter(void)
 {
-	char temp[16];
+	char temp[128];
 	LXSession *s;
 	s=lxsession_find_greeter();
 	if(s)
@@ -327,10 +327,17 @@ static LXSession *lxsession_greeter(void)
 	s->idle=FALSE;
 	sprintf(temp,":%d",s->display);
 	setenv("DISPLAY",temp,1);
+	#ifndef DISABLE_XAUTH
+	sprintf(temp,"/var/run/lxdm/lxdm-:%d.auth",s->display);
+	setenv("XAUTHORITY",temp,1);
+	#endif
 	g_message("prepare greeter on %s\n",temp);
 	ui_prepare();
 	lxsession_set_active(s);
 	g_message("start greeter on %s\n",temp);
+	#ifndef DISABLE_XAUTH
+	unsetenv("XAUTHORITY");
+	#endif
 	return s;
 }
 
@@ -468,7 +475,7 @@ static char *lxsession_xserver_command(LXSession *s)
 		}
 	}
 
-	arg = g_renew(char *, arg, arc + 10);
+	arg = g_renew(char *, arg, arc + 15);
 	if(nr_tty)
 	{
 		arg[arc++] = g_strdup("-background");
@@ -486,6 +493,10 @@ static char *lxsession_xserver_command(LXSession *s)
 	{
 		arg[arc++] = g_strdup("-novtswitch");
 	}
+#ifndef DISABLE_XAUTH
+	arg[arc++] = g_strdup("-auth");
+	arg[arc++] = g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display);
+#endif
 	arg[arc] = NULL;
 	p=g_strjoinv(" ", arg);
 	g_strfreev(arg);
@@ -694,7 +705,7 @@ static void create_server_auth(LXSession *s)
 
 	authfile = g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display);
 
-	//setenv("XAUTHORITY",authfile,1);
+	setenv("XAUTHORITY",authfile,1);
 	remove(authfile);
 	xauth_write_file(authfile,s->display,s->mcookie);
 	g_free(authfile);
@@ -998,6 +1009,9 @@ static void lxdm_startx(LXSession *s)
 	g_message("%ld: start xserver in %d retry",time(NULL),i);
 	if(s->dpy==NULL)
 		exit(EXIT_FAILURE);
+	#ifndef DISABLE_XAUTH
+	unsetenv("XAUTHORITY");
+	#endif
 	
 	if(s->option && g_key_file_has_key(config,s->option,"numlock",NULL))
 	{