| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the moment the session worker exits as soon as it gets SIGTERM.
That means it may fail to stop the user session (which only happens
in the orderly shutdown path).
This commit sets up a SIGTERM handler that integrates with and
quits the main loop after the session is started.
It still retains the _exit-on-SIGTERM behavior before the session
is started, to ensure a stuck pam module doesn't prevent the
process from dying.
Some small changes to commit by Ray Strode.
Closes #400
|
|
|
|
|
|
|
|
|
| |
Use EXIT_ defines for readibility.
There were some exit codes > 1, but they don't seem to be checked by any of the
parent process code. This does mean that the logs might have changed, but
modern logging techniques have probably made this obsolete.
https://bugzilla.gnome.org/show_bug.cgi?id=788307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The gdm session worker sets up main loop dispatched signal
handlers for SIGINT and SIGTERM. These handlers won't run
if the pam module is blocking, since the main loop isn't
iterating.
This commit drops the SIGINT handler, and changes the SIGTERM
handler to exit with a successful exit code, which gives us
the same effective behavior as before but will work even
if the pam module is blocked.
Small changes by Ray Strode
https://bugzilla.gnome.org/show_bug.cgi?id=755291
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm open to negotiation for this, but basically...gdm is at
present second only to the kernel in the sheer amount of spew
it emits - when the version is "unstable". But it always will
be for Continuous.
Nowadays of course, I think Continuous helps act as a testing system
for GDM that obviates a lot of the need for lots of debugging info for
gdm during "unstable" cycles.
I suspect that we will over time add other informational messages at
strategic points by default; this patch is not the end of the story.
It's a new beginning.
https://bugzilla.gnome.org/show_bug.cgi?id=715037
|
|
|
|
|
|
|
|
|
|
|
| |
The level of copy/paste going on here before is rather astonishing.
For example, in some cases, I dropped spurious handling of SIGHUP,
when the code didn't have any settings to reread.
Anyways, the code is now clearer, and we get to drop all the bits of
gdm-signal-handler.[ch] for the integrated GLib handling.
https://bugzilla.gnome.org/show_bug.cgi?id=676181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modern operating systems have "crash catching" functionality; for
example, systemd comes with "systemd-coredump" which collects cores
automatically.
Attempting to handle these kinds of fatal signals internally is now
much worse, because the original source of the problem will be masked.
systemd won't collect a core file that would include a backtrace, for
example.
Also, with these removed, we can move forward porting to
g_unix_signal_add().
https://bugzilla.gnome.org/show_bug.cgi?id=676181
|
|
|
|
|
|
| |
Both are deprecated and no longer necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=689569
|
|
|
|
| |
Fix bug 683383.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, the session worker and session communicated by a series of signals
and methods... but backwards. The session worker would listen for a series
of signals sent out by the session, and respond back by calling methods on
it. This requires a lot of annoying, silly manual labor when trying to add
another method to the API.
So, reverse the API so that the worker manager calls async methods on the
worker itself.
https://bugzilla.gnome.org/show_bug.cgi?id=678057
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
| |
The gdm-session-worker is a process used for managing interaction
with PAM. PAM modules can do weird things to the process they run
in, so GDM segregrates all PAM conversations in their own independent
"worker" subprocesses.
This commit moves gdm-session-worker away from using dbus-glib
to using gdbus instead.
https://bugzilla.gnome.org/show_bug.cgi?id=622888
|
|
|
|
|
|
| |
If the slave tells us to go away, we should go away,
not wait a PAM module decides to let us get back to the
main loop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The gdm.schemas file is not configurable. It has nothing to do in /etc.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=515855
|
|
|
|
| |
debug/Enable key in the custom.conf file. See bug #596831.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-30 William Jon McCann <mccann@jhu.edu>
* daemon/gdm-session-direct.c: (stop_worker),
(gdm_session_direct_close):
Make a stop_worker function for symmetry.
* daemon/session-worker-main.c: (main):
Add gdm_set_fatal_warnings_if_unstable
svn path=/trunk/; revision=5455
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-27 William Jon McCann <mccann@jhu.edu>
* daemon/gdm-session-worker.c: (send_dbus_string_method),
(send_dbus_int_method), (send_user_verified),
(send_startup_failed), (send_session_exited), (send_session_died),
(send_username_changed), (send_user_verification_error),
(send_session_started), (send_question_method),
(gdm_session_worker_ask_question),
(gdm_session_worker_ask_for_secret),
(gdm_session_worker_report_info),
(gdm_session_worker_report_problem),
(gdm_session_worker_process_pam_message),
(gdm_session_worker_pam_new_messages_handler),
(on_set_environment_variable), (on_start_program),
(on_begin_verification), (on_begin_verification_for_user),
(worker_dbus_handle_message), (worker_dbus_filter_function),
(gdm_session_worker_constructor):
* daemon/gdm-session.c: (cancel_pending_query),
(handle_connection), (gdm_session_close):
* daemon/session-worker-main.c: (signal_cb):
Make the authentication cancellation much more robust.
Remove dbus-glib from session-worker. Fix some problems
with message handling in the session server.
svn path=/trunk/; revision=5430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-08-21 William Jon McCann <mccann@jhu.edu>
* acconfig.h:
* acinclude.m4:
* common/gdm-address.c:
* configure.ac:
* daemon/Makefile.am:
* daemon/factory-slave-main.c:
* daemon/gdm-server.c: (server_child_setup):
* daemon/main.c: (main):
* daemon/product-slave-main.c:
* daemon/session-worker-main.c:
* daemon/simple-slave-main.c:
* daemon/test-session.c: (on_secret_info_query):
Some Solaris build fixes.
Patch from Brian Cameron <brian.cameron@sun.com>
svn path=/branches/mccann-gobject/; revision=5174
|
|
svn path=/branches/mccann-gobject/; revision=5009
|