Lennart Poettering [Thu, 20 Sep 2012 17:00:26 +0000 (19:00 +0200)]
update TODO
Lennart Poettering [Thu, 20 Sep 2012 16:54:20 +0000 (18:54 +0200)]
build-sys: prepare v190
Lennart Poettering [Thu, 20 Sep 2012 15:53:03 +0000 (17:53 +0200)]
util: fix overflow checks
Jan Engelhardt [Thu, 20 Sep 2012 08:20:49 +0000 (10:20 +0200)]
build-sys: require certain version of libselinux
./.libs/libsystemd-core.a(libsystemd_core_la-selinux-access.o):
In function "selinux_access_check":
src/core/selinux-access.c:487: undefined reference to
"selinux_check_access"
Lennart Poettering [Thu, 20 Sep 2012 09:08:27 +0000 (11:08 +0200)]
util: overflow hardening
Lennart Poettering [Wed, 19 Sep 2012 22:02:01 +0000 (00:02 +0200)]
util: make sure heap allocators fail when array allocations are out of bounds
https://bugzilla.redhat.com/show_bug.cgi?id=858777
Lennart Poettering [Wed, 19 Sep 2012 20:51:28 +0000 (22:51 +0200)]
journald: don't accept arbitrarily sized journal data fields
https://bugzilla.redhat.com/show_bug.cgi?id=858746
Lennart Poettering [Wed, 19 Sep 2012 20:21:09 +0000 (22:21 +0200)]
util: define union dirent_storage and make use of it everywhere
Make sure to allocate enough space for readdir_r().
https://bugzilla.redhat.com/show_bug.cgi?id=858754
Lennart Poettering [Wed, 19 Sep 2012 20:01:31 +0000 (22:01 +0200)]
util: fix bad strstrip() return value in normalize_env_assignment()
https://bugzilla.redhat.com/show_bug.cgi?id=858780
Lennart Poettering [Wed, 19 Sep 2012 18:09:27 +0000 (20:09 +0200)]
path: support specifier resolvin in .path units
Kay Sievers [Wed, 19 Sep 2012 17:35:47 +0000 (19:35 +0200)]
libudev: remove dead code
Lennart Poettering [Wed, 19 Sep 2012 17:09:22 +0000 (19:09 +0200)]
timedated: unregister the right bus service
https://bugzilla.redhat.com/show_bug.cgi?id=858771
Lennart Poettering [Wed, 19 Sep 2012 13:46:43 +0000 (15:46 +0200)]
update TODO
Lennart Poettering [Wed, 19 Sep 2012 13:42:29 +0000 (15:42 +0200)]
logind: if a lid-switch lock was taken while the lid was closed, recheck lid status when the lock is released
Lennart Poettering [Wed, 19 Sep 2012 13:29:24 +0000 (15:29 +0200)]
logind: properly parse handle-lid-switch inhibitor
Lennart Poettering [Wed, 19 Sep 2012 13:28:55 +0000 (15:28 +0200)]
man: document new inhibitor types
Lennart Poettering [Wed, 19 Sep 2012 11:10:10 +0000 (13:10 +0200)]
logind: rework power key/suspend key/lid switch handling
http://lists.freedesktop.org/archives/systemd-devel/2012-September/006604.html
https://bugzilla.gnome.org/show_bug.cgi?id=680689
This changes the meaning of the
HandlePowerKey=/HandleSleepKey=/HandleLidSwitch= setting of logind.conf
Lennart Poettering [Wed, 19 Sep 2012 07:56:00 +0000 (09:56 +0200)]
journal: when comparing two entries from separate files make sure we reposition the mmap window
The mmap cache doesn't guarantee that we can look at two files at the
same time. Hence make sure to look at the entries to compare one
after the other, instead of at the same time when comparing them, and
reposition the window in between.
Lennart Poettering [Wed, 19 Sep 2012 07:55:56 +0000 (09:55 +0200)]
mount: reword directory empty warning a bit
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 20:03:34 +0000 (22:03 +0200)]
systemctl: warn about triggering units only at the end
Instead of checking each unit separately, check once at the end. This
should avoid spurious warnings about a service being triggerable by
other stuff.
Zbigniew Jędrzejewski-Szmek [Wed, 19 Sep 2012 06:15:07 +0000 (08:15 +0200)]
systemctl: properly report success
Systemctl would always return 1, because it treated uninteresting dbus
messages ("job added") as errors. Just ignore everything apart from
interesting ("job removed") messages.
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:37:15 +0000 (20:37 +0200)]
systemctl: use automatic cleanup once more
Semantics are slightly different, because before unit_name_mangle
returning NULL was ignored, and now it is reported as oom. But
unit_name_mangle only returns NULL on oom.
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:22:57 +0000 (20:22 +0200)]
systemctl: use automatic cleanup
Introduce a helper method to unref dbus messages and use it.
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 15:11:12 +0000 (17:11 +0200)]
core: move ManagerRunningAs to shared
Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now.
Lennart Poettering [Tue, 18 Sep 2012 16:59:01 +0000 (18:59 +0200)]
automount: also whine if an automount directory is not empty
Lennart Poettering [Tue, 18 Sep 2012 16:40:31 +0000 (18:40 +0200)]
mount: notify the user if we over-mount a non-empty directory
https://bugzilla.redhat.com/show_bug.cgi?id=858266
Lennart Poettering [Tue, 18 Sep 2012 10:15:19 +0000 (12:15 +0200)]
update TODO
Lennart Poettering [Tue, 18 Sep 2012 10:05:47 +0000 (12:05 +0200)]
mount: don't mount securityfs in a container
Lennart Poettering [Tue, 18 Sep 2012 09:53:47 +0000 (11:53 +0200)]
unit-printf: add specifiers for the host name, machine id, boot id
Lennart Poettering [Tue, 18 Sep 2012 09:40:01 +0000 (11:40 +0200)]
unit-printf: before resolving exec context specifiers check whether the object actually has an exec context
Lennart Poettering [Tue, 18 Sep 2012 09:27:56 +0000 (11:27 +0200)]
unit: split unit_printf() and friends into its own .c file
Lennart Poettering [Tue, 18 Sep 2012 09:18:37 +0000 (11:18 +0200)]
unit: fix %f resolving
Lennart Poettering [Tue, 18 Sep 2012 09:12:31 +0000 (11:12 +0200)]
journalctl: don't choke on entries with no MESSAGE= field
https://bugs.freedesktop.org/show_bug.cgi?id=50177
Thomas Hindoe Paaboel Andersen [Thu, 13 Sep 2012 19:09:44 +0000 (21:09 +0200)]
docs: typos in loginctl.xml
Lennart Poettering [Tue, 18 Sep 2012 09:01:34 +0000 (11:01 +0200)]
target: imply default ordering for PartsOf deps as well
Lennart Poettering [Tue, 18 Sep 2012 08:54:23 +0000 (10:54 +0200)]
execute: apply PAM logic only to main process if PermissionsStartOnly is set
https://bugs.freedesktop.org/show_bug.cgi?id=54176
Lennart Poettering [Tue, 18 Sep 2012 00:19:54 +0000 (02:19 +0200)]
selinux: rework method tail, make it into a nulstr array
Lennart Poettering [Mon, 17 Sep 2012 23:55:49 +0000 (01:55 +0200)]
selinux: use existing library calls for audit data
Lennart Poettering [Mon, 17 Sep 2012 23:55:24 +0000 (01:55 +0200)]
selinux: prefer source path over fragment path
Lennart Poettering [Mon, 17 Sep 2012 23:53:15 +0000 (01:53 +0200)]
util: introduce get_process_gid()
Daniel J Walsh [Thu, 6 Sep 2012 20:23:11 +0000 (16:23 -0400)]
selinux: add bus service access control
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
This patch adds the ability to look at the calling process that is trying to
do dbus calls into systemd, then it checks with the SELinux policy to see if
the calling process is allowed to do the activity.
The basic idea is we want to allow NetworkManager_t to be able to start and
stop ntpd.service, but not necessarly mysqld.service.
Similarly we want to allow a root admin webadm_t that can only manage the
apache environment. systemctl enable httpd.service, systemctl disable
iptables.service bad.
To make this code cleaner, we really need to refactor the dbus-manager.c code.
This has just become a huge if-then-else blob, which makes doing the correct
check difficult.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
iEYEARECAAYFAlBJBi8ACgkQrlYvE4MpobOzTwCdEUikbvRWUCwOb83KlVF0Nuy5
lRAAnjZZNuc19Z+aNxm3k3nwD4p/JYco
=yops
-----END PGP SIGNATURE-----
Lennart Poettering [Mon, 17 Sep 2012 23:17:03 +0000 (01:17 +0200)]
Update TODO
Lennart Poettering [Mon, 17 Sep 2012 23:16:23 +0000 (01:16 +0200)]
logind: split up inhibit acquire policy
Lennart Poettering [Mon, 17 Sep 2012 21:59:26 +0000 (23:59 +0200)]
journald: log when we fail to forward messages to syslog
https://bugzilla.redhat.com/show_bug.cgi?id=847207
Lennart Poettering [Mon, 17 Sep 2012 20:14:24 +0000 (22:14 +0200)]
log: avoid function loop
https://bugs.freedesktop.org/show_bug.cgi?id=54766
Lennart Poettering [Mon, 17 Sep 2012 19:58:03 +0000 (21:58 +0200)]
conf-parser: don't unescape parsed configuration strings by default
In many cases this might have a negative effect since we drop escaping
from strings where we better shouldn't have dropped it.
If unescaping makes sense for some settings we can readd it later again,
on a per-case basis.
https://bugs.freedesktop.org/show_bug.cgi?id=54522
Lennart Poettering [Mon, 17 Sep 2012 17:11:48 +0000 (19:11 +0200)]
logind: make VT reservation logic compatible with containers
Lennart Poettering [Mon, 17 Sep 2012 16:28:40 +0000 (18:28 +0200)]
main: newer kernels return EINVAL if we invoke reboot() in a container lacking perms, deal with it
Lennart Poettering [Mon, 17 Sep 2012 16:23:10 +0000 (18:23 +0200)]
util: various cleanups for printing boot status
Lennart Poettering [Mon, 17 Sep 2012 15:47:09 +0000 (17:47 +0200)]
git: update .gitignore
Lennart Poettering [Mon, 17 Sep 2012 15:45:18 +0000 (17:45 +0200)]
utmp: read the right timestamp
Lennart Poettering [Mon, 17 Sep 2012 15:42:13 +0000 (17:42 +0200)]
main: when transitioning from initrd to the main system log to kmsg
When the new PID is invoked the journal socket from the initrd might
still be around. Due to the default log target being journal we'd log to
that initially when the new main systemd initializes even if the kernel
command line included a directive to redirect systemd's logging
elsewhere.
With this fix we initially always log to kmsg now, if we are PID1, and
only after parsing the kernel cmdline try to open the journal if that's
desired.
(The effective benefit of this is that SELinux performance data is now
logged again to kmsg like it used to be.)
Kay Sievers [Mon, 17 Sep 2012 14:41:13 +0000 (16:41 +0200)]
hwclock: always set the kernel's timezone
Properly tell the kernel at bootup, and any later time zone changes,
the actual system time zone.
Things like the kernel's FAT filesystem driver needs the actual time
zone to calculate the proper local time to use for the on-disk time
stamps.
https://bugzilla.redhat.com/show_bug.cgi?id=802198
Lennart Poettering [Mon, 17 Sep 2012 14:35:59 +0000 (16:35 +0200)]
main: bump up RLIMIT_NOFILE for systemd itself
For setups with many listening sockets the default kernel resource limit
of 1024 fds is not enough. Bump this up to 64K to avoid any limitations
in this regard. We are careful to pass on the kernel default to daemons
however, since normally resource limits are a good to enforce,
especially since select() can't handle fds > 1023.
Lennart Poettering [Mon, 17 Sep 2012 13:53:42 +0000 (15:53 +0200)]
journald: properly update perms on freshly rotate user journals
Lennart Poettering [Mon, 17 Sep 2012 12:55:56 +0000 (14:55 +0200)]
service: don't hit an assert if a service unit changes type and we get a spurious event from before
Lennart Poettering [Mon, 17 Sep 2012 11:24:35 +0000 (13:24 +0200)]
update TODO
Kay Sievers [Sun, 16 Sep 2012 21:31:11 +0000 (23:31 +0200)]
udev: add btrfs support
All "btrfs" file systems will be registered with the kernel when they
show up.
Incomplete multi-device volumes will set SYSTEMD_READY=0, to prevent
access until the volume is complete and fully registered.
Zbigniew Jędrzejewski-Szmek [Fri, 10 Aug 2012 17:35:43 +0000 (19:35 +0200)]
directive-index: journal directives
Zbigniew Jędrzejewski-Szmek [Fri, 10 Aug 2012 17:14:30 +0000 (19:14 +0200)]
directive-index: system manager directives
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 09:11:34 +0000 (11:11 +0200)]
directive-index: add UDEV fields
Zbigniew Jędrzejewski-Szmek [Thu, 9 Aug 2012 16:08:14 +0000 (18:08 +0200)]
man: generate an index of directives
Systemd has a large (and growing) number of manpages. Sometimes it's
not immediately obvious, where to look for a directive. Especially,
when something is described in more than one place. Making sense of
all the settings should be easier with an index.
Lennart Poettering [Mon, 17 Sep 2012 10:39:16 +0000 (12:39 +0200)]
logind: make sure there's always a getty available on TTY6
Previously, if X allocated all 6 TTYs (for multi-session for example) no
getty would be available anymore to guarantee console-based logins.
With the new ReserveVT= switch in logind.conf we can now choose one VT
(6 by default) that will always be subject to autovt-style activation,
i.e. we'll always have a getty on TTY6, and X will never take possession
of it.
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 22:21:25 +0000 (00:21 +0200)]
build-sys: __secure_getenv lost dunder in libc 2.17
Dave Reisner [Sat, 15 Sep 2012 16:58:49 +0000 (12:58 -0400)]
tmpfiles: use write(2) for the 'w' action
This resolves problems with filesystems which do not implement the
aio_write file operation. In this case, the kernel will fall back using
a loop writing technique for each pointer in a received iovec. The
result is strange errors in dmesg such as:
[ 31.855871] elevator: type not found
[ 31.856262] elevator: switch to
[ 31.856262] failed
It does not make sense to implement a synchronous aio_write method for
sysfs as this isn't a real filesystem where a reasonable use case for
using writev exists, nor is there an expectation that tmpfiles will be
used to write more data than can be reasonably written in a single write
syscall.
In addition, some sysfs attrs are currently buggy and will NOT reject
the second write with the newline, causing the sysfs value to be zeroed
out. This of course should be fixed in the kernel regardless of any
wrongdoing in userspace, but this simple change makes us immune to such
a bug.
This change means that we do not write a trailing newline by default, as
the expected use case of 'w' is for sysfs and procfs. In exchange, honor
C-style backslash escapes so that if the newline is really needed, the
user can add it.
Dave Reisner [Sat, 15 Sep 2012 16:58:48 +0000 (12:58 -0400)]
socket: prevent signed integer overflow
src/core/socket.c:588:25: error: overflow in implicit constant conversion
src/core/socket.c:589:17: error: overflow in implicit constant conversion
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 14:33:20 +0000 (16:33 +0200)]
nspawn: fix memleak introduced with automatic cleanup
6b2d0e8 introduced a memleak instead of fixing one.
Fix both.
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 14:14:11 +0000 (16:14 +0200)]
nspawn: use automatic cleanup for umask
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 13:21:48 +0000 (15:21 +0200)]
nspawn: _cleanup_free_ more
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 13:09:47 +0000 (15:09 +0200)]
nspawn: use automatic cleanup
This one actually clears up a (totally harmless) memleak.
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 12:58:51 +0000 (14:58 +0200)]
nspawn: mount tmpfs on /dev/shm
Most things seem to function fine without /dev/shm, but it is expected
to be there (quoting linux/Documentation/filesystems/tmpfs.txt:
glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for POSIX
shared memory (shm_open, shm_unlink)).
Since /tmp/ is already mounted as tmpfs, it would be enough to mkdir
/tmp/shm and chmod it. Mounting it separately has the advantage that
it can be easily remounted to change the quota.
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 10:55:28 +0000 (12:55 +0200)]
install: use automatic cleanup
Zbigniew Jędrzejewski-Szmek [Sun, 16 Sep 2012 10:35:46 +0000 (12:35 +0200)]
install: treat non-existent directory as empty
When looking for symlinks, it doesn't make sense to error-out if
the directory is missing. The user might delete an empty directory.
This check caused test-unit-file to fail when run before installation.
Zbigniew Jędrzejewski-Szmek [Sun, 22 Jul 2012 13:39:37 +0000 (15:39 +0200)]
logind: redefine idleness to start at last activity
Before, after the timeout, a session would be timestamped as idle
since 'last activity' + 'idle timeout'. Now, it is timestamped as idle
since 'last activity'.
Before, after all sessions were idle, the seat would be marked with as
idle with the timestamp of the oldest idle session. Now it is
marked with the timestamp of the youngest idle session.
Both changes seem to me to be closer to natural understanding of
idleness: the time since last activity counts.
Lennart Poettering [Sat, 15 Sep 2012 05:38:38 +0000 (07:38 +0200)]
update TODO
Lennart Poettering [Sat, 15 Sep 2012 04:57:15 +0000 (06:57 +0200)]
TODO: isolate items to fix before F18
Lennart Poettering [Fri, 14 Sep 2012 18:50:24 +0000 (20:50 +0200)]
update TODO
Lennart Poettering [Fri, 14 Sep 2012 18:45:37 +0000 (20:45 +0200)]
man: update localtime(5) a bit
Lennart Poettering [Fri, 14 Sep 2012 18:27:05 +0000 (20:27 +0200)]
man: mention journalctl in the systemd man page
Lennart Poettering [Fri, 14 Sep 2012 18:20:29 +0000 (20:20 +0200)]
timedated: make /etc/timezone a Debian-only thing
Lennart Poettering [Fri, 14 Sep 2012 18:02:52 +0000 (20:02 +0200)]
timedate: assorted improvements
- Make writing/reading of /etc/timezone dependendent of HAVE_SYSV_COMPAT
- Introduce symlink_atomic() after all, and use it
- Use relative symlink for /etc/localtime
Shawn Landden [Wed, 22 Aug 2012 06:11:27 +0000 (23:11 -0700)]
man: remove timezone(5) and add localtime(5)
Shawn Landden [Wed, 22 Aug 2012 06:11:26 +0000 (23:11 -0700)]
timedated: gather timezone from /etc/localtime sym target
/etc/localtime -> /usr/share/zoneinfo/...
or
/etc/localtime -> ../usr/share/zoneinfo/...
(note, ../usr is not the same if /etc is a symlink, as this isn't
using canonicalize_file_name())
keep other method for now, consider dropping later.
Supporting relative links here are problematic as timezones in
/usr/share/zoneinfo are often themselves symlinks (and symlinks to
symlinks), so this implamentation only supports absolute symlinks
"/usr/share/zoneinfo/" and relative symlinks starting with
"../usr/share/zoneinfo/"
>From TODO (kay sievers):
* kill /etc/timezone handling entirely? What does it provide?
- /etc/localtime carries the same information already:
$ ls -l /etc/localtime; cat /etc/timezone
lrwxrwxrwx 1 root root 33 Jul 27 09:55 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin
Europe/Berlin
- systemd enforces /usr to be available at bootup, so we can
enforce the use of the symlink
Lucas De Marchi [Fri, 14 Sep 2012 14:18:41 +0000 (14:18 +0000)]
build-sys: Append -Werror when testing flags
Clang don't treat unknown warnings flags as an error, but rather as a
warning. The result is that the detection for whic CFLAGS are supported
by this compiler will not work, since the compilation will succeed.
With this patch we now successfully detect clang doesn't support
-Wlogical-op, as opposed to previous behavior:
checking if clang supports flag -Wlogical-op in envvar CFLAGS... no
We use this macro only for LDFLAGS and CFLAGS, so it's safe to stash
-Werror there.
Pierre Schmitz [Fri, 14 Sep 2012 15:19:23 +0000 (17:19 +0200)]
nspawn: Fix minor typo in man page
Lennart Poettering [Fri, 14 Sep 2012 13:11:07 +0000 (15:11 +0200)]
systemctl: show unit name when a job fails
https://bugzilla.redhat.com/show_bug.cgi?id=845028
https://bugzilla.redhat.com/show_bug.cgi?id=846483
Lennart Poettering [Fri, 14 Sep 2012 08:36:50 +0000 (10:36 +0200)]
util: more modernizations
Lennart Poettering [Fri, 14 Sep 2012 08:24:27 +0000 (10:24 +0200)]
util: various additional modernizations
Lennart Poettering [Fri, 14 Sep 2012 08:06:42 +0000 (10:06 +0200)]
util: modernize a few functions with automatic cleanup variables
Just trying to get the feel for it. And it's pretty cool.
Lennart Poettering [Thu, 13 Sep 2012 21:19:05 +0000 (23:19 +0200)]
test: split of cryptsetup into its own test
Lennart Poettering [Thu, 13 Sep 2012 20:42:22 +0000 (22:42 +0200)]
systemctl: minor coding style fixes
Václav Pavlín [Thu, 13 Sep 2012 20:35:18 +0000 (22:35 +0200)]
install: append .service when enable/disable... is called
https://bugzilla.redhat.com/show_bug.cgi?id=856975
Lennart Poettering [Thu, 13 Sep 2012 20:30:26 +0000 (22:30 +0200)]
macro: introduce _cleanup_free_ macro for automatic freeing of scoped vars and make use of it
Lennart Poettering [Thu, 13 Sep 2012 20:17:46 +0000 (22:17 +0200)]
rpm: expose preset dir as rpm macro and in systemd.pc
Auke Kok [Thu, 13 Sep 2012 19:34:25 +0000 (12:34 -0700)]
load-fragment: Expand specifiers in conditions.
Add specifier expansion to Path and String conditions.
Specifier expansion for conditions will help create instance
and user session units by allowing us to template conditions
based on the instance or user session parameters.
An example would be a system-wide user session service file
that conditionally runs based on whether a user has the
service configured through a configuration file in ~/.config/.
Eelco Dolstra [Thu, 13 Sep 2012 17:44:47 +0000 (13:44 -0400)]
daemon: Fix broken links to sd-daemon.c
Lennart Poettering [Thu, 13 Sep 2012 17:40:19 +0000 (19:40 +0200)]
man: reword logind.conf.xml a bit
Thomas Hindoe Paaboel Andersen [Tue, 11 Sep 2012 20:53:48 +0000 (22:53 +0200)]
docs: typo fixes in pam_systemd.xml
https://bugs.freedesktop.org/show_bug.cgi?id=54501
Thomas Hindoe Paaboel Andersen [Mon, 10 Sep 2012 17:41:37 +0000 (19:41 +0200)]
docs: typo fixes in logind.conf.xml and os-release.xml
https://bugs.freedesktop.org/show_bug.cgi?id=54501
Thomas Hindoe Paaboel Andersen [Wed, 5 Sep 2012 21:08:06 +0000 (23:08 +0200)]
man: fix typos in halt.xml and journalctl.xml
https://bugs.freedesktop.org/show_bug.cgi?id=54501