Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Update
lightdm
lightdm-xauthlocalhostname-support.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lightdm-xauthlocalhostname-support.patch of Package lightdm
Set XAUTHLOCALHOSTNAME to the hostname for local logins to avoid issues in the session in case the hostname changes diff --git a/src/seat-xlocal.c b/src/seat-xlocal.c --- a/src/seat-xlocal.c +++ b/src/seat-xlocal.c @@ -350,6 +350,7 @@ seat_xlocal_run_script (Seat *seat, Disp path = x_server_local_get_authority_file_path (x_server); process_set_env (script, "DISPLAY", x_server_get_address (X_SERVER (x_server))); process_set_env (script, "XAUTHORITY", path); + process_set_env (script, "XAUTHLOCALHOSTNAME", g_get_host_name ()); } SEAT_CLASS (seat_xlocal_parent_class)->run_script (seat, display_server, script); diff --git a/src/x-server-local.c b/src/x-server-local.c --- a/src/x-server-local.c +++ b/src/x-server-local.c @@ -150,14 +150,15 @@ XServerLocal * x_server_local_new (void) { XServerLocal *self; - gchar hostname[1024], *number, *name; + const gchar *hostname; + gchar *number, *name; XAuthority *cookie; self = g_object_new (X_SERVER_LOCAL_TYPE, NULL); x_server_set_display_number (X_SERVER (self), x_server_local_get_unused_display_number ()); - gethostname (hostname, 1024); + hostname = g_get_host_name (); number = g_strdup_printf ("%d", x_server_get_display_number (X_SERVER (self))); cookie = x_authority_new_cookie (XAUTH_FAMILY_LOCAL, (guint8*) hostname, strlen (hostname), number); x_server_set_authority (X_SERVER (self), cookie); diff --git a/src/x-server.c b/src/x-server.c --- a/src/x-server.c +++ b/src/x-server.c @@ -15,6 +15,7 @@ #include "x-server.h" #include "configuration.h" +#include "x-server-local.h" struct XServerPrivate { @@ -169,6 +170,8 @@ x_server_connect_session (DisplayServer else l_debug (session, "Not setting XDG_VTNR"); + if (IS_X_SERVER_LOCAL (display_server)) + session_set_env (session, "XAUTHLOCALHOSTNAME", g_get_host_name ()); session_set_env (session, "DISPLAY", x_server_get_address (X_SERVER (display_server))); session_set_xdisplay (session, x_server_get_address (X_SERVER (display_server))); session_set_remote_host_name (session, x_server_get_hostname (X_SERVER (display_server)));
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor