summaryrefslogtreecommitdiff
path: root/daemon/gdm-display.xml
Commit message (Collapse)AuthorAgeFilesLines
* display: don't export so much stuff over system busRay Strode2015-02-181-23/+0
| | | | | | | | | | When the slave was in a different process we needed to interact with the display in the manager process remotely. Now it's all one process and we don't, so clean up what gets exported over the bus. https://bugzilla.gnome.org/show_bug.cgi?id=744764
* Integrate the slaves into the main daemon processJasper St. Pierre2014-03-171-6/+0
| | | | | | | | | | For no particular reason, the slave has been kept as a separate process. Integrate this into the main display process by simply making the display keep a handle to a GdmSlave object. To keep the cleanup simple, we won't remove the GdmSlave subtypes yet. A future cleanup should merge the slave functionality into GdmDisplay and its subtypes. https://bugzilla.gnome.org/show_bug.cgi?id=726380
* daemon: allow NULs in X11 cookieRay Strode2012-11-051-1/+3
| | | | | | | | | | | | | | | | We currently allow the slave access to its X server via two mechanisms: 1) we set XAUTHORITY to point to the X servers Xauthority file 2) we call XSetAuthorization with the cookie from the Xauthority file 1) may fail if the user's hostname changes at the wrong moment, and a bug in the code meant that 2 would fail if NULs are encoded in the auth cookie. This commit fixes 2) to work with embedded NUL bytes. https://bugzilla.gnome.org/show_bug.cgi?id=687691
* gdm: always run gdm on VT1Lennart Poettering2012-08-061-0/+3
| | | | | | | | | | | | | | | This drops automatic VT allocation schemes for the initial display in favour of a compile time hardcoded VT assignment. The automatic allocation schemes are inherently racy since a simpler output to the console might already influence it and result in gdm running on another than the intended VT. This patch adds a --with-initial-vt= switch to configure which may be used to set the VT gdm will run the initial server on. It defaults to 1. https://fedoraproject.org/wiki/Features/DisplayManagerRework https://bugzilla.gnome.org/show_bug.cgi?id=511168
* daemon: Port display handling to GDBusGiovanni Campagna2012-07-171-0/+3
| | | | | | | | This is one big commit because it uses generated code both in the daemon and in the slaves, so we need to port both at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* Revert some commitsRay Strode2011-06-171-3/+0
| | | | | | | | | | | | I had some inprogress changes in my local tree when when git bz applying the patches on bug 618047. Those unfinished changes got interleaved into the commits, creating a bit of a mess. Also, bug 618047 has been reopened. This commit reverts those changes for now until.
* daemon: add switch-on-finish property to displayRay Strode2011-06-151-0/+3
| | | | | | | | | | | | | | | | | | | When a display exits, sometimes it's desirable to jump to a login screen. This depends if the display is transient or not, and also whether the display is hosting an already logged in session or not. This commit adds a property to the display object that says whether a switch should happen or not. Note the code to actually perform the switch will get added in a follow up commit. Based on work by Josselin Mouette <joss@debian.org> https://bugzilla.gnome.org/show_bug.cgi?id=618047
* Fix the GetX11Cookie dbus method Send the cookie as a byte array insteadRay Strode2009-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | 2009-03-16 Ray Strode <rstrode@redhat.com> Fix the GetX11Cookie dbus method * daemon/gdm-display.xml: Send the cookie as a byte array instead of utf-8 string * daemon/gdm-display.[ch] (gdm_display_get_x11_cookie): pass in a GArray instead of the more natural char array and size pointers to make dbus-glib happy. * daemon/gdm-xdmcp-display-factory.c (gdm_xdmcp_handle_request): Update to use new get_x11_cookie signature. svn path=/trunk/; revision=6781
* Add support for a real automatic login. Make automatic and timed loginWilliam Jon McCann2008-10-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-10-23 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display.c (gdm_display_real_get_timed_login_details), (gdm_display_get_timed_login_details), (gdm_display_real_unmanage), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-display.xml: * daemon/gdm-simple-slave.c (greeter_reset_timeout), (on_session_setup_failed), (on_session_authentication_failed), (on_session_authorized), (on_session_authorization_failed), (stop_greeter), (start_session_timeout), (on_session_accredited), (on_session_accreditation_failed), (on_session_info), (on_session_opened), (on_session_selected_user_changed), (on_default_language_name_changed), (on_default_layout_name_changed), (on_default_session_name_changed), (start_greeter), (idle_connect_to_display), (gdm_simple_slave_stop): * daemon/gdm-slave.c (gdm_slave_get_timed_login_details): * daemon/gdm-slave.h: * daemon/gdm-static-display.c (gdm_static_display_unmanage), (gdm_static_display_get_timed_login_details), (gdm_static_display_class_init), (gdm_static_display_init): * daemon/gdm-transient-display.c (gdm_transient_display_get_timed_login_details), (gdm_transient_display_class_init): * daemon/gdm-xdmcp-display.c (gdm_xdmcp_display_get_timed_login_details), (gdm_xdmcp_display_class_init): Add support for a real automatic login. Make automatic and timed login only work the first time a display is managed. Also prevent automatic and timed login from working on transient and xdmcp displays. svn path=/trunk/; revision=6582
* Initial support for XDMCP IndirectQuery choosers. Also fix brokenWilliam Jon McCann2008-01-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-01-30 William Jon McCann <mccann@jhu.edu> * common/gdm-address.c: (add_local_siocgifconf), (add_local_addrinfo), (gdm_address_peek_local_list): * daemon/Makefile.am: * daemon/gdm-chooser-server.c: (generate_address), (handle_select_hostname), (handle_disconnect), (chooser_handle_child_message), (do_introspect), (chooser_server_message_handler), (chooser_server_unregister_handler), (connection_filter_function), (allow_user_function), (handle_connection), (gdm_chooser_server_start), (gdm_chooser_server_stop), (gdm_chooser_server_get_address), (_gdm_chooser_server_set_display_id), (_gdm_chooser_server_set_user_name), (_gdm_chooser_server_set_group_name), (gdm_chooser_server_set_property), (gdm_chooser_server_get_property), (gdm_chooser_server_constructor), (gdm_chooser_server_class_init), (gdm_chooser_server_init), (gdm_chooser_server_finalize), (gdm_chooser_server_new): * daemon/gdm-chooser-server.h: * daemon/gdm-chooser-session.c: (listify_hash), (get_chooser_environment), (chooser_session_child_watch), (spawn_child_setup), (spawn_command_line_sync_as_user), (spawn_command_line_async_as_user), (parse_value_as_integer), (parse_dbus_launch_output), (start_dbus_daemon), (stop_dbus_daemon), (gdm_chooser_session_spawn), (gdm_chooser_session_start), (wait_on_child), (chooser_session_died), (gdm_chooser_session_stop), (gdm_chooser_session_set_server_address), (_gdm_chooser_session_set_x11_display_name), (_gdm_chooser_session_set_x11_display_hostname), (_gdm_chooser_session_set_x11_display_device), (_gdm_chooser_session_set_x11_authority_file), (_gdm_chooser_session_set_user_name), (_gdm_chooser_session_set_group_name), (gdm_chooser_session_set_property), (gdm_chooser_session_get_property), (gdm_chooser_session_constructor), (gdm_chooser_session_class_init), (gdm_chooser_session_init), (gdm_chooser_session_finalize), (gdm_chooser_session_new): * daemon/gdm-chooser-session.h: * daemon/gdm-display.c: (gdm_display_real_set_slave_bus_name), (gdm_display_set_slave_bus_name), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-display.xml: * daemon/gdm-factory-slave.c: * daemon/gdm-greeter-server.c: * daemon/gdm-greeter-session.c: (gdm_greeter_session_init): * daemon/gdm-product-slave.c: * daemon/gdm-simple-slave.c: * daemon/gdm-slave.c: (gdm_slave_set_slave_bus_name), (gdm_slave_real_start), (register_slave), (gdm_slave_constructor): * daemon/gdm-xdmcp-chooser-display.c: (on_hostname_selected), (gdm_xdmcp_chooser_display_set_slave_bus_name), (gdm_xdmcp_chooser_display_manage), (gdm_xdmcp_chooser_display_class_init), (gdm_xdmcp_chooser_display_init), (gdm_xdmcp_chooser_display_finalize), (gdm_xdmcp_chooser_display_new): * daemon/gdm-xdmcp-chooser-display.h: * daemon/gdm-xdmcp-chooser-display.xml: * daemon/gdm-xdmcp-chooser-slave.c: (on_chooser_session_start), (on_chooser_session_stop), (on_chooser_session_exited), (on_chooser_session_died), (on_chooser_hostname_selected), (on_chooser_disconnected), (on_chooser_connected), (setup_server), (run_chooser), (idle_connect_to_display), (gdm_xdmcp_chooser_slave_run), (gdm_xdmcp_chooser_slave_start), (gdm_xdmcp_chooser_slave_stop), (gdm_xdmcp_chooser_slave_set_property), (gdm_xdmcp_chooser_slave_get_property), (gdm_xdmcp_chooser_slave_constructor), (gdm_xdmcp_chooser_slave_class_init), (gdm_xdmcp_chooser_slave_init), (gdm_xdmcp_chooser_slave_finalize), (gdm_xdmcp_chooser_slave_new): * daemon/gdm-xdmcp-chooser-slave.h: * daemon/gdm-xdmcp-display-factory.c: (set_port_for_request), (gdm_xdmcp_send_forward_query), (indirect_client_create), (indirect_client_destroy), (indirect_client_lookup_by_chosen), (indirect_client_lookup), (gdm_xdmcp_handle_indirect_query), (forward_query_destroy), (remove_oldest_forward), (forward_query_create), (forward_query_lookup), (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_send_decline), (on_hostname_selected), (gdm_xdmcp_display_create), (gdm_xdmcp_handle_request), (gdm_xdmcp_send_refuse), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward): * daemon/gdm-xdmcp-display.c: (gdm_xdmcp_display_class_init), (gdm_xdmcp_display_finalize): * daemon/gdm-xdmcp-display.h: * daemon/gdm-xdmcp-display.xml: * daemon/gdm-xdmcp-greeter-display.c: (gdm_xdmcp_greeter_display_class_init), (gdm_xdmcp_greeter_display_init), (gdm_xdmcp_greeter_display_finalize), (gdm_xdmcp_greeter_display_new): * daemon/gdm-xdmcp-greeter-display.h: * daemon/xdmcp-chooser-slave-main.c: (get_system_bus), (signal_cb), (on_slave_stopped), (main): * data/gdm.conf: * gui/simple-chooser/Makefile.am: * gui/simple-chooser/chooser-main.c: (assistive_registry_launch), (filter_watch), (filter_timeout), (assistive_registry_start), (at_set_gtk_modules), (load_a11y), (main): * gui/simple-chooser/gdm-chooser-client.c: (gdm_chooser_client_error_quark), (send_dbus_string_method), (send_dbus_void_method), (gdm_chooser_client_call_select_hostname), (gdm_chooser_client_call_disconnect), (client_dbus_handle_message), (client_dbus_filter_function), (gdm_chooser_client_start), (gdm_chooser_client_stop), (gdm_chooser_client_set_property), (gdm_chooser_client_get_property), (gdm_chooser_client_constructor), (gdm_chooser_client_dispose), (gdm_chooser_client_class_init), (gdm_chooser_client_init), (gdm_chooser_client_finalize), (gdm_chooser_client_new): * gui/simple-chooser/gdm-chooser-client.h: * gui/simple-chooser/gdm-chooser-session.c: (launch_compiz), (launch_metacity), (start_window_manager), (start_settings_daemon), (on_dialog_response), (gdm_chooser_session_start), (gdm_chooser_session_stop), (gdm_chooser_session_set_property), (gdm_chooser_session_get_property), (gdm_chooser_session_constructor), (gdm_chooser_session_dispose), (gdm_chooser_session_class_init), (gdm_chooser_session_init), (gdm_chooser_session_finalize), (gdm_chooser_session_new): * gui/simple-chooser/gdm-chooser-session.h: * gui/simple-chooser/test-host-chooser.c: (assistive_registry_launch), (filter_watch), (filter_timeout), (assistive_registry_start), (at_set_gtk_modules), (load_a11y), (main): * gui/simple-greeter/greeter-main.c: (load_a11y), (main): Initial support for XDMCP IndirectQuery choosers. Also fix broken gdm_address_is_local. svn path=/trunk/; revision=5645
* Initial session migration support. We still need to make the slave dieWilliam Jon McCann2008-01-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-01-28 William Jon McCann <mccann@jhu.edu> * daemon/gdm-display.c: (gdm_display_get_seat_id), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-display.xml: * daemon/gdm-local-display-factory.c: (gdm_local_display_factory_create_transient_display), (gdm_local_display_factory_create_product_display), (create_display): * daemon/gdm-simple-slave.c: (on_session_authorized), (try_migrate_session), (start_session_timeout), (queue_start_session), (on_session_accredited), (on_session_accreditation_failed): * daemon/gdm-slave.c: (gdm_slave_real_start), (_get_uid_and_gid_for_user), (x11_session_is_on_seat), (_get_primary_user_session_id), (activate_session_id), (gdm_slave_switch_to_user_session), (_gdm_slave_set_display_seat_id), (gdm_slave_set_property), (gdm_slave_get_property), (gdm_slave_class_init): * daemon/gdm-slave.h: Initial session migration support. We still need to make the slave die after if it is a transient display. svn path=/trunk/; revision=5639
* Make XDMCP logins work.William Jon McCann2007-07-251-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-25 William Jon McCann <mccann@jhu.edu> * common/gdm-address.c: (gdm_address_get_hostname), (gdm_address_get_numeric_info), (address_family_str), (gdm_address_debug): * common/gdm-address.h: * daemon/Makefile.am: * daemon/auth.c: (gdm_auth_add_entry), (gdm_auth_add_entry_for_display), (gdm_auth_user_add): * daemon/auth.h: * daemon/gdm-ck-session.c: (unlock_ck_session): * daemon/gdm-display.c: (gdm_display_real_add_user_authorization), (gdm_display_add_user_authorization), (gdm_display_real_remove_user_authorization), (gdm_display_remove_user_authorization), (gdm_display_get_x11_display_number), (gdm_display_get_x11_display_name), (_gdm_display_set_x11_display_number), (_gdm_display_set_x11_display_name), (gdm_display_set_property), (gdm_display_get_property), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-display.xml: * daemon/gdm-factory-slave.c: (run_greeter): * daemon/gdm-greeter-proxy.c: (listify_hash): * daemon/gdm-product-display.c: (gdm_product_display_add_user_authorization), (gdm_product_display_remove_user_authorization), (gdm_product_display_class_init), (gdm_product_display_new): * daemon/gdm-simple-slave.c: (listify_hash), (get_script_environment), (add_user_authorization), (setup_session_environment), (run_greeter), (gdm_simple_slave_init): * daemon/gdm-slave.c: (gdm_slave_real_start), (gdm_slave_add_user_authorization), (_gdm_slave_set_display_number), (gdm_slave_set_property), (gdm_slave_get_property), (gdm_slave_class_init): * daemon/gdm-slave.h: * daemon/gdm-static-display.c: (gdm_static_display_add_user_authorization), (gdm_static_display_remove_user_authorization), (gdm_static_display_class_init), (gdm_static_display_new): * daemon/gdm-static-factory-display.c: (gdm_static_factory_display_add_user_authorization), (gdm_static_factory_display_remove_user_authorization), (gdm_static_factory_display_class_init), (gdm_static_factory_display_new): * daemon/gdm-xdmcp-display.c: (gdm_xdmcp_display_create_authority), (gdm_xdmcp_display_add_user_authorization), (gdm_xdmcp_display_remove_user_authorization), (_gdm_xdmcp_display_set_remote_address), (gdm_xdmcp_display_set_property), (gdm_xdmcp_display_class_init), (gdm_xdmcp_display_new): * daemon/gdm-xdmcp-manager.c: (do_bind), (gdm_xdmcp_host_allow), (lookup_by_host), (gdm_xdmcp_send_willing), (gdm_xdmcp_send_unwilling), (gdm_xdmcp_send_forward_query), (gdm_forward_query_dispose), (gdm_forward_query_lookup), (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_really_send_managed_forward), (gdm_xdmcp_send_got_managed_forward), (remove_host), (gdm_xdmcp_send_decline), (gdm_xdmcp_display_alloc), (gdm_xdmcp_send_accept), (gdm_xdmcp_handle_request), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward), (gdm_xdmcp_handle_got_managed_forward), (gdm_xdmcp_handle_keepalive), (decode_packet): * data/gdm.conf: * gui/simple-greeter/greeter-main.c: (main): Make XDMCP logins work. svn path=/branches/mccann-gobject/; revision=5086
* Add new md5 code to common. Replace cookie generation code.William Jon McCann2007-05-161-0/+6
| | | | | | | Remove some dead code from gdm-common. Set xauth stuff in slave correctly. Greeter now starts on xdmcp. svn path=/branches/mccann-gobject/; revision=4937
* Add x11-display property to display. MoveWilliam Jon McCann2007-05-111-4/+1
| | | | | | | remote-hostname from xdmcp display to parent class. Set some defaults in slave so greeter and server start. svn path=/branches/mccann-gobject/; revision=4916
* Add skeleton for gobject redesign. Doesn't really work but should compile.William Jon McCann2007-05-101-0/+17
svn path=/branches/mccann-gobject/; revision=4911