| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
svn path=/branches/mccann-gobject/; revision=4911
|