summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-04-24cgroup: always validate cgroup controller namesLennart Poettering
Let's better be safe than sorry.
2013-04-24login: allow watching virtual machines with sd_get_machine_names()Lennart Poettering
2013-04-24login: add new call sd_get_machine_names() to get a list of current virtual ↵Lennart Poettering
machines and containers
2013-04-24nss-myhostname: resolve 'localhost' so that /etc/hosts becomes optionalLennart Poettering
This makes sure nss-myhostname not only resolves the local host name to 127.0.0.2/::1 but also the host name 'localhost: to 127.0.0.1/::1. This makes installation of /etc/passwd optional, as it usually only includes a mapping for 'localhost'. This change also resolves ::1 to the local hostname (as before), but also lists 'localhost' as an alias. This means look-ups are now fully reversible, even though they are 1:n mappings. Finally, the module will no longer erroneously claim that local IP addresses which aren't on the loopback device were.
2013-04-24fileio: unify how we chop off whitespace from key and value in ↵Lennart Poettering
parse_env_file_internal()
2013-04-24logind: don't busy loop if a job is still running but the delay timeout expiresLennart Poettering
2013-04-24inhbit: show comm field of inhibiting processesLennart Poettering
2013-04-24bus: add monitoring facility to busctlLennart Poettering
2013-04-24do not create /dev/rtc symlink, let systemd search for it if neededKay Sievers
The export of the RTCs hctosys flag is uneccesary, the kernel takes care of the persistemt clock management itself, without any need for: CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" "Chaotic hardware platforms" without native kernel persistent clock support will find the proper RTC with the logic rtc_open() without the need for a custom symlink.
2013-04-24logind: properly enumerate user/session cgroups under their new suffixed namesLennart Poettering
2013-04-24systemctl: show reverse dependencies or before/after orderingZbigniew Jędrzejewski-Szmek
Also update completion scripts a bit.
2013-04-24Small cleanupZbigniew Jędrzejewski-Szmek
2013-04-24readahead: be more verbose about creation failuresZbigniew Jędrzejewski-Szmek
systemd-readahead reports "Failed to create shared memory segment: No such file or directory", but it's unclear how it can happen. Be more verbose about failures.
2013-04-24Add set_consume which always takes ownershipZbigniew Jędrzejewski-Szmek
Freeing in error path is the common pattern with set_put().
2013-04-24Standarize on one spelling of symlink error messageZbigniew Jędrzejewski-Szmek
It's polite to print the name of the link that wasn't created, and it makes little sense to print the target.
2013-04-24systemd: fall back to mounting /sys/fs/cgroup sans xattrZbigniew Jędrzejewski-Szmek
xattrs on cgroup fs were added back in v3.6-rc3-3-g03b1cde. But we support kernels >= 2.6.39, and we should also support kernels compiled w/o xattr support, even if systemd is compiled with xattr support. Fall back to mounting without xattr support. Tested-by: Colin Walters <walters@verbum.org>
2013-04-24kdbus: update kdbus.h from upstreamKay Sievers
2013-04-23timer: make sure we restart timers even if units are still running or if one ↵Lennart Poettering
of their conditions fails
2013-04-23unit: rework trigger dependency logicLennart Poettering
Instead of having explicit type-specific callbacks that inform the triggering unit when a triggered unit changes state, make this generic so that state changes are forwarded betwee any triggered and triggering unit. Also, get rid of UnitRef references from automount, timer, path units, to the units they trigger and rely exclsuively on UNIT_TRIGGER type dendencies.
2013-04-23bus: add cal to determine machine id of an owner of a serviceLennart Poettering
2013-04-23bus: parse capability kdbus meta data of messagesLennart Poettering
2013-04-22bus: parse audit metadata from kdbus messagesLennart Poettering
2013-04-22bus: parse owner uid from cgroup path, tooLennart Poettering
2013-04-22cgroup: make sure all our cgroup objects have a suffix and are properly escapedLennart Poettering
Session objects will now get the .session suffix, user objects the .user suffix, nspawn containers the .nspawn suffix. This also changes the user cgroups to be named after the numeric UID rather than the username, since this allows us the parse these paths standalone without requiring access to the cgroup file system. This also changes the mapping of instanced units to cgroups. Instead of mapping foo@bar.service to the cgroup path /user/foo@.service/bar we will now map it to /user/foo@.service/foo@bar.service, in order to ensure that all our objects are properly suffixed in the tree.
2013-04-22core: there's no point to complain so loudly about non-isolatable boot targetsLennart Poettering
2013-04-22nspawn: suffix the nspawn cgroups with ".nspawn"Lennart Poettering
As discussed with Dan Berrange it's a good idea to suffix all objects in the cgroup tree with ".something", so that when the system is partitioned using a resource management tool we can drop objects of different types into the same partition directory without generate namespace conflicts. We'l add this to the Pax Control Group document as soon as write access to the fdo wiki is restored.
2013-04-22nspawn: always use cg_get_path() to determine fs path for a cgroupLennart Poettering
2013-04-21systemd,nspawn: use extended attributes to store metadataZbigniew Jędrzejewski-Szmek
All attributes are stored as text, since root_directory is already text, and it seems easier to have all of them in text format. Attributes are written in the trusted. namespace, because the kernel currently does not allow user. attributes on cgroups. This is a PITA, and CAP_SYS_ADMIN is required to *read* the attributes. Alas. A second pipe is opened for the child to signal the parent that the cgroup hierarchy has been set up.
2013-04-21bus: implement client logic for fd passingLennart Poettering
2013-04-19nss-myhostname: ensure that glibc's assert is usedDave Reisner
2013-04-19logind-dbus: initialize result variableLukas Nykryn
2013-04-19crypt-setup-generator: correctly check return of strdupLukas Nykryn
2013-04-19core/killall: use procfs_file_allocaZbigniew Jędrzejewski-Szmek
2013-04-19Reintroduce f_type comparison macroHarald Hoyer
This reverts commit 4826f0b7b5c0aefa08b8cc7ef64d69027f84da2c. Because statfs.t_type can be int on some architecures, we have to cast the const magic to the type, otherwise the compiler warns about signed/unsigned comparison, because the magic can be 32 bit unsigned. statfs(2) man page is also wrong on some systems, because f_type is not __SWORD_TYPE on some architecures. The following program: int main(int argc, char**argv) { struct statfs s; statfs(argv[1], &s); printf("sizeof(f_type) = %d\n", sizeof(s.f_type)); printf("sizeof(__SWORD_TYPE) = %d\n", sizeof(__SWORD_TYPE)); printf("sizeof(long) = %d\n", sizeof(long)); printf("sizeof(int) = %d\n", sizeof(int)); if (sizeof(s.f_type) == sizeof(int)) { printf("f_type = 0x%x\n", s.f_type); } else { printf("f_type = 0x%lx\n", s.f_type); } return 0; } executed on s390x gives for a btrfs: sizeof(f_type) = 4 sizeof(__SWORD_TYPE) = 8 sizeof(long) = 8 sizeof(int) = 4 f_type = 0x9123683e
2013-04-18systemd-python: wrap sd_journal_add_conjunctionZbigniew Jędrzejewski-Szmek
2013-04-18nspawn: create empty /etc/resolv.conf if necessaryZbigniew Jędrzejewski-Szmek
nspawn will overmount resolv.conf if it exists. Since e.g. default install with yum doesn't create /etc/resolv.conf, a container created with yum will not have network. This seems undesirable, and since we overmount the file anyway, let's create it too. Also, mounting a read-write /etc/resolv.conf in the container is treated as a failure, since it makes it possible to modify hosts /etc/resolv.conf from inside the container.
2013-04-18journal: when iterating through a file we might lose messages when changing ↵Marius Vollmer
direction. https://bugs.freedesktop.org/show_bug.cgi?id=63672
2013-04-18cryptsetup: ask for password, if key file cannot be accessedHarald Hoyer
If the key file cannot be accessed, we can at least ask for the password.
2013-04-18bus: test - add hack to receive messagesKay Sievers
2013-04-18bus: catch up with kernel changesKay Sievers
2013-04-18Revert f_type fixupsHarald Hoyer
This reverts commit a858b64dddf79177e12ed30f5e8c47a1471c8bfe. This reverts commit aea275c43194b6ac519ef907b62c5c995050fde0. This reverts commit fc6e6d245ee3989c222a2a8cc82a33475f9922f3. This reverts commit c4073a27c555aeceac87a3b02a83141cde641a1e. This reverts commit cddf148028f525be8176e7f1cbbf4f862bd287f6. This reverts commit 8c68a70170b31f93c287f29fd06c6c17edaf19ad. The constants are now casted to __SWORD_TYPE, which should resolve the compiler warnings about signed vs unsigned. After talking to Kay, we concluded: This should be fixed in the kernel, not worked around in userspace tools. Architectures cannot use int and expect magic constants lager than INT_MAX to work correctly. The kernel header needs to be fixed. Even coreutils cannot handle it: #define RAMFS_MAGIC 0x858458f6 # stat -f -c%t / ffffffff858458f6 #define BTRFS_SUPER_MAGIC 0x9123683E # stat -f -c%t /mnt ffffffff9123683e Although I found the perfect working macro to fix the thing :) __extension__ ({ \ bool _ret = false; \ switch(f) { case c: _ret=true; }; \ ( _ret ); \ })
2013-04-18macro.h: let F_TYPE_CMP() macro fail to compile, if second parameter is not ↵Harald Hoyer
const If the magic parameter is not a const, then the macro does not work, so better fail to compile, than be surprised afterwards.
2013-04-18fileio.c: do not parse comments after non-whitespace charsHarald Hoyer
systemd does not want to understand comments after the first non-whitespace char occured. key=foo #comment will result into key == "foo #comment" key="foo" #comment will result into key == "foo#comment" "key= #comment" will result into key == "#comment" "key #comment" is an invalid line
2013-04-18sd-login.c: fixup for d70964d0Harald Hoyer
p pointer is not _cleanup_free_
2013-04-18move _cleanup_ attribute in front of the typeHarald Hoyer
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html
2013-04-18login/sd-login.c: make use of _cleanup_free_ and friendsHarald Hoyer
2013-04-18rename CMP_F_TYPE to F_TYPE_CMPHarald Hoyer
2013-04-18Add ugly CMP_F_TYPE() macroHarald Hoyer
On some architectures (like s390x) the kernel has the type int for f_type, but long in userspace. Assigning the 32 bit magic constants from linux/magic.h to the 31 bit signed f_type in the kernel, causes f_type to be negative for some constants. glibc extends the int to long for those architecures in 64 bit mode, so the negative int becomes a negative long, which cannot be simply compared to the original magic constant, because the compiler would automatically cast the constant to long. To workaround this issue, we also compare to the (int)MAGIC value in a macro. Of course, we could do #ifdef with the architecure, but it has to be maintained, and the magic constants are 32 bit anyway. Someday, when the int is unsigned or long for all architectures, we can remove this macro again. Until then, keep it as simple as it can be.
2013-04-18core/execute: only clean the environment, if we have oneHarald Hoyer
2013-04-18build-sys: add sd_journal_add_conjunction() to symbol versioning fileLennart Poettering