Commit Graph
6034 Commits
Author SHA1 Message Date
Lennart Poettering 4e7bc3f339 Revert "log: fix fallbacks to kmsg"
This reverts commit 4a01181e46.

This patch broke LOG_TARGET_AUTO, i.e. automatic selection of STDERR if
it is a TTY with a fallback on the journal and kmsg otherwise.

The general rule should probably be:

log_open() -- open the "best" possible logging channel according to
log_target configuration.

log_dispatch() -- don't open any log channels ever, with the exception
of kmsg since that has no drawbacks. And do this only on true errors of
the better log channel, not just when it wasn't opened.
2013-02-27 14:33:50 +01:00
Kay Sievers 02a6fc3ea6 efi: compare by substraction 2013-02-17 19:54:29 +01:00
Michal Schmidt 4a01181e46 log: fix fallbacks to kmsg
write_to_journal() returns 0 if journal_fd is closed and nothing is
written. We need to make sure we'll try log_open_kmsg() then to make the
fallback work for "journal-or-kmsg".
2013-02-16 01:16:32 +01:00
Thomas Hindoe Paaboel Andersen f7900e258d bootchart: use conf-parser & CamelCase names in .conf 2013-02-14 21:36:45 +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
Marc-Antoine Perennou ddb88cc5b8 dbus: introduce parse_unit_info
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-02-13 14:36:01 -08:00
Marc-Antoine Perennou cdf3f17bfb dbus: import struct unit_info from systemctl
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-02-13 14:36:01 -08:00
Lennart Poettering b872e9a059 build-sys: make EFI support build-time optional 2013-02-13 23:08:25 +01:00
Lennart Poettering 46ba8aae2b build-sys: make PolicyKit support compile-time optional (was runtime-optional already) 2013-02-13 23:08:25 +01:00
Lennart Poettering 9db11a99be efi: efi_get_boot_options() should already sort the entries, the random order in the efivars fs is probably not useful
This also introduces a new FOREACH_DIRENT macro and makes use of it.
2013-02-13 22:02:40 +01:00
Lennart Poettering 61cc634bc2 efi: use efi_get_variable_string() instead of efi_get_variable() where we can 2013-02-13 21:24:10 +01:00
Kay Sievers 4d34c4951a efi: unify BootXXXX reading 2013-02-13 17:35:20 +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
Zbigniew Jędrzejewski-Szmek 5f9cfd4c38 man: rename systemd.conf to systemd-system.conf
Alias as systemd-user.conf is also provided. This should help
users running systemd in session mode.

https://bugzilla.redhat.com/show_bug.cgi?id=690868
2013-02-13 09:48:32 -05:00
Michael Olbrich 1c00832624 ratelimit: fix off-by-one
The current code might make sense during startup for service restart
limiting:
With burst=1 after starting num is 1, so the next ('first') restart is
still accepted ( 1 <= 1). However, once interval has expired, num is 1
after the first restart, so the second restart is also accepted.

This change is also useful in combination with watchdogs:
With burst=1 and a very large interval the system can be restarted on
the first failure.
2013-02-13 08:45:13 -05:00
Colin Walters b0ee8068da util: *DO NOT* loop for EINTR handling with close_nointr()
See the linked references for why we should not do this.
2013-02-13 04:56:28 +01:00
Thomas Hindoe Paaboel Andersen b43d1d01ea util: introduce strcaseeq/strncaseeq 2013-02-13 00:56:13 +01:00
Thomas Hindoe Paaboel Andersen 641906e936 use strneq instead of strncmp 2013-02-13 00:56:13 +01:00
Lennart Poettering 726c6b6b3d efi: add missing #include 2013-02-13 00:18:29 +01:00
Lennart Poettering 9cde64ff26 efi: various cleanups 2013-02-13 00:12:58 +01:00
Aleksander Morgado a96215285a missing: define MS_REC and MS_SHARED if not defined already 2013-02-13 00:12:58 +01:00
Lennart Poettering fabe5c0e5f binfmt,tmpfiles,modules-load,sysctl: rework the various early-boot services that work on .d/ directories
This unifies much of the logic behind them:

- All four will now ofllow the rule that the earlier file and earlier
  assignment in the .d/ directories wins. Before, sysctl was the only
  outlier, where the later setting always won.

- All four now support getopt() and --help on the command line.

- All four can now handle specification of configuration file names on
  the command line to apply. The tools will automatically find them, and
  apply them. Previously only tmpfiles could do that. This is useful for
  %post scripts in RPMs and suchlike.

- This fixes various error path issues in conf_files_list()
2013-02-11 23:54:30 +01:00
Lennart Poettering 853b8397ac core: properly validate environment data from Environment= lines in unit files 2013-02-11 23:54:30 +01:00
Lennart Poettering 123b964a53 manager: validate environment parameters for SetEnvironment(), UnsetEnvironment() bus calls 2013-02-11 23:54:30 +01:00
Kay Sievers 7b4d7cc082 bootctl: add boot loader and firmware interface tool 2013-02-11 19:35:52 +01:00
Lennart Poettering ff47c895c8 efi: fix returned length of efi_get_variable() 2013-02-11 06:21:20 +01:00
Lennart Poettering dfbacb6fe5 util: rework load_env_file()
Inner library calls should not invoke log_oom(), that's something for
main programs, not library calls.

Don't read through uninitialized memory if a file ends in a continuation
line.

Add comments for the non-obvious bits.

Don't choke on comment lines that are continuation lines.

Simplify some things.
2013-02-11 05:36:54 +01:00
Lennart Poettering 91a6489d99 path-util: fix memory leak 2013-02-11 05:10:23 +01:00
Lennart Poettering f74e605fc0 util: introduce FOREACH_LINE for iterating through files 2013-02-11 05:09:29 +01:00
Lennart Poettering 4d1a690438 env: considerably beef up environment cleaning logic
Now, actually check if the environment variable names and values used
are valid, before accepting them. With this in place are at some places
more rigid than POSIX, and less rigid at others. For example, this code
allows lower-case environment variables (which POSIX suggests not to
use), but it will not allow non-UTF8 variable values.

All in all this should be a good middle ground of what to allow and what
not to allow as environment variables.

(This also splits out all environment related calls into env-util.[ch])
2013-02-11 03:54:50 +01:00
Kay Sievers e02caf30ac shared: conf-files - use root parameter and convert to auto-cleanup 2013-02-08 11:52:10 +01:00
Kay Sievers 7850b3b837 shared: conf-files - add root parameter 2013-02-08 10:23:04 +01:00
Mirco Tischler a4b88c1ecb logs-show: show messages for all unit types in systemctl status
I can't find a reason why we shouldn't try to output messages for other
unit types than .service, .socket, .mount and .swap as well. It's probably
a leftover from before we started logging UNIT= from inside PID 1.
2013-02-07 01:02:34 -05:00
Mirco Tischler f904546894 journal: log user units for coredumps and show them in systemctl status 2013-02-07 01:02:34 -05:00
Zbigniew Jędrzejewski-Szmek 7ad94c716d systemd: raise level of message about lookup paths
This can be pretty important for the user, and is not trivial
to figure out in all cases.

Also show failing path in error messages.
2013-02-06 23:16:17 -05:00
Zbigniew Jędrzejewski-Szmek 0783951b93 shared: remove now unused function 2013-02-06 23:16:17 -05:00
Zbigniew Jędrzejewski-Szmek 874310b7b6 systemd: do not remove empty paths from unit lookup path
The ability to start a new unit with 'systemctl start ...' should not
depend on whether there are other units in the directory. Previously,
an additional 'systemctl daemon-reload' would be necessary to tell
systemd to update the list of unit lookup paths.
2013-02-06 23:16:16 -05:00
Thomas Hindoe Paaboel Andersen 7c2d80944a strv: add strv_print
Clearer, and spares the temp variable.
2013-02-07 00:38:09 +01:00
Zbigniew Jędrzejewski-Szmek 3f0b2f0f45 install: allow %u an and %U specifiers in WantedBy/RequiredBy/Alias 2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek 7584d236ea install: allow specifiers in WantedBy/RequiredBy/Alias
This allows one templated unit to refer to another templated unit
at installation time.

Examples:

> grep WantedBy ~/.config/systemd/user/mpop@.timer
WantedBy=services@%i.target

> srv disable mpop@iit.timer
rm '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'
> srv enable mpop@iit.timer
ln -s '/home/alxchk/.config/systemd/user/mpop@.timer' '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'

Based-on-patch-by: Oleksii Shevchuk <alxchk@gmail.com>
2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek d848b9cbfa Move generic specifier functions to shared
No functional change. This makes it possible to use them in install.c.
2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek d9e5e694ea install: automatic cleanup using local cleanup functions 2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek ea55addcb7 install: use automatic cleanup in find_symlinks_fd() 2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek e3ded78be7 shared: introduce _cleanup_set_free_free_ 2013-01-29 19:01:41 -05:00
Zbigniew Jędrzejewski-Szmek e985665d2d Add _cleanup_pclose_ and fix mismatching pipe close opened by popen()
Based-on-patch-by: Thomas Jarosch <thomas.jarosch@intra2net.com>

cppcheck reported:
[src/bootchart/svg.c:791]: (error) Mismatching allocation and deallocation: f
2013-01-25 10:38:42 -05:00
Kay Sievers e9cea16db6 efi: fix Usec vs. USec 2013-01-24 10:33:52 +01:00
Kay Sievers 5dbe9f5398 efi: read microseconds from boot loader info instead of "ticks" magic 2013-01-23 02:16:11 +01:00
Lennart Poettering f4ce2b3e5c efi: add efi boot generator that automatically mounts the ESP to /boot 2013-01-21 01:04:16 +01:00
Lennart Poettering 34e5a31ec5 util: move is_efiboot() to efivars.c 2013-01-21 01:04:16 +01:00