==== 2.21.6 ====

2008-01-30  William Jon McCann  <mccann@jhu.edu>

	* NEWS: Update for release

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.

2008-01-29  William Jon McCann  <mccann@jhu.edu>

	* configure.ac:
	* gui/simple-greeter/gdm-greeter-login-window.c:
	(get_show_restart_buttons), (switch_mode):
	Fix RBAC patch so it works on Linux.

2008-01-29  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-xdmcp-display-factory.c:
	(gdm_xdmcp_handle_managed_forward):
	Fix up spacing.

2008-01-28  Brian Cameron  <brian.cameron@sun.com>

	* acconfig.h, configure.ac, gui/simple-greeter/Makefile.am,
	  gui/simple-greeter/gdm-greeter-login-window.c:  Make
	  polkit-gnome an optional dependency.  Also support
	  RBAC for shutdown/reboot if the --enable-rbac-shutdown
	  configure option is provided.
	* configure.ac: Remove old RBAC configuration options that
	  were used in the GDM 2.20 branch.
	* gui/simple-greeter/gdm-chooser-widget.c: Fix a null string
	  argument problem causing core dumping on Solaris.

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.

2008-01-25  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-local-display-factory.c: (store_display),
	(gdm_local_display_factory_create_transient_display),
	(gdm_local_display_factory_create_product_display),
	(create_display), (create_display_for_device),
	(gdm_local_display_factory_start):
	Don't use HAL to get seats since we don't know what to do
	with that info yet.  Hardcode starting one display for
	Seat1 and set the seat-id for all local displays.

2008-01-25  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-greeter-session.c: (open_greeter_session):
	Set the ConsoleKit session-type to LoginWindow for the
	greeter sessions.

2008-01-25  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-local-display-factory.c:
	* utils/Makefile.am:
	* utils/gdmflexiserver.c: (is_program_in_path),
	(maybe_lock_screen), (calc_pi), (create_transient_display), (main):
	Add gdmflexiserver command for backward compatibility.
	Only useful for starting a transient display.

2008-01-24  William Jon McCann  <mccann@jhu.edu>

	* daemon/Makefile.am:
	* daemon/gdm-display-store.c: (gdm_display_store_clear),
	(gdm_display_store_remove), (gdm_display_store_finalize):
	* daemon/gdm-factory-slave.c: (create_product_display),
	(gdm_factory_slave_stop):
	* daemon/gdm-local-display-factory.c: (listify_hash), (sort_nums),
	(take_next_display_number), (on_display_disposed), (store_display),
	(gdm_local_display_factory_create_transient_display),
	(gdm_local_display_factory_create_product_display),
	(create_display_for_device), (register_factory), (connect_to_hal),
	(gdm_local_display_factory_constructor),
	(gdm_local_display_factory_class_init),
	(gdm_local_display_factory_init),
	(gdm_local_display_factory_finalize):
	* daemon/gdm-local-display-factory.h:
	* daemon/gdm-local-display-factory.xml:
	* daemon/gdm-static-factory-display.c:
	(gdm_static_factory_display_set_property),
	(gdm_static_factory_display_get_property),
	(gdm_static_factory_display_class_init),
	(gdm_static_factory_display_new):
	* daemon/gdm-static-factory-display.h:
	* daemon/gdm-static-factory-display.xml:
	* daemon/gdm-transient-display.c:
	(gdm_transient_display_create_authority),
	(gdm_transient_display_add_user_authorization),
	(gdm_transient_display_remove_user_authorization),
	(gdm_transient_display_manage), (gdm_transient_display_finish),
	(gdm_transient_display_unmanage),
	(gdm_transient_display_set_property),
	(gdm_transient_display_get_property),
	(gdm_transient_display_class_init), (gdm_transient_display_init),
	(gdm_transient_display_finalize), (gdm_transient_display_new):
	* daemon/gdm-transient-display.h:
	* daemon/gdm-transient-display.xml:
	Use the LocalDisplayFactory to assign X11 Display numbers
	to all local displays.  Try to assign the lowest available.
	Add a stub for a TransientDisplay that can be used to
	do FUS logins.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(get_action_from_error), (do_system_restart), (do_system_stop):
	Don't try to determine PK action independently.  Parse
	it from the error message.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(get_system_num_sessions), (do_system_stop):
	Set the action name for stop.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* gui/simple-greeter/gdm-greeter-login-window.glade:
	Remove unused ip and network computer info labels.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-greeter-session.c: (get_greeter_environment),
	(start_dbus_daemon):
	Make sure the dbus daemon for the greeter session gets the
	correct environment.  This is particularly important when
	doing service activation.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(do_system_restart), (do_system_stop):
	Fix ConsoleKit action names.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* gui/simple-greeter/gdm-greeter-login-window.c: (get_int),
	(get_string), (get_user_name), (session_is_real_user),
	(get_system_num_sessions), (system_restart_auth_cb),
	(system_stop_auth_cb), (do_system_restart), (do_system_stop):
	Add support for polkit actions with multiple sessions.

2008-01-23  William Jon McCann  <mccann@jhu.edu>

	* configure.ac:
	* gui/simple-greeter/gdm-greeter-login-window.c: (try_system_stop),
	(try_system_restart), (system_restart_auth_cb),
	(system_stop_auth_cb), (do_system_restart), (do_system_stop),
	(restart_button_clicked), (shutdown_button_clicked), (load_theme):
	Initial support for CK/PK system restart/stop functionality.
	We still need to use a different action when multiple users are
	logged in.

2008-01-22  William Jon McCann  <mccann@jhu.edu>

	* daemon/gdm-display.c: (gdm_display_real_add_user_authorization),
	(gdm_display_real_unmanage), (gdm_display_unmanage),
	(gdm_display_dispose), (gdm_display_finalize):
	* daemon/gdm-factory-slave.c: (on_session_session_started):
	* daemon/gdm-product-display.c:
	(gdm_product_display_add_user_authorization),
	(gdm_product_display_remove_user_authorization):
	* daemon/gdm-product-slave.c: (add_user_authorization),
	(setup_session), (on_relay_establish_credentials),
	(on_relay_renew_credentials):
	* daemon/gdm-session-direct.c: (gdm_session_direct_select_user),
	(gdm_session_direct_handle_username_changed),
	(gdm_session_direct_setup_for_user), (open_ck_session):
	* daemon/gdm-session-worker.c:
	(gdm_session_worker_update_username):
	* daemon/gdm-simple-slave.c: (on_session_accredited):
	* daemon/gdm-static-factory-display.c:
	(gdm_static_factory_display_add_user_authorization),
	(gdm_static_factory_display_remove_user_authorization):
	Make user auth work for factory display again.

2008-01-21  William Jon McCann  <mccann@jhu.edu>

	* common/gdm-address.c: (gdm_address_peek_local_list):
	* daemon/gdm-xdmcp-display-factory.c:
	(gdm_xdmcp_display_factory_class_init),
	(gdm_xdmcp_display_factory_finalize):
	Merge a few changes from the 2.20 branch.

	* gui/simple-chooser/chooser-main.c: (main):
	* gui/simple-greeter/Makefile.am:
	* gui/simple-greeter/gdm-remote-login-window.c: (start_xephyr),
	(gdm_remote_login_window_connect),
	(gdm_remote_login_window_set_property),
	(gdm_remote_login_window_get_property),
	(gdm_remote_login_window_constructor),
	(gdm_remote_login_window_class_init),
	(gdm_remote_login_window_init), (gdm_remote_login_window_finalize),
	(gdm_remote_login_window_new):
	* gui/simple-greeter/gdm-remote-login-window.h:
	* gui/simple-greeter/test-remote-login-window.c: (main):
	Add initial remote login (xdmcp) client window.

2008-01-18  William Jon McCann  <mccann@jhu.edu>

	* configure.ac: Post release version bump