1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 23:51:28 +03:00
Commit Graph

188 Commits

Author SHA1 Message Date
Lennart Poettering
954449b82d logind: when registering a new session always use previous session info from cgroup path rather than audit
Previously for cases like "su" or "sudo" where a session is attempted to
be created from within an existing one we used the audit session ID to
detect this and in such a case we simple returned the session data of
the original session a second time.

With this change we will now use the cgroup path of the calling path to
determine the old session, i.e. we only rely on our own session
identification scheme, instead of audits.

We will continue to keep the audit session ID and ours in sync however,
to avoid unnecessary confusion.
2013-03-05 03:35:52 +01:00
Mantas Mikulėnas
41330ddb03 inhibit: make the output more readable
The columnar output can become pretty horrible. When GNOME inhibits
power/suspend/hibernate keys, the "WHAT" column's text extends to "WHO"
and even "WHY". At the same time, all texts in "WHY" are of the form

    GNOME handlin...sses
    Receiving sle...ions
    GNOME needs t...reen

This patch splits each inhibit entry into four lines, allowing the full
text to fit in a normal-width terminal.
2013-03-01 19:22:30 +01:00
Michal Schmidt
b85bdddafb systemctl: make shutdown operations use irreversible jobs
Occasionally people report problem with reboot/poweroff operations hanging in
the middle. One known cause is when a new transaction to start a unit is
enqueued while the shutdown is going on. The start of the unit conflicts with
the shutdown jobs, so they get cancelled. The failure case can be quite unpleasant,
becase getty and sshd may already be stopped.

Fix it by using irreversible jobs for shutdown (reboot/poweroff/...) actions.
This applies to commands like "reboot", "telinit 6", "systemctl reboot". Should
someone desire to use reversible jobs, they can say "systemctl start reboot.target".`
2013-02-22 16:06:17 +01:00
Thomas Hindoe Paaboel Andersen
39ccc87c8a update TODO 2013-02-14 22:16:58 +01:00
Harald Hoyer
a5c32cff1f honor SELinux labels, when creating and writing config files
Also split out some fileio functions to fileio.c and provide a SELinux
aware pendant in fileio-label.c

see https://bugzilla.redhat.com/show_bug.cgi?id=881577
2013-02-14 16:19:38 +01:00
Lennart Poettering
092c4c437f Revert "log_error() if inotify_add_watch() fails"
This reverts commit 2826d14091.

We never should generate log messages from a library.
2013-02-13 16:25:33 +01:00
Harald Hoyer
2826d14091 log_error() if inotify_add_watch() fails
[zj: Reworded message s/to watch/to add watch on/ to make it clear
     that it was the watch init action that failed, and not the
     "process of watching". I think this way it'll be clearer to
     people who don't know what inotify does.]
2013-02-13 10:04:02 -05:00
Thomas Hindoe Paaboel Andersen
641906e936 use strneq instead of strncmp 2013-02-13 00:56:13 +01:00
Adel Gadllah
eb6d233862 logind: Allow active sessions to always shutdown by default
Currently local user are being asked for an admin  password when another
user is logged into the system. This does not make sense as the user has
the power to shut down the system anyway regardless if he/she knows the
password or not (by pulling the plug, battery or whatever).

So only require the admin authentification for remote sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=693385
2013-02-11 21:04:25 +01:00
Lennart Poettering
2d96536dd7 logind: rename "seat-master" tag to "master-of-seat"
We currently enforce that seats are to be named in the form of
"seatXXX", i.e. need to begin with the 4 characters "seat". Thus,
"seat-master" would qualify as a seat name. As seat names are frequently
used as tags on devices, the "seat-master" tag might hence confuse
logind if the user decides to name a seat "seat-master".

Hence, avoid any ambuigity: let's rename the "seat-master" tag to
"master-of-seat".
2013-02-09 01:25:55 +01:00
Zbigniew Jędrzejewski-Szmek
c485437f50 logind: add MESSAGE_IDs to interesting events 2013-01-27 23:47:18 -05:00
Lennart Poettering
314b4b0a68 logind: rework delay inhibition logic
- Don't allow any locks to be taken while we are in the process of
  executing the specific operation, so that apps are not surprised if a
  suspend/shutdown happens while they rely on their inhibitor.

- Get rid of the Resumed signal, it was a bad idea, and redundant due to
  PrepareForSleep(false), see below.

- Always send out PrepareFor{Shutdown,Sleep} signals, instead of only if
  a delay lock is taken.

- Move PrepareForSleep(false) after we come back from the suspend, so
  that apps can use this as "Resumed" notification. This also has the
  benefit that apps know when to take a new lock.
2013-01-25 06:30:23 +01:00
Lennart Poettering
5d1fb81b2c loginctl: don't show [UACCESS] info in device tree
As the tree doesn't really necessarily show all device node devices and
only those are marked for uaccess it's kinda pointless showing this at
all, since it would give a pretty incomplete impression of the uaccess
information.
2013-01-25 04:48:34 +01:00
Lennart Poettering
d239d84aa3 loginctl: show seat master and uaccess devices in seat-status output 2013-01-24 05:47:37 +01:00
Lennart Poettering
b61600291e logind: add UnlockSessions() clal to complement LockSessions() 2013-01-24 05:29:37 +01:00
Lennart Poettering
ee17c9281d logind: send Resumed() signal after we come back from suspend/hibernate/hybrid-sleep
This allows clients to get asynchronous notifications for user-requested
suspend/hibernate cycles. Kernel-triggered automatic suspending is not
covered.
2013-01-24 05:15:36 +01:00
Lennart Poettering
af9792ac7f logind: only allow one shutdown/sleep action to be queued at the same time
This should make sure that closing the lid while shutting down won't
suspend the machine but will simply cause the shutdown to complete.
2013-01-24 04:56:44 +01:00
Lukas Nykryn
9bdbc2e2ec systemctl,loginctl,cgls: do not ellipsize cgroup members when --full is specified
New file output.h with output flags and modes.

--full parameter also for cgls and loginctl.

Include 'all' parameter in flags (show_cgroup_by_path, show_cgroup,
show_cgroup_and_extra, show_cgroup_and_extra_by_spec).

get_process_cmdline with max_length == 0 will not ellipsize output.

Replace LINE_MAX with 0 in some calls of get_process_cmdline.

[zj: Default to --full when under pager for clgs.
     Drop '-f' since it wasn't documented and didn't actually work.
     Reindent a bit.
]
2013-01-16 12:11:47 -05:00
Michal Sekletar
0762eaa327 logind: remove unused variable 2013-01-15 20:50:33 +01:00
Lennart Poettering
c84f5e4a82 login: introduce sd_session_get_tty() 2013-01-15 03:01:35 +01:00
Lennart Poettering
1ca04b8797 logind: ignore non-tty/non-x11 session when checking if there are other sessions before shutting down
https://bugzilla.redhat.com/show_bug.cgi?id=890827
2013-01-14 21:41:41 +01:00
Oleg Samarin
955f9bde9b logind: Capability of making seats without framebuffer devices
file logind.c: The seat is now activated by any device with udev tag "seat-master"
file 71-seat.rules.in: All framebuffer devices have this tag
2013-01-07 15:43:14 +01:00
Lennart Poettering
bc2708414b build-sys: drop all distribution specfic checks
Yay, we now have a completely generic systemd. No distribution specific checks anymore!
2013-01-04 23:26:21 +01:00
Lennart Poettering
3960015566 polkit: add "imply" rules to a number of polkit actions 2012-12-31 21:24:26 +01:00
Matthew Monaco
485507b8c0 pam_systemd: new option for the session class 2012-12-24 19:17:48 +01:00
Lennart Poettering
dc3a1b76a6 logind: don't allow suspending/hibernating if the kernel doesn't support it 2012-12-24 00:29:40 +01:00
Lennart Poettering
23406ce58a logind: add support for automatic suspend/hibernate/shutdown on idle 2012-12-24 00:29:40 +01:00
Lennart Poettering
0ad1271f56 pam: properly handle SSH logins lacking the PAM tty field 2012-12-24 00:29:39 +01:00
Mantas Mikulėnas
b6262e80b9 logind: allow HybridSleep methods in default DBus context 2012-12-18 17:45:20 +01:00
Lennart Poettering
9185c8e626 time-util: also rename FORMAT_TIMESTAMP_PRETTY → _MAX 2012-11-23 22:51:55 +01:00
Lennart Poettering
bbb8486e17 util: rename format_timestamp_pretty() to format_timestamp_relative() because that describes much better what it does 2012-11-23 22:12:59 +01:00
Colin Walters
1a37b9b904 dbus-common: Add helper method to handle no-reply messages
[Tested in latest gnome-ostree; if accepted, I'll look at a followup
 patch which fixes the other dbus_connection_send(reply, ...) calls
 besides logind]

DBus messages can have a flag NO_REPLY associated that means "I don't
need a reply".  This is for efficiency reasons - for one-off requests
that can't return an error, etc.

However, it's up to users to manually check
dbus_message_get_no_reply() from a message.  libdbus will happily send
out a reply if you don't.

Unfortunately, doing so is not just less efficient - it also triggers
a security error, for complex reasons.  This is something that will
eventually be fixed in dbus, but it's also correct to handle it in
client applications.

This new helper API is slightly nicer in that you don't have to pass
NULL to say you don't want a reply serial for your reply.

This patch also tweaks logind to use the API - there are more areas of
the code that need this treatment too.
2012-11-20 19:12:19 +01:00
Michal Schmidt
45a5ff0de7 util: nicer tree drawings
Draw trees more similar to pstree/findmnt/lsblk/...
2012-11-12 22:27:48 +01:00
Dave Reisner
a9cdc94f7f enable localization for common *ctl commands 2012-11-12 14:16:07 -05:00
Michal Schmidt
c339d9775d util : fallback to plain ASCII drawing if locale is not UTF-8
When printing cgroup and sysfs hierarchies, avoid using UTF-8 box drawing
characters if the locale is not UTF-8.

https://bugzilla.redhat.com/show_bug.cgi?id=871153
2012-11-02 17:39:52 +01:00
Lennart Poettering
978cf3c75f logind: it's OK if a process on an pty requests a session for seat0
After all, if a sudo/su inside an X terminal should get added to the
same session as the X session itself.
2012-10-30 03:40:42 +01:00
Lennart Poettering
7ba6438631 logind: unify all session lock loop 2012-10-30 03:40:42 +01:00
Zbigniew Jędrzejewski-Szmek
92b3623304 login: trivial grammar fix 2012-10-28 22:43:11 +01:00
Lennart Poettering
7654b2c259 logind: add 'lock' as possible choice for handling hw keys 2012-10-28 12:29:27 +01:00
Lennart Poettering
6524990fdc logind: support for hybrid sleep (i.e. suspend+hibernate at the same time) 2012-10-28 00:50:35 +02:00
Lennart Poettering
8481248b9f util: unify usage of on_tty() in util.c 2012-10-19 00:07:55 +02:00
Lennart Poettering
c846716a5a loginctl: show pager also for status command 2012-10-17 21:25:42 +02:00
Lennart Poettering
6d0274f115 timedatectl: introduce new command line client for timedated
Much like logind has a client in loginctl, and journald in journalctl
introduce timedatectl, to change the system time (incl. RTC), timezones
and related settings.
2012-10-17 21:25:42 +02:00
Lennart Poettering
7708588119 logind: only release logind session from the PAM module if the same module instance actually created it 2012-10-16 19:21:21 +02:00
Zbigniew Jędrzejewski-Szmek
1ca6783f5e log: introduce a macro to format message id
The MESSAGE_ID=... stanza will appear in countless number of places.
It is just too long to write it out in full each time.

Incidentally, this also fixes a typo of MESSSAGE is three places.
2012-10-13 14:26:30 +02:00
Lennart Poettering
083f4da2a8 logind: expose missing signals in Session bus objects 2012-10-09 00:49:53 +02:00
Сковорода Никита Андреевич
2f1bb51336 man: handle-sleep-key is invalid, replace it with handle-suspend-key and handle-hibernate-key in systemd-inhibit help and man. 2012-10-03 19:15:02 -04:00
Lennart Poettering
a8573ccc35 pam: check environ[] for XDG_SEAT as fallback
This is useful for systems such as kmscon which want to invoke classic
/sbin/login but use it on multiple seats.
2012-10-01 14:50:05 -04:00
Lennart Poettering
aaeef05886 multi-seat-x: drop a lot of unnecessary code 2012-09-21 17:03:40 +02:00
Lennart Poettering
8e7705e52a pam: document that we don't do error checking when parsing vtnr 2012-09-21 16:17:26 +02:00