After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 780787 - XDMCP indirect fixes
XDMCP indirect fixes
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-31 21:21 UTC by Ray Strode [halfline]
Modified: 2017-03-31 21:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
manager: drop some erroneous code (2.73 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
launch-environment: implement hostname-selected signal (15.06 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
manager: fix up support for chooser (13.14 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
xdmcp-display: don't set MANAGED until we've connected (4.26 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
xdmcp-display-factory: fix signal prototype (2.78 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
xdmcp-display-factory: explicitly stop greeter session on disconnect (2.67 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
chooser: fix duplicate entry in the list (2.80 KB, patch)
2017-03-31 21:22 UTC, Ray Strode [halfline]
committed Details | Review
chooser: make host list fill the dialog (3.25 KB, patch)
2017-03-31 21:23 UTC, Ray Strode [halfline]
committed Details | Review
chooser: switch to browse selection mode (6.78 KB, patch)
2017-03-31 21:23 UTC, Ray Strode [halfline]
committed Details | Review
chooser: filter out duplicate hostnames (3.62 KB, patch)
2017-03-31 21:23 UTC, Ray Strode [halfline]
committed Details | Review

Description Ray Strode [halfline] 2017-03-31 21:21:50 UTC
I recently had a look at XDMCP indirect mode, and it's pretty hosed atm.

This set of commits gets it working again.
Comment 1 Ray Strode [halfline] 2017-03-31 21:22:32 UTC
Created attachment 349083 [details] [review]
manager: drop some erroneous code

This is commit 82296a3350b64d0ed5ae3b9f6983466c60dd8a53 all over
again.  The code snuck back in during a refactor !
Comment 2 Ray Strode [halfline] 2017-03-31 21:22:36 UTC
Created attachment 349084 [details] [review]
launch-environment: implement hostname-selected signal

We're connecting to a signal that isn't implemented.  This
commit adds the implementation.

A slightly better fix might be to cut out some of the layers,
of middle men passing around hostname-selected, but for now this
is fine.
Comment 3 Ray Strode [halfline] 2017-03-31 21:22:40 UTC
Created attachment 349085 [details] [review]
manager: fix up support for chooser

We were missing some chunks of code to handle dealing with
the chooser.

This commit adds in the necessary bits to start the chooser,
and deal with the choice.
Comment 4 Ray Strode [halfline] 2017-03-31 21:22:44 UTC
Created attachment 349086 [details] [review]
xdmcp-display: don't set MANAGED until we've connected

We don't want to start the greeter session until we've
successfully connected to the display ourselves!

This prevents a race where session processes may inadvertently
 get the initial connection to the display server, causing
premature resets.
Comment 5 Ray Strode [halfline] 2017-03-31 21:22:48 UTC
Created attachment 349087 [details] [review]
xdmcp-display-factory: fix signal prototype

The callback was getting called with the wrong arguments leading
to spew in the logs and necessary code not getting run!
Comment 6 Ray Strode [halfline] 2017-03-31 21:22:52 UTC
Created attachment 349088 [details] [review]
xdmcp-display-factory: explicitly stop greeter session on disconnect

If the client disconnects, we should kill off the necessary processes.
Comment 7 Ray Strode [halfline] 2017-03-31 21:22:56 UTC
Created attachment 349089 [details] [review]
chooser: fix duplicate entry in the list
Comment 8 Ray Strode [halfline] 2017-03-31 21:23:00 UTC
Created attachment 349090 [details] [review]
chooser: make host list fill the dialog
Comment 9 Ray Strode [halfline] 2017-03-31 21:23:04 UTC
Created attachment 349091 [details] [review]
chooser: switch to browse selection mode

The chooser is a host browser after all. It makes not sense to
have an unselected item.
Comment 10 Ray Strode [halfline] 2017-03-31 21:23:08 UTC
Created attachment 349092 [details] [review]
chooser: filter out duplicate hostnames

One host may report itself on multiple interfaces.
GDM only supports based on hostname not interface,
so that leads duplicate entries in the list.

This commit filters out the dupes.
Comment 11 Ray Strode [halfline] 2017-03-31 21:48:07 UTC
Attachment 349083 [details] pushed as 09bf969 - manager: drop some erroneous code
Attachment 349084 [details] pushed as 4bf8912 - launch-environment: implement hostname-selected signal
Attachment 349085 [details] pushed as deff5b2 - manager: fix up support for chooser
Attachment 349086 [details] pushed as a86205b - xdmcp-display: don't set MANAGED until we've connected
Attachment 349087 [details] pushed as 2a3d5a7 - xdmcp-display-factory: fix signal prototype
Attachment 349088 [details] pushed as 15c8b63 - xdmcp-display-factory: explicitly stop greeter session on disconnect
Attachment 349089 [details] pushed as 9dbebda - chooser: fix duplicate entry in the list
Attachment 349090 [details] pushed as d312897 - chooser: make host list fill the dialog
Attachment 349091 [details] pushed as 672df0a - chooser: switch to browse selection mode
Attachment 349092 [details] pushed as 9e2d145 - chooser: filter out duplicate hostnames