==== 2.21.6 ==== 2008-01-30 William Jon McCann * NEWS: Update for release 2008-01-30 William Jon McCann * 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 * 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 * daemon/gdm-xdmcp-display-factory.c: (gdm_xdmcp_handle_managed_forward): Fix up spacing. 2008-01-28 Brian Cameron * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * gui/simple-greeter/gdm-greeter-login-window.glade: Remove unused ip and network computer info labels. 2008-01-23 William Jon McCann * 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 * gui/simple-greeter/gdm-greeter-login-window.c: (do_system_restart), (do_system_stop): Fix ConsoleKit action names. 2008-01-23 William Jon McCann * 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 * 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 * 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 * 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 * configure.ac: Post release version bump