summaryrefslogtreecommitdiff
path: root/daemon/gdm-display-access-file.c
Commit message (Collapse)AuthorAgeFilesLines
* Trivial: Update FSF Address.Dominique Leuenberger2012-09-061-2/+2
| | | | Fix bug 683383.
* Wrap getpw* calls to retry in EINTRWilliam Jon McCann2010-08-171-1/+1
| | | | | | if getpwnam(username) returns NULL, errno needs to be checked for EINTR. This indicates that a signal was received while waiting for the blocking call to return, and getpwnam() should be retried.
* Use g_remove to remove the XAUTH_DIR instead of g_unlink, which is safer.Brian Cameron2010-05-191-1/+1
|
* Lock down /var/run/gdmRay Strode2009-11-051-7/+7
| | | | | We don't need it so open now that screenshots are written to their own directory, and having it open has implications for quota abuse.
* Fix assorted compiler warnings.Ray Strode2009-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-27 Ray Strode <rstrode@redhat.com> Fix assorted compiler warnings. * gui/simple-greeter/gdm-user-chooser-widget.c (add_user), (get_stock_person_pixbuf), (get_logged_in_pixbuf): Add some widget casts. * gui/simple-greeter/gdm-languages.c (make_codeset_canonical_for_locale): remove unused variable * gui/simple-greeter/gdm-layouts.c: Make the layout member of LayoutData const char *. * gui/simple-greeter/gdm-remote-login-window.c (xserver_died), (stop_xserver): drop unused functions * gui/simple-greeter/gdm-language-option-widget.c (gdm_language_option_widget_set_current_language): drop misplaced & * gui/simple-greeter/gdm-user.c (curved_rectangle): don't assume width == 0, height == 0 conditions will work reliably, instead check for < EPSILON * common/gdm-common.[hc] (gdm_make_temp_dir): Make the constness of the return value and inout argument reflect the way it's being called. * daemon/gdm-display-access-file.c (_create_xauth_file_for_user): Make dir_name const * daemon/gdm-display.c (gdm_display_real_manage): drop unused variables svn path=/trunk/; revision=6796
* Use gethostname() instead of g_get_host_name(), in xauth database sinceRay Strode2009-03-201-1/+6
| | | | | | | | | | | | 2009-03-19 Ray Strode <rstrode@redhat.com> * daemon/gdm-display-access-file.c (_get_auth_info_for_display): Use gethostname() instead of g_get_host_name(), in xauth database since the latter doesn't give up to date information when the hostname changes. svn path=/trunk/; revision=6791
* Remove empty auth subdirs which can creep in from system crashes.Ray Strode2009-03-191-0/+29
| | | | | | | | | | | | 2009-03-19 Ray Strode <rstrode@redhat.com> * daemon/gdm-display-access-file.c (_create_xauth_file_for_user), (_clean_up_stale_auth_subdirs): Remove empty auth subdirs which can creep in from system crashes. svn path=/trunk/; revision=6790
* A few more fixes to allow the gdm greeter username to be configured atWilliam Jon McCann2008-08-211-1/+1
| | | | | | | | | | | | | | | 2008-08-21 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-access-file.c (_create_xauth_file_for_user): * data/Makefile.am: * data/gdm.schemas.in.in: A few more fixes to allow the gdm greeter username to be configured at build time. Patch from Patryk Zawadzki <patrys@pld-linux.org> Fixes #504565 svn path=/trunk/; revision=6408
* Wow, that was really broken. Use mkdtemp when available to create aWilliam Jon McCann2008-07-311-100/+48
| | | | | | | | | | | | | | | | | | 2008-07-30 William Jon McCann <jmccann@redhat.com> * common/Makefile.am: * common/gdm-common.c (gdm_make_temp_dir): * common/gdm-common.h: * common/mkdtemp.c: * common/mkdtemp.h: * configure.ac: * daemon/gdm-display-access-file.c (_create_xauth_file_for_user), (gdm_display_access_file_close): Wow, that was really broken. Use mkdtemp when available to create a temporary directory. svn path=/trunk/; revision=6338
* Remove the X authorizations directory when we're done with it.William Jon McCann2008-07-301-5/+25
| | | | | | | | | | | 2008-07-30 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-access-file.c (gdm_display_access_file_close): Remove the X authorizations directory when we're done with it. svn path=/trunk/; revision=6337
* Use per session directories in /var/run/gdm to hold user's X11William Jon McCann2008-07-281-25/+146
| | | | | | | | | | | | | | 2008-07-28 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-access-file.c (create_temp_dir), (_create_xauth_file_for_user): Use per session directories in /var/run/gdm to hold user's X11 authorizations database. This allows us to avoid having a writable /var/run/gdm and still allows libXau locking to work. svn path=/trunk/; revision=6334
* Fix xauth dir permissions if it exists.William Jon McCann2008-07-211-2/+5
| | | | | | | | | | | | | | 2008-07-21 William Jon McCann <jmccann@redhat.com> * daemon/gdm-display-access-file.c (_create_xauth_file_for_user): Fix xauth dir permissions if it exists. * utils/Makefile.am: * utils/gdm-screenshot.c (screenshot_save), (prepare_screenshot): Write gdm screenshot output to /var/run/gdm instead of /tmp. svn path=/trunk/; revision=6314
* Fix some build warnings GCC 4.3.0 Patch from Cosimo CecchiWilliam Jon McCann2008-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | 2008-07-12 William Jon McCann <jmccann@redhat.com> * common/gdm-common.c (_read_bytes): * daemon/gdm-display-access-file.c (_create_xauth_file_for_user): * daemon/gdm-welcome-session.c (parse_dbus_launch_output): * gui/simple-chooser/gdm-chooser-client.c (gdm_chooser_client_start): * gui/simple-greeter/gdm-greeter-client.c (gdm_greeter_client_start): * gui/simple-greeter/gdm-languages.c (gdm_parse_language_name): * gui/simple-greeter/gdm-layout-chooser-widget.c: * gui/simple-greeter/gdm-user-manager.c (parse_ck_history_line): Fix some build warnings GCC 4.3.0 Patch from Cosimo Cecchi <cosimoc@gnome.org> svn path=/trunk/; revision=6297
* Update patch so it contains some improvements by Simon Zheng. Fixes bugBrian Cameron2008-05-271-3/+3
| | | | | | | | | 2008-05-23 Brian Cameron <brian.cameron@sun.com> * daemon/gdm-display-access-file.c: Update patch so it contains some improvements by Simon Zheng. Fixes bug #534605. svn path=/trunk/; revision=6252
* Create and set permissions to 1777 and owner root:gdm on /var/run/gdm ifBrian Cameron2008-05-241-0/+17
| | | | | | | | | 2008-05-23 Brian Cameron <brian.cameron@sun.com> * daemon/gdm-display-access-file.c: Create and set permissions to 1777 and owner root:gdm on /var/run/gdm if it does not exist. svn path=/trunk/; revision=6245
* configure.acRay Strode2008-04-081-6/+10
| | | | | | | | | | | | | 2008-04-08 Ray Strode <rstrode@redhat.com> * configure.ac * data/Makefile.am: * daemon/Makefile.am: * daemon/gdm-display-access-file.c (_create_xauth_file_for_user) Store X auth password in /var/run/gdm instead of /tmp svn path=/trunk/; revision=6137
* Fix a few more mem and fd leaks.William Jon McCann2008-03-181-1/+1
| | | | | | | | | | | | | | | 2008-03-17 William Jon McCann <jmccann@redhat.com> * common/gdm-signal-handler.c: (gdm_signal_handler_finalize): * daemon/gdm-display.c: (gdm_display_real_create_authority), (gdm_display_real_add_user_authorization), (gdm_display_constructor): * daemon/gdm-slave.c: (gdm_slave_finalize): * daemon/main.c: (main): Fix a few more mem and fd leaks. svn path=/trunk/; revision=6037
* Fix a bunch of compiler warnings and remove unused code. Patch from:William Jon McCann2008-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Ensure second and subsequent auth cookies are random. Spotted by GeorgeRay Strode2007-11-301-21/+10
| | | | | | | | | | | | | | | | | | | | | | 2007-11-30 Ray Strode <rstrode@redhat.com> Ensure second and subsequent auth cookies are random. Spotted by George Lebl. * common/gdm-common.[ch] (gdm_generate_random_bytes): open /dev/urandom and read size bytes from it. (_fd_is_character_device): check if fd points to char device (_read_bytes): the usual loop until all bytes are read helper function for read(). * daemon/gdm-display-access-file.c (generate_random_bytes): remove function (gdm_display_access_file_add_display): use gdm_generate_random_bytes instead of _generate_random_bytes svn path=/trunk/; revision=5534
* Add emacs mode lines, split lines.William Jon McCann2007-11-091-12/+20
| | | | | | | | | | | | | | | 2007-11-09 William Jon McCann <mccann@jhu.edu> * daemon/gdm-display-access-file.c: (gdm_display_access_file_class_init), (gdm_display_access_file_new), (gdm_display_access_file_add_display): * daemon/gdm-display-access-file.h: Add emacs mode lines, split lines. svn path=/trunk/; revision=5500
* With this patch we now invoke the X server with the -auth argument andWilliam Jon McCann2007-11-091-0/+506
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