summaryrefslogtreecommitdiff
path: root/daemon/gdm-manager.c
Commit message (Collapse)AuthorAgeFilesLines
* Add an option to use GDM as a standalone XDMCP serverLaurent Bigonville2013-11-111-4/+22
| | | | | | | | | This patch add an option (xdmcp/ShowLocalGreeter) to disable the local X console and turn GDM into a simple XDMCP server Thanks to Patrick Monnerat and Josselin Mouette for the patch https://bugzilla.gnome.org/show_bug.cgi?id=567522
* daemon: don't require seat to locate reauth channelRay Strode2013-11-011-442/+61
| | | | | | | | | | With systemd, XDMCP sessions don't have associated seats. Currently, reauth channels find the session by first looking up the seat, which means unlocking fails for XDMCP. This commit changes the code to determine session strictly from pid. https://bugzilla.gnome.org/show_bug.cgi?id=690926
* manager: return ACCESS DENIED for most open-reauth-channel failuresRay Strode2013-10-311-6/+28
| | | | | | | | | | | | | gnome-shell only falls back to opening a new session if the reauth channel fails to open because of denied access. For XDMCP we currently fail for other reasons. This commit returns ACCESS DENIED for those cases as well, so the intended fallback happens. Based on a patch by Jeremy White <jwhite@codeweavers.com> https://bugzilla.gnome.org/show_bug.cgi?id=690926
* manager: don't try to unexport objects on system bus after it closesRay Strode2013-08-141-5/+7
| | | | | | | | | | | | | | | | When the main GDM manager object is finalized, it unexports any exported DBus ObjectManager objects. In many cases, the system bus is no longer around by the time the GDM manager object is finalized. Unexporting an object when the the bus connection is already closed will make GDBus blow an assertion (since it's already been implicitly unexported by virtue of being disconnected). This commit changes the GDM manager object's finalize method to avoid explicitly unexporting the objects in the above scenario. https://bugzilla.gnome.org/show_bug.cgi?id=700523
* manager: clean up error pathRay Strode2013-06-031-3/+0
| | | | | | | | If a user tries to open a session that doesn't belong to him (via gdm_manager_open_session) we post an warning to the console because we try to access an error variable that isn't set. This commit fixes that.
* Revert "manager: don't try to unexport objects on system bus after it closes"Ray Strode2013-05-211-7/+5
| | | | | | This reverts commit fe6dd54d7b5300c1b025a95ed189d4222fd1432f. It snuck in when I pushed the kerberos change.
* manager: don't try to unexport objects on system bus after it closesRay Strode2013-05-201-5/+7
| | | | | | | | | | | | | | | | When the main GDM manager object is finalized, it unexports any exported DBus ObjectManager objects. In many cases, the system bus is no longer around by the time the GDM manager object is finalized. Unexporting an object when the the bus connection is already closed will make GDBus blow an assertion (since it's already been implicitly unexported by virtue of being disconnected). This commit changes the GDM manager object's finalize method to avoid explicitly unexporting the objects in the above scenario. https://bugzilla.gnome.org/show_bug.cgi?id=700523
* manager: Don't attempt to unexport DBus object if connection is closedColin Walters2013-05-171-1/+2
| | | | | | This avoids a crash on shutdown. https://bugzilla.gnome.org/show_bug.cgi?id=700523
* Fix checks for logindMartin Pitt2013-03-291-5/+4
| | | | | | | | | | | | It is possible to build systemd without logind or run logind without systemd init, in both cases testing for systemd init is wrong. Check for /run/systemd/seats in the parts which talk to logind instead, as recommended by systemd upstream. For details, see: <https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00092.html> https://bugzilla.gnome.org/show_bug.cgi?id=696266
* daemon: bail if unable to get seat from pidRay Strode2013-02-201-0/+6
| | | | | | | | If we can't get the seat from the pid during reauthentication, then we need to bail right away, or we'll end up failing on the next call and overwriting the already written error. https://bugzilla.gnome.org/show_bug.cgi?id=690926
* daemon: export a Version on the busGiovanni Campagna2012-09-141-0/+2
| | | | | | | This will allow clients such as gnome-shell to do runtime detection of gdm and fallback gracefully if not available. https://bugzilla.gnome.org/show_bug.cgi?id=683790
* Trivial: Update FSF Address.Dominique Leuenberger2012-09-061-1/+1
| | | | Fix bug 683383.
* daemon: import consolekit error handlingRay Strode2012-08-011-0/+12
| | | | | | Make sure we always return an error in the consolekit session look up code when we can't find a session, so that callers don't get timeouts waiting for a reply that we previously neglected to send.
* daemon: more consolekit fixesRay Strode2012-08-011-6/+2
| | | | | This commit changes how we extract the session information from consolekit in a way that's actually gdbus/gvariant friendly.
* worker: add reauthentication supportRay Strode2012-07-171-1/+524
| | | | | | | | | | | | | This commit adds reauthentication support for screensavers and user switching to use. 1) It adds a "verification mode" argument to the GdmSession constructor that tweaks the behavior of how the session worker acts to fit login or unlock scenarios better. 2) It adds a way for programs to open a communication channel for user verification to already runnings sessions (so reauthentication happens in the context of the session).
* daemon: Add an interface for communicating with GDM via D-BusRay Strode2012-07-171-6/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One goal for GNOME 3.6, is to replace the screen locking functionality provided by gnome-screensaver with redesigned functionality provided by gnome-shell. At the same time, it makes sense to consolidate the yucky PAM authentication code to one place (GDM). Right now only greeters can talk to GDM. At the time the greeter is started, the slave sets up a private communication channel which the greeter then connects to for initiating communication. This commit adds a new method to the org.gnome.DisplayManager.Manager interface that allows opening a private connection to the slave that is associated with the currently running session. That slave exports the session object over the bus that greeters can interact with the session as appropriate. This interface replaces the GDM_GREETER_DBUS_ADDRESS environment variable that used to to be used for connecting the greeter to the slave. This commit also drops gdm-greeter-server and gdm-chooser-server which don't fit the new model, and are really just thin middle men that don't do anything important. Furthermore, this commit splits GdmSession interfaces 3 orthogonal parts up into 3 separate interfaces on the session object. A future commit will make this interface work for screensavers/reauthentication. Based on work by Giovanni Campagna <gcampagna@src.gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=676381
* daemon: Port GdmManager to GDBusGiovanni Campagna2012-07-171-19/+30
| | | | | | | | | | | | | | | The GdmManager object controls the GdmLocalDisplayFactory and GdmXdmcpDisplayFactory singleton objects, which manage displays on local VTs and displays on remote machines respectively. Another role of the GdmManager object is to aggregate and export the displays currently being managed by those display factories over the system bus. This commit moves GdmManager over to using GDBus and the GDBusObjectManager interface for display enumeration. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* daemon: Fix added/remove signal emission in display codeRay Strode2012-07-171-0/+45
| | | | | | | | | | | | | | | | | | The display store is a small container object meant to track currently known about displays. It has two signals, "display-added" and "display-removed" that are supposed to get emitted any time a display gets added or removed from the store. Likewise, the GdmManager object has two similar signals that are supposed to be emitted under similar circumstances. These signals in GdmDisplayStore and GdmManager were never actually hooked up to fire at the appropriate times. This commit changes GdmDisplayStore and GdmManager to properly fire these signals.
* daemon: Drop manager bus watching codeGiovanni Campagna2012-07-131-68/+0
| | | | | | | | | | | GdmManager watches the system bus to see whenever a service leaves. The intent of the code is to stop managing displays associated with slaves that have disappeared. The code wasn't ever finished, though, so drop it for now. It will be easy to add back in a different way after GdmManager has been ported to GDBus.
* manager: plug small memory leakGiovanni Campagna2012-07-131-3/+3
| | | | | | | | The finalize handler for GdmManager wasn't properly unreffing its DBus connection or local display factory. This commit fixes that up, and changes the free call for the xdmcp_factory call to match the style of the newly added free calls.
* Fix build failure when libxdmcp is not available. Fixes bug #616984.Brian Cameron2010-05-031-1/+2
|
* Correctly handle changes in the xdmcp enabled property. Add a displayWilliam Jon McCann2008-12-031-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | 2008-12-02 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display.c (gdm_display_real_prepare), (gdm_display_prepare), (gdm_display_real_manage), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-local-display-factory.c (on_static_display_status_changed): * daemon/gdm-manager.c (gdm_manager_stop), (gdm_manager_start), (gdm_manager_set_xdmcp_enabled): * daemon/gdm-manager.h: * daemon/gdm-xdmcp-display-factory.c (gdm_xdmcp_display_create), (gdm_xdmcp_handle_manage): Correctly handle changes in the xdmcp enabled property. Add a display state called prepared that sets up the display before actually managing (starting) it. This is required for the XDMCP Request phase to work. Fixes #561396 svn path=/trunk/; revision=6610
* Don't use xdmcp factory if libxdmcp not available. Fixes #531467William Jon McCann2008-07-211-2/+10
| | | | | | | | | | | | | 2008-07-21 William Jon McCann <jmccann@redhat.com> * daemon/gdm-manager.c (gdm_manager_start), (gdm_manager_set_wait_for_go), (gdm_manager_constructor), (gdm_manager_finalize): Don't use xdmcp factory if libxdmcp not available. Fixes #531467 svn path=/trunk/; revision=6309
* Remove a particularly noisy debug line.William Jon McCann2008-04-011-2/+0
| | | | | | | | | | | 2008-03-31 William Jon McCann <jmccann@redhat.com> * daemon/gdm-manager.c: (remove_displays_for_connection): Remove a particularly noisy debug line. svn path=/trunk/; revision=6086
* Refactor things a little. Rename renew to refresh. Add a pid to theWilliam Jon McCann2008-03-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-03-14 William Jon McCann <jmccann@redhat.com> * daemon/gdm-manager.c: (bus_name_owner_changed): * daemon/gdm-product-slave.c: (send_dbus_string_method), (send_dbus_void_method), (send_dbus_int_method), (relay_session_started), (on_session_started), (on_relay_refresh_credentials), (relay_dbus_handle_message): * daemon/gdm-session-direct.c: (gdm_session_direct_handle_session_started), (do_introspect), (gdm_session_direct_accredit): * daemon/gdm-session-private.h: * daemon/gdm-session-relay.c: (gdm_session_relay_accredit), (handle_secret_info_query), (handle_info), (handle_problem), (handle_session_started), (do_introspect), (gdm_session_iface_init): * daemon/gdm-session-worker.c: (gdm_session_worker_update_environment_from_passwd_info), (_change_user), (_lookup_passwd_info), (gdm_session_worker_accredit_user), (on_refresh_credentials), (worker_dbus_handle_message): * daemon/gdm-session.c: (gdm_session_class_init), (_gdm_session_session_started): * daemon/gdm-session.h: * daemon/gdm-simple-slave.c: (on_session_started), (gdm_simple_slave_accredit_when_ready), (on_greeter_connected): * daemon/gdm-slave.c: (gdm_slave_get_primary_session_id_for_user), (gdm_slave_switch_to_user_session): * daemon/gdm-slave.h: Refactor things a little. Rename renew to refresh. Add a pid to the session started signal. svn path=/trunk/; revision=6018
* Add quick death and looping detection for displays.William Jon McCann2008-02-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-02-21 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-store.c: (remove_display), (gdm_display_store_remove): * daemon/gdm-display.c: (gdm_display_add_user_authorization), (gdm_display_set_slave_bus_name), (gdm_display_remove_user_authorization), (finish_idle), (slave_exited), (slave_died), (_gdm_display_set_status), (gdm_display_real_manage), (gdm_display_manage), (gdm_display_real_finish), (gdm_display_finish), (gdm_display_real_unmanage), (gdm_display_set_property), (gdm_display_get_property), (gdm_display_dispose), (gdm_display_class_init), (gdm_display_init), (gdm_display_finalize): * daemon/gdm-display.h: * daemon/gdm-local-display-factory.c: (take_next_display_number), (on_display_disposed), (on_static_display_status_changed), (create_display): * daemon/gdm-manager.c: (remove_display_for_connection): * daemon/gdm-static-display.c: (gdm_static_display_finish): Add quick death and looping detection for displays. svn path=/trunk/; revision=5838
* Set XDMCP enabled/disabled from configuration settings.William Jon McCann2008-02-201-1/+1
| | | | | | | | | | | | | 2008-02-20 William Jon McCann <jmccann@redhat.com> * common/gdm-settings-keys.h: * common/test-settings-client.c: (test_settings_client): * daemon/gdm-manager.c: (gdm_manager_class_init): * daemon/main.c: (main): Set XDMCP enabled/disabled from configuration settings. svn path=/trunk/; revision=5827
* Fix a bunch of compiler warnings and remove unused code. Patch from:William Jon McCann2008-02-191-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-02-19 William Jon McCann <jmccann@redhat.com> * common/gdm-settings-client.c: (gdm_settings_client_get_locale_string), (gdm_settings_client_init): * common/gdm-settings-desktop-backend.c: (save_settings): * common/gdm-settings-direct.c: (gdm_settings_direct_init): * common/test-log.c: (test_log): * common/test-settings-client.c: (test_settings_client): * daemon/gdm-chooser-server.c: (gdm_chooser_server_constructor): * daemon/gdm-chooser-session.c: (gdm_chooser_session_set_property), (gdm_chooser_session_get_property), (gdm_chooser_session_constructor): * daemon/gdm-display-access-file.c: * daemon/gdm-display.c: (_create_access_file_for_user), (gdm_display_constructor): * daemon/gdm-factory-slave.c: (gdm_factory_slave_start), (gdm_factory_slave_stop), (gdm_factory_slave_set_property), (gdm_factory_slave_get_property), (gdm_factory_slave_constructor): * daemon/gdm-greeter-server.c: (gdm_greeter_server_constructor): * daemon/gdm-greeter-session.c: (gdm_greeter_session_set_property), (gdm_greeter_session_get_property): * daemon/gdm-local-display-factory.c: (gdm_local_display_factory_set_property), (gdm_local_display_factory_get_property), (gdm_local_display_factory_constructor): * daemon/gdm-manager.c: (gdm_manager_constructor): * daemon/gdm-product-display.c: (gdm_product_display_constructor): * daemon/gdm-product-slave.c: (gdm_product_slave_start), (gdm_product_slave_stop), (gdm_product_slave_set_property), (gdm_product_slave_get_property), (gdm_product_slave_constructor): * daemon/gdm-server.c: (gdm_server_constructor): * daemon/gdm-session-auditor.c: * daemon/gdm-session-direct.c: (gdm_session_direct_open): * daemon/gdm-session-linux-auditor.c: * daemon/gdm-session-relay.c: (gdm_session_relay_set_property), (gdm_session_relay_get_property), (gdm_session_relay_constructor): * daemon/gdm-session-settings.c: * daemon/gdm-session-worker-job.c: (gdm_session_worker_job_constructor): * daemon/gdm-session-worker.c: (gdm_session_worker_constructor): * daemon/gdm-simple-slave.c: (gdm_simple_slave_start), (gdm_simple_slave_stop), (gdm_simple_slave_set_property), (gdm_simple_slave_get_property), (gdm_simple_slave_constructor): * daemon/gdm-slave.c: (gdm_slave_run_script), (_get_primary_user_session_id), (gdm_slave_constructor): * daemon/gdm-static-display.c: (gdm_static_display_set_property), (gdm_static_display_get_property): * daemon/gdm-static-factory-display.c: (gdm_static_factory_display_set_property), (gdm_static_factory_display_get_property), (gdm_static_factory_display_constructor): * daemon/gdm-transient-display.c: (gdm_transient_display_set_property), (gdm_transient_display_get_property): * daemon/gdm-welcome-session.c: (parse_dbus_launch_output), (gdm_welcome_session_constructor): * daemon/gdm-xdmcp-chooser-slave.c: (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): * daemon/gdm-xdmcp-display-factory.c: (do_bind), (indirect_client_create), (gdm_xdmcp_handle_forward_query): * daemon/test-session.c: (main): * gui/simple-chooser/gdm-chooser-client.c: (gdm_chooser_client_set_property), (gdm_chooser_client_get_property), (gdm_chooser_client_constructor), (gdm_chooser_client_dispose): * gui/simple-chooser/gdm-chooser-session.c: (gdm_chooser_session_set_property), (gdm_chooser_session_get_property), (gdm_chooser_session_constructor), (gdm_chooser_session_dispose): * gui/simple-chooser/gdm-host-chooser-dialog.c: (gdm_host_chooser_dialog_set_property), (gdm_host_chooser_dialog_get_property), (gdm_host_chooser_dialog_constructor), (gdm_host_chooser_dialog_dispose): * gui/simple-chooser/gdm-host-chooser-widget.c: (gdm_host_chooser_widget_set_property), (gdm_host_chooser_widget_get_property), (gdm_host_chooser_widget_constructor): * gui/simple-greeter/gdm-a11y-preferences-dialog.c: (gdm_a11y_preferences_dialog_set_property), (gdm_a11y_preferences_dialog_get_property), (gdm_a11y_preferences_dialog_constructor), (gdm_a11y_preferences_dialog_dispose): * gui/simple-greeter/gdm-chooser-widget.c: (shrink_edge_toward_active_row), (gdm_chooser_widget_constructor): * gui/simple-greeter/gdm-greeter-client.c: (gdm_greeter_client_set_property), (gdm_greeter_client_get_property), (gdm_greeter_client_constructor), (gdm_greeter_client_dispose): * gui/simple-greeter/gdm-greeter-login-window.c: (gdm_greeter_login_window_constructor): * gui/simple-greeter/gdm-greeter-panel.c: (gdm_greeter_panel_set_property), (gdm_greeter_panel_get_property), (gdm_greeter_panel_constructor), (gdm_greeter_panel_dispose): * gui/simple-greeter/gdm-greeter-session.c: (gdm_greeter_session_set_property), (gdm_greeter_session_get_property), (gdm_greeter_session_constructor), (gdm_greeter_session_dispose): * gui/simple-greeter/gdm-language-chooser-widget.c: (gdm_language_chooser_widget_dispose): * gui/simple-greeter/gdm-option-widget.c: (activate_from_item_id), (gdm_option_widget_constructor): * gui/simple-greeter/gdm-recent-option-widget.c: (gdm_recent_option_widget_dispose): * gui/simple-greeter/gdm-remote-login-window.c: (gdm_remote_login_window_set_property), (gdm_remote_login_window_get_property), (gdm_remote_login_window_constructor): * gui/simple-greeter/gdm-session-client.c: (gdm_session_client_constructor), (gdm_session_client_dispose): * gui/simple-greeter/gdm-session-manager.c: (gdm_session_manager_set_property), (gdm_session_manager_get_property), (gdm_session_manager_constructor), (gdm_session_manager_dispose): * gui/simple-greeter/gdm-user-chooser-dialog.c: (gdm_user_chooser_dialog_set_property), (gdm_user_chooser_dialog_get_property), (gdm_user_chooser_dialog_constructor), (gdm_user_chooser_dialog_dispose): * gui/simple-greeter/gdm-user-chooser-widget.c: (gdm_user_chooser_widget_set_property), (gdm_user_chooser_widget_get_property), (gdm_user_chooser_widget_constructor): * gui/simple-greeter/gdm-user-manager.c: (_get_primary_user_session_id), (_get_login_window_session_id): * gui/simple-greeter/gdm-user.c: * gui/simple-greeter/libnotificationarea/na-tray-manager.c: (na_tray_manager_handle_begin_message): * gui/simple-greeter/libnotificationarea/na-tray.c: * gui/user-switch-applet/applet.c: (prefs_cb), (switch_to_user_session), (display_key_changed), (applet_fill_cb): * gui/user-switch-applet/gdm-user-menu-item.c: * tests/s-common-address.c: (START_TEST): * utils/gdmflexiserver.c: (get_login_window_session_id): Fix a bunch of compiler warnings and remove unused code. Patch from: Kjartan Maraas <kmaraas@broadpark.no> svn path=/trunk/; revision=5800
* With this patch we now invoke the X server with the -auth argument andWilliam Jon McCann2007-11-091-39/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-11-09 William Jon McCann <mccann@jhu.edu> * common/gdm-common.c: (gdm_string_hex_decode): * common/gdm-common.h: * daemon/Makefile.am: * daemon/auth.c: * daemon/auth.h: * daemon/gdm-display.c: (_create_access_file_for_user), (gdm_display_real_create_authority), (gdm_display_real_add_user_authorization), (gdm_display_real_remove_user_authorization), (gdm_display_get_x11_cookie), (gdm_display_get_x11_authority_file), (gdm_display_real_unmanage), (gdm_display_set_property), (gdm_display_get_property), (gdm_display_class_init), (gdm_display_finalize): * daemon/gdm-display.h: * daemon/gdm-factory-slave.c: (gdm_factory_slave_run): * daemon/gdm-local-display-factory.c: (create_display_for_device): * daemon/gdm-manager.c: (gdm_manager_init), (gdm_manager_finalize): * daemon/gdm-product-slave.c: (gdm_product_slave_create_server): * daemon/gdm-server.c: (_gdm_server_set_auth_file), (gdm_server_set_property), (gdm_server_get_property), (gdm_server_class_init), (gdm_server_new): * daemon/gdm-server.h: * daemon/gdm-simple-slave.c: (gdm_simple_slave_run): * daemon/gdm-slave.c: (gdm_slave_connect_to_x11_display), (gdm_slave_real_start), (gdm_slave_set_property), (gdm_slave_get_property), (gdm_slave_class_init): * daemon/gdm-static-display.c: (gdm_static_display_add_user_authorization), (gdm_static_display_remove_user_authorization): * daemon/gdm-xdmcp-display-factory.c: (gdm_xdmcp_handle_request): * 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_unmanage): * daemon/gdm-display-access-file.c: * daemon/gdm-display-access-file.h: With this patch we now invoke the X server with the -auth argument and disable machine wide access to the X server. This patch also drops the md5 hashing of random bytes to create cookies and instead just creates cookies directly (like the X server would if we asked the X server to generate the cookies for us). Patch from: Ray Strode <rstrode@redhat.com> svn path=/trunk/; revision=5499
* Prefix debug messages with class name to make output easier to read.William Jon McCann2007-10-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-10-30 William Jon McCann <mccann@jhu.edu> * common/gdm-signal-handler.c: (signal_io_watch), (catch_signal), (uncatch_signal), (gdm_signal_handler_add), (gdm_signal_handler_remove_and_free_data), (gdm_signal_handler_finalize): * daemon/gdm-display-store.c: (gdm_display_store_clear), (gdm_display_store_remove), (gdm_display_store_add), (display_unref): * daemon/gdm-factory-slave.c: (on_greeter_start), (on_greeter_stop), (on_session_info), (on_session_problem), (on_session_info_query), (on_session_secret_info_query), (on_session_opened), (on_session_user_verified), (on_session_user_verification_error), (on_session_session_started), (create_product_display), (on_session_relay_disconnected), (on_session_relay_connected), (on_greeter_begin_verification), (on_greeter_begin_verification_for_user), (on_greeter_answer), (on_greeter_connected), (run_greeter), (idle_connect_to_display), (server_ready_cb), (gdm_factory_slave_run), (gdm_factory_slave_start), (gdm_factory_slave_stop), (gdm_factory_slave_finalize): * daemon/gdm-greeter-server.c: (send_dbus_message), (send_dbus_string_signal), (send_dbus_void_signal), (handle_begin_verification), (handle_begin_verification_for_user), (handle_answer_query), (handle_select_session), (handle_select_hostname), (handle_select_language), (handle_select_user), (do_introspect), (connection_filter_function), (handle_connection), (gdm_greeter_server_start), (gdm_greeter_server_stop): * daemon/gdm-greeter-session.c: (listify_hash), (open_greeter_session), (greeter_session_child_watch), (spawn_child_setup), (start_dbus_daemon), (gdm_greeter_session_spawn), (gdm_greeter_session_start), (wait_on_child), (greeter_session_died), (gdm_greeter_session_stop): * daemon/gdm-local-display-factory.c: (create_display_for_device), (create_displays_for_pci_devices): * daemon/gdm-manager.c: (gdm_manager_start), (gdm_manager_set_wait_for_go), (remove_displays_for_connection), (bus_name_owner_changed): * daemon/gdm-product-display.c: (gdm_product_display_get_relay_address): * daemon/gdm-product-slave.c: (on_session_opened), (on_session_started), (on_session_exited), (on_session_died), (gdm_product_slave_create_server), (on_session_user_verified), (on_session_user_verification_error), (on_session_info), (on_session_problem), (on_session_info_query), (on_session_secret_info_query), (on_relay_begin_verification), (on_relay_begin_verification_for_user), (on_relay_answer), (on_relay_session_selected), (on_relay_language_selected), (on_relay_user_selected), (create_new_session), (on_relay_cancelled), (session_relay_proxy_destroyed), (get_relay_address), (connect_to_session_relay), (gdm_product_slave_stop): * daemon/gdm-server.c: (_gdm_server_query_ck_for_display_device), (emit_ready_idle), (connect_to_parent), (change_user), (server_child_setup), (server_child_watch), (gdm_server_spawn), (wait_on_child), (server_died), (gdm_server_stop): * daemon/gdm-session-direct.c: (send_dbus_string_signal), (gdm_session_direct_handle_verified), (gdm_session_direct_handle_verification_failed), (gdm_session_direct_handle_username_changed), (cancel_pending_query), (gdm_session_direct_handle_info_query), (gdm_session_direct_handle_secret_info_query), (gdm_session_direct_handle_info), (gdm_session_direct_handle_problem), (gdm_session_direct_handle_session_started), (gdm_session_direct_handle_startup_failed), (gdm_session_direct_handle_session_exited), (gdm_session_direct_handle_session_died), (do_introspect), (session_message_handler), (allow_user_function), (handle_connection), (setup_server), (worker_stopped), (worker_started), (worker_exited), (worker_died), (gdm_session_direct_open), (send_begin_verification), (send_begin_verification_for_user), (send_environment_variable), (get_session_command_for_file), (gdm_session_direct_close), (_gdm_session_direct_set_display_device), (gdm_session_direct_dispose): * daemon/gdm-session-relay.c: (send_dbus_message), (send_dbus_string_signal), (send_dbus_void_signal), (gdm_session_relay_begin_verification), (gdm_session_relay_begin_verification_for_user), (gdm_session_relay_answer_query), (handle_info_query), (handle_secret_info_query), (handle_info), (handle_problem), (handle_user_verified), (handle_user_verification_error), (handle_session_started), (handle_session_stopped), (handle_opened), (handle_reset), (do_introspect), (session_relay_message_handler), (connection_filter_function), (handle_connection), (gdm_session_relay_start), (gdm_session_relay_stop): * daemon/gdm-session-worker-job.c: (session_worker_job_child_watch), (gdm_session_worker_job_spawn), (gdm_session_worker_job_start), (wait_on_child), (session_worker_job_died), (gdm_session_worker_job_stop): * daemon/gdm-session-worker.c: (send_dbus_string_method), (send_dbus_int_method), (send_user_verified), (gdm_session_worker_get_username), (gdm_session_worker_update_username), (send_question_method), (gdm_session_worker_process_pam_message), (gdm_session_worker_pam_new_messages_handler), (gdm_session_worker_uninitialize_pam), (gdm_session_worker_initialize_pam), (gdm_session_worker_authenticate_user), (gdm_session_worker_authorize_user), (gdm_session_worker_verify_user), (session_worker_child_watch), (gdm_session_worker_open_user_session), (gdm_session_worker_open), (on_set_environment_variable), (on_start_program), (open_idle), (on_begin_verification), (on_begin_verification_for_user), (worker_dbus_filter_function), (gdm_session_worker_constructor): * daemon/gdm-simple-slave.c: (on_session_started), (on_session_exited), (on_session_died), (on_session_info), (on_session_problem), (on_session_info_query), (on_session_secret_info_query), (on_session_opened), (on_session_selected_user_changed), (create_new_session), (on_greeter_start), (on_greeter_stop), (on_greeter_begin_verification), (on_greeter_begin_verification_for_user), (on_greeter_user_selected), (on_greeter_cancel), (on_greeter_connected), (run_greeter), (gdm_simple_slave_run), (gdm_simple_slave_stop): * daemon/gdm-slave-proxy.c: (child_watch), (spawn_slave), (gdm_slave_proxy_stop), (gdm_slave_proxy_dispose): * daemon/gdm-slave.c: (listify_hash), (gdm_slave_run_script), (set_local_auth), (gdm_slave_connect_to_x11_display), (display_proxy_destroyed_cb), (gdm_slave_real_start), (gdm_slave_real_stop), (gdm_slave_start), (gdm_slave_stop), (gdm_slave_constructor): * daemon/gdm-static-factory-display.c: (gdm_static_factory_display_create_product_display): * daemon/gdm-xdmcp-display-factory.c: (debug_addrinfo), (do_bind), (setup_multicast), (open_port), (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), (display_dispose_check), (gdm_xdmcp_send_decline), (gdm_xdmcp_display_alloc), (gdm_xdmcp_send_accept), (gdm_xdmcp_handle_request), (gdm_xdmcp_send_failed), (gdm_xdmcp_send_refuse), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward), (gdm_xdmcp_handle_got_managed_forward), (gdm_xdmcp_send_alive), (gdm_xdmcp_handle_keepalive), (decode_packet), (gdm_xdmcp_display_factory_start): * daemon/gdm-xdmcp-display.c: (gdm_xdmcp_display_create_authority), (gdm_xdmcp_display_add_user_authorization): Prefix debug messages with class name to make output easier to read. svn path=/trunk/; revision=5456
* Fix a bunch of compiler warnings. Add Werror for now to warning flags.William Jon McCann2007-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-10-15 William Jon McCann <mccann@jhu.edu> * common/gdm-md5.c: (gdm_md5_final): * common/gdm-settings-backend.c: * common/gdm-signal-handler.c: (gdm_signal_handler_init): * common/test-settings-client.c: (test_settings_client): * configure.ac: * daemon/gdm-factory-slave.c: * daemon/gdm-greeter-session.c: (gdm_greeter_session_spawn): * daemon/gdm-local-display-factory.c: * daemon/gdm-manager.c: * daemon/gdm-product-slave.c: * daemon/gdm-session-relay.c: (session_handle_child_message): * daemon/gdm-session.c: (handle_connection): * daemon/gdm-simple-slave.c: * daemon/gdm-xdmcp-display-factory.c: * daemon/main.c: (main): * daemon/session-worker-main.c: (main): * gui/simple-chooser/gdm-host-chooser-dialog.c: (on_response): * gui/simple-chooser/gdm-host-chooser-widget.c: * gui/simple-greeter/gdm-language-chooser-widget.c: (languages_parse_start_tag), (territories_parse_start_tag): * gui/simple-greeter/gdm-simple-greeter.c: * gui/simple-greeter/gdm-user-chooser-widget.c: (gdm_user_chooser_widget_init): * gui/simple-greeter/greeter-main.c: (activate_power_manager): * gui/simple-greeter/test-user-manager.c: (main): Fix a bunch of compiler warnings. Add Werror for now to warning flags. svn path=/trunk/; revision=5371
* Mass change tabs to spaces. Tabs suck.William Jon McCann2007-08-281-184/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-08-28 William Jon McCann <mccann@jhu.edu> * common/gdm-address.c: * common/gdm-address.h: * common/gdm-common.c: * common/gdm-common.h: * common/gdm-log.c: * common/gdm-log.h: * common/gdm-md5.c: * common/gdm-md5.h: * common/gdm-settings-backend.c: * common/gdm-settings-backend.h: * common/gdm-settings-client.c: * common/gdm-settings-client.h: * common/gdm-settings-desktop-backend.c: * common/gdm-settings-desktop-backend.h: * common/gdm-settings-direct.c: * common/gdm-settings-direct.h: * common/gdm-settings-keys.h: * common/gdm-settings-utils.c: * common/gdm-settings-utils.h: * common/gdm-settings.c: * common/gdm-settings.h: * common/gdm-signal-handler.c: * common/gdm-signal-handler.h: * common/ve-signal.c: * common/ve-signal.h: * daemon/auth.c: * daemon/choose.c: * daemon/choose.h: * daemon/factory-slave-main.c: * daemon/filecheck.c: * daemon/gdm-display-factory.c: * daemon/gdm-display-factory.h: * daemon/gdm-display-store.c: * daemon/gdm-display-store.h: * daemon/gdm-display.c: * daemon/gdm-display.h: * daemon/gdm-factory-slave.c: * daemon/gdm-factory-slave.h: * daemon/gdm-greeter-proxy.c: * daemon/gdm-greeter-proxy.h: * daemon/gdm-greeter-server.c: * daemon/gdm-greeter-server.h: * daemon/gdm-local-display-factory.c: * daemon/gdm-local-display-factory.h: * daemon/gdm-manager.c: * daemon/gdm-manager.h: * daemon/gdm-product-display.c: * daemon/gdm-product-display.h: * daemon/gdm-product-slave.c: * daemon/gdm-product-slave.h: * daemon/gdm-server.c: * daemon/gdm-server.h: * daemon/gdm-session-relay.c: * daemon/gdm-session-relay.h: * daemon/gdm-session-worker-job.c: * daemon/gdm-session-worker-job.h: * daemon/gdm-session-worker.c: * daemon/gdm-session-worker.h: * daemon/gdm-session.c: * daemon/gdm-session.h: * daemon/gdm-simple-slave.c: * daemon/gdm-simple-slave.h: * daemon/gdm-slave-proxy.c: * daemon/gdm-slave-proxy.h: * daemon/gdm-slave.c: * daemon/gdm-slave.h: * daemon/gdm-static-display.c: * daemon/gdm-static-display.h: * daemon/gdm-static-factory-display.c: * daemon/gdm-static-factory-display.h: * daemon/gdm-xdmcp-display-factory.c: * daemon/gdm-xdmcp-display-factory.h: * daemon/gdm-xdmcp-display.c: * daemon/gdm-xdmcp-display.h: * daemon/main.c: * daemon/product-slave-main.c: * daemon/session-worker-main.c: * daemon/simple-slave-main.c: * daemon/test-hal-seats.c: * daemon/test-session.c: * gui/simple-greeter/gdm-simple-greeter.c: * gui/simple-greeter/gdm-simple-greeter.h: * gui/simple-greeter/greeter-main.c: * libgreeter/gdm-greeter.c: * libgreeter/gdm-greeter.h: * libgreeter/gdmlanguages.c: * libgreeter/gdmsession.c: Mass change tabs to spaces. Tabs suck. svn path=/branches/mccann-gobject/; revision=5196
* Fix up inheritance.William Jon McCann2007-08-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2007-08-03 William Jon McCann <mccann@jhu.edu> * daemon/gdm-display-factory.c: (gdm_display_factory_start), (gdm_display_factory_stop): * daemon/gdm-display-factory.h: * daemon/gdm-local-display-factory.c: (gdm_local_display_factory_start), (gdm_local_display_factory_stop), (gdm_local_display_factory_class_init): * daemon/gdm-local-display-factory.h: * daemon/gdm-manager.c: (gdm_manager_start), (gdm_manager_set_wait_for_go): * daemon/gdm-xdmcp-display-factory.c: (gdm_xdmcp_display_factory_start), (gdm_xdmcp_display_factory_stop), (gdm_xdmcp_display_factory_class_init): * daemon/gdm-xdmcp-display-factory.h: Fix up inheritance. svn path=/branches/mccann-gobject/; revision=5133
* Add an abstract base class for display factories. Rename gdm-xdmcp-managerWilliam Jon McCann2007-08-031-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-08-03 William Jon McCann <mccann@jhu.edu> * daemon/Makefile.am: * daemon/gdm-display-factory.c: (gdm_display_factory_error_quark), (gdm_display_factory_get_display_store), (gdm_display_factory_start), (gdm_display_factory_stop), (gdm_display_factory_set_display_store), (gdm_display_factory_set_property), (gdm_display_factory_get_property), (gdm_display_factory_class_init), (gdm_display_factory_init), (gdm_display_factory_finalize): * daemon/gdm-display-factory.h: * daemon/gdm-local-display-factory.c: (create_display_for_device), (create_displays_for_pci_devices), (gdm_local_display_factory_start), (gdm_local_display_factory_set_property), (gdm_local_display_factory_get_property), (gdm_local_display_factory_class_init): * daemon/gdm-local-display-factory.h: * daemon/gdm-manager.c: (gdm_manager_start), (gdm_manager_set_wait_for_go), (gdm_manager_constructor), (gdm_manager_finalize): * daemon/gdm-xdmcp-display-factory.c: (gdm_xdmcp_display_factory_error_quark), (get_next_session_serial), (setup_multicast), (open_port), (gdm_xdmcp_num_displays_from_host), (gdm_xdmcp_display_lookup_by_host), (get_willing_output), (gdm_xdmcp_send_willing), (gdm_xdmcp_send_unwilling), (gdm_xdmcp_send_forward_query), (handle_any_query), (handle_direct_query), (gdm_xdmcp_handle_broadcast_query), (gdm_xdmcp_handle_query), (gdm_xdmcp_handle_indirect_query), (gdm_forward_query_dispose), (remove_oldest_forward), (gdm_forward_query_alloc), (gdm_forward_query_lookup), (gdm_xdmcp_whack_queued_managed_forwards), (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_really_send_managed_forward), (managed_forward_handler), (gdm_xdmcp_send_managed_forward), (gdm_xdmcp_send_got_managed_forward), (count_sessions), (gdm_xdmcp_recount_sessions), (purge_displays), (gdm_xdmcp_displays_purge), (display_dispose_check), (gdm_xdmcp_send_decline), (gdm_xdmcp_display_alloc), (gdm_xdmcp_send_accept), (gdm_xdmcp_handle_request), (gdm_xdmcp_display_lookup), (gdm_xdmcp_send_failed), (gdm_xdmcp_send_refuse), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward), (gdm_xdmcp_handle_got_managed_forward), (gdm_xdmcp_send_alive), (gdm_xdmcp_handle_keepalive), (decode_packet), (gdm_xdmcp_display_factory_start), (gdm_xdmcp_display_factory_stop), (gdm_xdmcp_display_factory_set_port), (gdm_xdmcp_display_factory_set_use_multicast), (gdm_xdmcp_display_factory_set_multicast_address), (gdm_xdmcp_display_factory_set_honor_indirect), (gdm_xdmcp_display_factory_set_max_displays_per_host), (gdm_xdmcp_display_factory_set_max_displays), (gdm_xdmcp_display_factory_set_max_pending_displays), (gdm_xdmcp_display_factory_set_max_wait), (gdm_xdmcp_display_factory_set_willing_script), (gdm_xdmcp_display_factory_set_property), (gdm_xdmcp_display_factory_get_property), (gdm_xdmcp_display_factory_class_init), (gdm_xdmcp_display_factory_init), (gdm_xdmcp_display_factory_finalize), (gdm_xdmcp_display_factory_new): * daemon/gdm-xdmcp-display-factory.h: * daemon/gdm-xdmcp-manager.c: * daemon/gdm-xdmcp-manager.h: Add an abstract base class for display factories. Rename gdm-xdmcp-manager to gdm-xdmcp-display-factory. svn path=/branches/mccann-gobject/; revision=5132
* Add new object that will monitor HAL and act as a factory for displays.William Jon McCann2007-08-021-95/+16
| | | | | | | | | | | | | | | | | | | | | | | | | 2007-08-02 William Jon McCann <mccann@jhu.edu> * daemon/Makefile.am: * daemon/gdm-local-display-factory.c: (gdm_local_display_factory_error_quark), (get_pci_seat_devices), (gdm_local_display_factory_start), (gdm_local_display_factory_stop), (gdm_local_display_factory_set_display_store), (gdm_local_display_factory_set_property), (gdm_local_display_factory_get_property), (gdm_local_display_factory_class_init), (connect_to_hal), (disconnect_from_hal), (gdm_local_display_factory_init), (gdm_local_display_factory_finalize), (gdm_local_display_factory_new): * daemon/gdm-local-display-factory.h: * daemon/gdm-manager.c: (gdm_manager_start), (gdm_manager_set_wait_for_go), (gdm_manager_constructor): Add new object that will monitor HAL and act as a factory for displays. svn path=/branches/mccann-gobject/; revision=5125
* Dogfood static display. Make static display work. Add a finished state toWilliam Jon McCann2007-07-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-24 William Jon McCann <mccann@jhu.edu> * daemon/gdm-display.c: (finish_idle), (queue_finish), (slave_exited), (slave_died), (gdm_display_manage), (gdm_display_real_finish), (gdm_display_finish), (gdm_display_dispose), (gdm_display_class_init): * daemon/gdm-display.h: * daemon/gdm-manager.c: (load_static_displays_from_file): * daemon/gdm-product-display.c: (gdm_product_display_finish), (gdm_product_display_class_init): * daemon/gdm-simple-slave.c: (on_session_exited), (on_session_died), (on_opened), (create_new_session), (on_greeter_start), (on_greeter_stop), (on_greeter_user_selected), (on_greeter_cancel), (on_greeter_connected), (run_greeter), (gdm_simple_slave_finalize): * daemon/gdm-slave-proxy.c: (child_watch), (gdm_slave_proxy_dispose), (gdm_slave_proxy_class_init): * daemon/gdm-static-display.c: (gdm_static_display_finish), (gdm_static_display_class_init): * daemon/gdm-static-factory-display.c: (gdm_static_factory_display_finish), (gdm_static_factory_display_class_init): Dogfood static display. Make static display work. Add a finished state to the Display. Always restart static displays on finish. svn path=/branches/mccann-gobject/; revision=5085
* Split the greeter proxy into a client and server part. Create new display ↵William Jon McCann2007-06-151-2/+4
| | | | | | subclasses for factory and product. Also create new slave subclasses and executables for the same. svn path=/branches/mccann-gobject/; revision=4993
* Fix up a few thingsWilliam Jon McCann2007-06-011-0/+15
| | | | svn path=/branches/mccann-gobject/; revision=4948
* migrate gui to new config framework with a chainsawWilliam Jon McCann2007-06-011-4/+24
| | | | svn path=/branches/mccann-gobject/; revision=4947
* Land the first shot at the new settings frameworkWilliam Jon McCann2007-05-311-22/+66
| | | | svn path=/branches/mccann-gobject/; revision=4946
* Add new md5 code to common. Replace cookie generation code.William Jon McCann2007-05-161-5/+8
| | | | | | | 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 some basic signal handling. Make sure we clean up child processes.William Jon McCann2007-05-141-0/+32
| | | | svn path=/branches/mccann-gobject/; revision=4931
* Add x11-display property to display. MoveWilliam Jon McCann2007-05-111-2/+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/+433
svn path=/branches/mccann-gobject/; revision=4911