Bug 1527754 - can't enable display for other accounts
Summary: can't enable display for other accounts
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server-utils
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-12-20 03:35 UTC by Przemek Klosowski
Modified: 2018-11-30 18:54 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-11-30 18:54:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Przemek Klosowski 2017-12-20 03:35:04 UTC
Description of problem:
the currently logged account can of course access the main display, but other accounts (e.g. root) are not authorized. It used to be possible to add them by
> xauth +SI:localhost:root
Being able to add root is fairly important---some GUI admin tools need root access (e.g. disk space analyzer, etc).

Version-Release number of selected component (if applicable):
xorg-x11-server-utils-7.7-23.fc27.x86_64

How reproducible: every time

Steps to Reproduce:
1.xauth +SI:localhost:root

Actual results:
localhost:root being added to access control list
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  109 (X_ChangeHosts)
  Value in failed request:  0xe
  Serial number of failed request:  7
  Current serial number in output stream:  9

and root is NOT added to access control list

Expected results:
root is added to access control list

Comment 1 Przemek Klosowski 2017-12-20 05:15:52 UTC
The call chain is 
#0  changehost (mode=0 '\000', host=0x7fffffffdc70, dpy=0x555555758260)
    at Host.c:76
#1  XAddHost (dpy=0x555555758260, host=0x7fffffffdc70) at Host.c:109
#2  0x0000555555555df8 in change_host (dpy=0x555555758260, 
    name=0x7fffffffe1a2 "localhost:root", add=1) at xhost.c:415
#3  0x0000555555555348 in main (argc=2, argv=0x7fffffffde58) at xhost.c:269

change_host is called with arg="si:localhost:root", and then sets up the siaddr and ha structures
> 413   ha.address = (char *) &siaddr; 
> 415       rc = XAddHost(dpy,&ha);

There seems to be a confusion as to what ha.address is, though: the above code implies that it's a pointer to the siaddr structure, but Xlib.h:341 defines the third field of XHostAddress as char*, so the above code misconstructs the ha argument for XAddHost:  the fields of siaddr are miscast as characters in a string.

I think line 413 should be
> ha.address = (char *) &siaddr.name;

Comment 2 Przemek Klosowski 2017-12-21 21:34:25 UTC
The running-GUI-as-root-is-bad issue notwithstanding, I personally need to run GUIs as different non-privileged users, e.g. for testing and administration purposes. There's more discussion on this in [1274451] and https://pagure.io/system-config-language

The 'xhost' method used to work and it only seems broken because of trivial programming issues, not some large-scale policy problem.

Comment 3 Ben Cotton 2018-11-27 17:42:35 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 4 Ben Cotton 2018-11-30 18:54:25 UTC
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.