summaryrefslogtreecommitdiff
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* common: fix child reap codeRay Strode2012-07-131-1/+5
|
* daemon: reload config on SIGHUPBrian Cameron2012-06-251-1/+5
|
* daemon: don't every SIGKILL childrenRay Strode2011-12-222-11/+10
| | | | | | | | | | | There's no situation where it's the right thing to do. The children of the daemon are responsible for themselves. If they don't go away when asked we shouldn't second guess them, we just need to ignore them. This means we may end up with zombie children if those children have bugs, but it's better than prematurely killing them if they're slow.
* daemon: fix gdm_settings_direct_get_stringRay Strode2011-07-131-1/+1
| | | | | | | It was failing when pulling from defaults before. This fixes XDMCP for people who don't manually set the string options.
* common: don't tank on criticalsRay Strode2011-06-282-10/+0
| | | | | | | | | | | | | | Tiny (or not so tiny) bugs in components below GDM in the stack can lead to critical warnings. In development releases, GDM by default will crash when encountering a critical warning. Losing the login screen is a big deal. We shouldn't automatically subject our users to "can't log in" in order to highlight bugs in development releases. This commit removes fatal criticals by default.
* common: drop gdm-marshal.listRay Strode2011-06-131-1/+0
| | | | Forgot to prune it in previous commit.
* common: drop custom marshaller gooRay Strode2011-06-135-29/+2
| | | | | | We live in a modern society where phones look like something from Inspector Gadget and signal marshalling is no longer something to waste goo credits on.
* greeter: Add a login extension mechanism to greeterRay Strode2011-06-131-0/+1
| | | | | | | | | | | | | | This allows extensions to drive which PAM conversations get run and potentially augment the login window UI. This commit adds one builtin extension that does the traditional unified authentication thing, and a plugin for password-only based authentication. By default we use the builtin extension, but enable the plugin with --enable-split-authentication Subsequent commits will add support for fingerprint and smartcard plugins.
* daemon: kill stuck processes if they don't die on termRay Strode2011-05-192-3/+47
| | | | | | | Some PAM modules are really slow to shut down. We need to handle them being slow to shut down better, (by not blocking login on them shutting down etc), but in the mean time force them to die immediately.
* Strip ::ffff: in front of IPv4 addressesJosselin Mouette2010-12-171-2/+10
| | | | This fixes XDMCP using IPv4 on IPv6-enabled networks.
* Put the schemas in /usrJosselin Mouette2010-09-151-1/+1
| | | | The gdm.schemas file is not configurable. It has nothing to do in /etc.
* Wrap getpw* calls to retry in EINTRWilliam Jon McCann2010-08-172-0/+22
| | | | | | 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.
* Don't cast sockaddr_storage to sockaddrRay Strode2010-06-171-1/+1
| | | | Apparently it causes aliasing warnings on some machines.
* Fix buildWilliam Jon McCann2010-06-161-9/+16
| | | | Fix breakage from f8da7fc999ba46431ffbb5b562f9b35c88a0fd2d
* Allow non-source-dir buildTheppitak Karoonboonyanan2010-06-161-2/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=570174
* Fix gdm_address_debugRay Strode2010-06-161-20/+7
| | | | | | It was always printing NULL before. Spotted by mariodebian <mariodebian@gmail.com>
* If the user's .dmrc file specifies the "custom" session, then accept itBrian Cameron2010-06-091-0/+2
| | | | | | even if there is no corresponding desktop file since it has special meaning to the /etc/gdm/Xsession script for launching $HOME/.xsession. Fixes bug 619129.
* Fix bug #591937 so code compiles on FreeBSD.Brian Cameron2010-05-241-2/+2
|
* Enable FD_CLOEXEC for signal self-pipe. Fix bug #617661.Brian Bloniarz2010-05-191-0/+2
|
* Mark _gdm_address_debug staticRay Strode2010-01-131-1/+1
|
* Remove spurious null check in print statementRay Strode2010-01-131-1/+1
|
* Fix up XDMCP for SolarisBrian Cameron2010-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After doing further testing, I notice that XDMCP still does not work on Solaris. This commit fixes: - In gdm-address.c, there was a problem where a failure in gdm_address_get_hostname could cause an infinite loop since it would call gdm_address_debug, which would then call gdm_address_get_hostname again. I fixed this by making gdm_address_debug call a private _gdm_address_debug function and gdm_address_get_hostname calls _gdm_adress_debug rather than gdm_address_debug. - Two calls in gdm-address.c were using "sizeof (struct sockaddr_storage)" and changing this to "(int) gdm_sockaddr_len (address->ss)" works better. This is the same issue as fixed in the previous patch. I just missed these spots before. - In daemon/gdm-xdmcp-display-factory.c in the on_hostname_selected() function it is necessary to set hints.ai_socktype to "SOCK_DGRAM" or else I would get this error: WARNING: Unable get address: service name not available for the specified socket type - In daemon/gdm-xdmcp-display-factory.c in the decode_packet() function and in gui/simple-chooser/gdm-host-chooser-widget.c it is necessary to set ss_len to "gdm_sockaddr_len (&clnt_ss)" instead of "sizeof (clnt_ss)". - In gui/simple-chooser/gdm-host-chooser-widget.c in find_broacast_address it is also necessary to check for "(errno != ENXIO)". See https://bugzilla.gnome.org/show_bug.cgi?id=494817
* Don't try to print NULL valuesBrian Cameron2010-01-131-60/+77
| | | | | | This causes crashes on Solaris. See https://bugzilla.gnome.org/show_bug.cgi?id=494817
* Make --with-custom-conf workLuca Bruno2009-12-211-1/+1
| | | | custom.conf was hard-coded in one place before.
* Add Include/Exclude/IncludeAll configuration options to GDM. Fixes bugBrian Cameron2009-11-161-0/+4
|
* Fix GDM debugging so that it works. Now debugging is enabled via theBrian Cameron2009-11-091-0/+2
| | | | debug/Enable key in the custom.conf file. See bug #596831.
* Port fix for bug #494817 to the new GDM rewrite. This fixes the code soBrian Cameron2009-10-281-0/+1
| | | | | | | that the length of the sockaddr is set to the correct length for IPv4 or IPv6. This problem affects Solaris and FreeBSD. Linux only require that the length be greater or equal to the expected length, so you would not see this problem on Linux.
* Fix clang complaintsMatthias Clasen2009-10-101-2/+5
| | | | See bug 597975.
* Only call backtrace() if execinfo.h existsDaniel Macks2009-07-161-2/+6
| | | | | | This fixes a build problem on OSX. See http://bugzilla.gnome.org/show_bug.cgi?id=568491
* Allow uppercase or lowercase booleans in config fileRay Strode2009-07-151-2/+2
| | | | Noticed while reviewing bug 577382
* Fix assorted compiler warnings.Ray Strode2009-03-272-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Enable XDMCP configuration so it works. Previously only xdmcp/Enable wasBrian Cameron2009-02-173-4/+23
| | | | | | | | | | | | | | | | | 2009-02-17 Brian Cameron <brian.cameron@sun.com> * common/gdm-settings-direct.[ch], common/gdm-settings-keys.h, daemon/gdm-simple-slave.c, daemon/gdm-xdmcp-chooser-slave.c, daemon/gdm-xdmcp-display-factory.c, data/gdm.schemas.in.in, docs/C/gdm.xml: Enable XDMCP configuration so it works. Previously only xdmcp/Enable was being used in the code. Also add support for chooser/Multicast and chooser/MulticastAddr configuration options. Now set the default values of MAX_DISPLAY_PER_HOST to 1 and MAX_WAIT to 30 as specified in the docs. Add a gdm_settings_direct_get_uint function to get unsigned integer configuration values more cleanly without the need to cast. Fixes bug #569876. svn path=/trunk/; revision=6715
* Fix anotherWilliam Jon McCann2008-12-031-0/+2
| | | | | | | | | | | 2008-12-03 William Jon McCann <jmccann@redhat.com> * common/Makefile.am: Fix another svn path=/trunk/; revision=6617
* Fix some build system warningsWilliam Jon McCann2008-12-031-1/+1
| | | | | | | | | | | | | | | | | 2008-12-02 William Jon McCann <jmccann@redhat.com> * NEWS: * common/Makefile.am: * configure.ac: * daemon/Makefile.am: * gui/simple-chooser/Makefile.am: * gui/simple-greeter/Makefile.am: * gui/user-switch-applet/Makefile.am: * utils/Makefile.am: Fix some build system warnings svn path=/trunk/; revision=6616
* Translate help output. Patch from: Gabor Kelemen <kelemeng@gnome.hu>William Jon McCann2008-12-031-1/+1
| | | | | | | | | | | | | 2008-12-02 William Jon McCann <jmccann@redhat.com> * common/Makefile.am: * utils/gdm-screenshot.c (main): * utils/gdmflexiserver.c (main): Translate help output. Patch from: Gabor Kelemen <kelemeng@gnome.hu> svn path=/trunk/; revision=6613
* Make old AutomaticLogin key initiate a timed login of 0 seconds forRay Strode2008-09-031-0/+2
| | | | | | | | | | | | | 2008-09-03 Ray Strode <rstrode@redhat.com> * common/gdm-settings-keys.h: * daemon/gdm-simple-slave.c (get_timed_login_details): * data/gdm.schemas.in.in: Make old AutomaticLogin key initiate a timed login of 0 seconds for backward compatibility. svn path=/trunk/; revision=6458
* Use a callback for the fatal handler instead of supplying the main_loop.William Jon McCann2008-08-152-14/+18
| | | | | | | | | | | | | | | | | | | | | 2008-08-15 William Jon McCann <jmccann@redhat.com> * common/gdm-signal-handler.c (signal_io_watch), (gdm_signal_handler_set_fatal_func): * common/gdm-signal-handler.h: * daemon/factory-slave-main.c (main): * daemon/gdm-session-direct.c (stop_worker): * daemon/gdm-session-worker-job.c (session_worker_job_child_watch): * daemon/main.c (main): * daemon/product-slave-main.c (main): * daemon/session-worker-main.c (main): * daemon/simple-slave-main.c (main): * daemon/xdmcp-chooser-slave-main.c (main): Use a callback for the fatal handler instead of supplying the main_loop. svn path=/trunk/; revision=6382
* Wow, that was really broken. Use mkdtemp when available to create aWilliam Jon McCann2008-07-315-0/+262
| | | | | | | | | | | | | | | | | | 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
* Fix some build warnings GCC 4.3.0 Patch from Cosimo CecchiWilliam Jon McCann2008-07-121-2/+2
| | | | | | | | | | | | | | | | | | | | 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
* By popular demand, add DisallowTCP back.Ray Strode2008-06-251-0/+2
| | | | | | | | | | | | | | | 2008-06-25 Ray Strode <rstrode@redhat.com> By popular demand, add DisallowTCP back. * common/gdm-settings-keys.h: * data/gdm.schemas.in.in: * data/gdm.conf-custom.in Add new setting security/DisallowTCP * daemon/gdm-simple-slave.c (gdm_simple_slave_run): If DisallowTCP is false, then don't pass -nolisten tcp to X svn path=/trunk/; revision=6275
* Don't unconditionally enable debugging.William Jon McCann2008-05-061-1/+4
| | | | | | | | | | | | | | | | | 2008-05-06 William Jon McCann <jmccann@redhat.com> * common/gdm-log.c (log_level_to_priority_and_prefix), (gdm_log_set_debug): * daemon/factory-slave-main.c (signal_cb), (is_debug_set), (main): * daemon/product-slave-main.c (signal_cb), (is_debug_set), (main): * daemon/session-worker-main.c (signal_cb), (is_debug_set), (main): * daemon/simple-slave-main.c (signal_cb), (is_debug_set), (main): * daemon/xdmcp-chooser-slave-main.c (signal_cb), (is_debug_set), (main): Don't unconditionally enable debugging. svn path=/trunk/; revision=6220
* new files to make animations easierRay Strode2008-04-031-0/+1
| | | | | | | | | | | | | | | 2008-04-03 Ray Strode <rstrode@redhat.com> * gui/simple-greeter/gdm-timer.[ch]: new files to make animations easier * gui/simple-greeter/gdm-chooser-widget.c (struct GdmChooserWidgetPrivate), (on_shrink_animation_tick), (on_grow_animation_tick), (on_shrink_animation_stop), (on_grow_animation_stop), (start_shrink_animation), (gdm_chooser_widget_finalize): * common/gdm-marshal.list: Switch chooser over to use timer svn path=/trunk/; revision=6095
* Add a configure check for stropts.h since it has been removed from glibc.William Jon McCann2008-03-261-0/+2
| | | | | | | | | | | | 2008-03-26 William Jon McCann <jmccann@redhat.com> * common/gdm-address.c: * configure.ac: Add a configure check for stropts.h since it has been removed from glibc. svn path=/trunk/; revision=6075
* Fix NULL string issue in printf call.Brian Cameron2008-03-251-2/+12
| | | | | | | | 2008-03-24 Brian Cameron <brian.cameron@sun.com> * common/gdm-profile.c: Fix NULL string issue in printf call. svn path=/trunk/; revision=6057
* Add some more profiling stuff.William Jon McCann2008-03-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 2008-03-23 William Jon McCann <jmccann@redhat.com> * common/gdm-profile.h: * configure.ac: * gui/simple-greeter/gdm-greeter-client.c: (gdm_greeter_client_start): * gui/simple-greeter/gdm-greeter-session.c: (toggle_panel), (toggle_login_window), (launch_compiz), (launch_metacity), (start_window_manager), (activate_settings_daemon), (gdm_greeter_session_start): * gui/simple-greeter/gdm-session-manager.c: (_change_level), (gdm_session_manager_set_level): * gui/simple-greeter/greeter-main.c: (load_a11y), (main): Add some more profiling stuff. The greeter can now be profiled like so: strace -ttt -f -o /tmp/logfile.strace -p `/sbin/pidof gdm-binary` python plot-timeline.py -o prettygraph.png /tmp/logfile.strace See: http://www.gnome.org/~federico/news-2006-03.html#09 svn path=/trunk/; revision=6053
* Add a function to help with profiling.William Jon McCann2008-03-243-0/+120
| | | | | | | | | | | | 2008-03-23 William Jon McCann <jmccann@redhat.com> * common/Makefile.am: * common/gdm-profile.c: (_gdm_profile_log): * common/gdm-profile.h: Add a function to help with profiling. svn path=/trunk/; revision=6052
* Fix a few more mem and fd leaks.William Jon McCann2008-03-181-0/+3
| | | | | | | | | | | | | | | 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
* Move wait_on_child to common. Always check return value of gdm_signal_pid.William Jon McCann2008-03-174-12/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-03-17 William Jon McCann <jmccann@redhat.com> * common/gdm-common.c: (gdm_wait_on_pid), (gdm_signal_pid), (_read_bytes), (gdm_generate_random_bytes): * common/gdm-common.h: * common/gdm-settings-desktop-backend.c: (parse_key_string), (gdm_settings_desktop_backend_get_value), (gdm_settings_desktop_backend_finalize): * common/gdm-settings-utils.c: (gdm_settings_parse_schemas): * daemon/gdm-server.c: (server_died), (gdm_server_stop): * daemon/gdm-session-worker-job.c: (session_worker_job_died), (gdm_session_worker_job_stop): * daemon/gdm-slave-proxy.c: (child_watch), (kill_slave), (gdm_slave_proxy_stop), (gdm_slave_proxy_dispose), (gdm_slave_proxy_finalize): * daemon/gdm-welcome-session.c: (stop_dbus_daemon), (welcome_session_died), (gdm_welcome_session_stop): * daemon/main.c: (main): * gui/simple-greeter/gdm-remote-login-window.c: (xserver_died): * gui/simple-greeter/gdm-session-client.c: (client_died), (gdm_session_client_stop): Move wait_on_child to common. Always check return value of gdm_signal_pid. Fix a number of small leaks. Make sure to signal the slaves when exiting. svn path=/trunk/; revision=6036
* Don't glog in the signal handlers. Add a default SIGTRAP handler so we getWilliam Jon McCann2008-03-102-11/+24
| | | | | | | | | | | | | | | | 2008-03-10 William Jon McCann <jmccann@redhat.com> * common/gdm-signal-handler.c: (signal_io_watch), (crashlogger_get_backtrace), (gdm_signal_handler_backtrace), (signal_handler), (gdm_signal_handler_add_fatal): * common/gdm-signal-handler.h: * daemon/main.c: (signal_cb), (main): * gui/simple-greeter/greeter-main.c: (signal_cb), (main): Don't glog in the signal handlers. Add a default SIGTRAP handler so we get backtraces in unstable releases. svn path=/trunk/; revision=5991
* Log pid too. Only do perror if available.William Jon McCann2008-03-101-1/+7
| | | | | | | | | | 2008-03-10 William Jon McCann <jmccann@redhat.com> * common/gdm-crash-logger.c: (main): Log pid too. Only do perror if available. svn path=/trunk/; revision=5989