summaryrefslogtreecommitdiff
path: root/src/shared/util.c
AgeCommit message (Collapse)Author
2012-08-14service: add options RestartPreventExitStatus and SuccessExitStatusLukas Nykryn
In some cases, like wrong configuration, restarting after error does not help, so administrator can specify statuses by RestartPreventExitStatus which will not cause restart of a service. Sometimes you have non-standart exit status, so this can be specified by SuccessfulExitStatus.
2012-08-13namespace: rework namespace supportLennart Poettering
- don't use pivot_root() anymore, just reuse root hierarchy - first create all mounts, then mark them read-only so that we get the right behaviour when people want writable mounts inside of read-only mounts - don't pass invalid combinations of MS_ constants to the kernel
2012-08-09journald: properly unescape messages from /dev/kmsgLennart Poettering
2012-07-26cgtop: use full terminal widthZbigniew Jędrzejewski-Szmek
2012-07-26log.h: new log_oom() -> int -ENOMEM, use itShawn Landden
also a number of minor fixups and bug fixes: spelling, oom errors that didn't print errors, not properly forwarding error codes, few more consistency issues, et cetera
2012-07-25use "Out of memory." consistantly (or with "\n")Shawn Landden
glibc/glib both use "out of memory" consistantly so maybe we should consider that instead of this. Eliminates one string out of a number of binaries. Also fixes extra newline in udev/scsi_id
2012-07-16unit: introduce %s specifier for the user shellLennart Poettering
2012-07-16util: add getusername_malloc(), get_shell(), get_home_dir()Lennart Poettering
2012-07-15aquire_terminal(): fix uninitialized variableKay Sievers
./src/shared/util.c:2457:45: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
2012-07-13util: temporarily ignore SIGHUP while we are issuing TIOCSTTYLennart Poettering
2012-07-13util: rename join() to strjoin()Lennart Poettering
This is to match strappend() and the other string related functions.
2012-07-10switch-root: reopen /dev/console before we switch rootLennart Poettering
2012-07-10util: rm_rf() refuse cleaning non-memory file systems, as extra paranoiaLennart Poettering
2012-07-10util: add extra safety check to in_initrd()Lennart Poettering
initrds can only be on tmpfs or ramfs, so check for that
2012-07-09paranoia: refuse rm_rf("/")Lennart Poettering
2012-06-26core: make systemd.confirm_spawn=1 actually workLennart Poettering
This adds a timeout if the TTY cannot be acquired and makes sure we always output the question to the console, never to the TTY of the respective service.
2012-05-31util: don't require libcap when building libsystemd-sharedKay Sievers
src/shared/util.c includes <sys/capability.h> but doesn't use anything defined there. Since <sys/capability.h> is part of libcap, not libc, don't require it. Allows systemd-without-udevd to require fewer external libraries.
2012-05-31util: introduce a proper nsec_t and make use of it where appropriateLennart Poettering
2012-05-30logind: optionally handle power, sleep and lid switch eventsLennart Poettering
This takes handling of chassis power and sleep keys as well as the lid switch over from acpid. This logic is enabled by default for power and sleep keys, but not for the lid switch. If a graphical session is in the foreground no action is taken under the assumption that the graphical session does this.
2012-05-22util: make sure to fstatat() at most once in rm_rf_children()Lennart Poettering
2012-05-21util: rework in_initrd() logicLennart Poettering
Checking the device major/minor is not a good idea. Let's replace this with an explicit flag file, which we model after /etc/os-release and call /etc/initrd-release.
2012-05-21util: rm_rf_children() add root_dev parameterHarald Hoyer
if root_dev is set, remove subdirectories only, if the device is the same as the root_dev. This prevents to remove files across device boundaries.
2012-05-21util.c: add in_initrd()Harald Hoyer
in_initrd() checks, if the stat() for the device for "/" is 1, which it is for the initramfs.
2012-05-21main: corrected do_switch_root()Harald Hoyer
do_switch_root now mount moves "/dev", "/proc", "/sys", "/run" and removes the old root recursively.
2012-05-21hostname-setup: also consider (ńone) an unset hostnameLennart Poettering
2012-05-21units: introduce new Documentation= field and make use of it everywhereLennart Poettering
This should help making the boot process a bit easier to explore and understand for the administrator. The simple idea is that "systemctl status" now shows a link to documentation alongside the other status and decriptionary information of a service. This patch adds the necessary fields to all our shipped units if we have proper documentation for them.
2012-05-15tmpfiles: if we are supposed to write a string to a file, it's OK if we ↵Lennart Poettering
can't write the trailing newline
2012-05-14unit: print the color status marks on the leftMichal Schmidt
The alignment of the "[ OK ]" and "[FAILED]" status marks to the right side of the terminal makes it difficult to link them with the messages on the left if your console is wide. I considered the options: 1. Align them to the 80th column regardless of the console width. Disadvantage - either: - truncating messages needlessly, not using available space; or - If the message is long, write the mark over it. => ugly 2. Write them to the 80th column for short messages, and further to the right for longer ones. Disadvantage: - jagged look 3. Write the marks on the left, before the message. Disadvantage: - Breaks tradition from RHL. Advantages: + slightly simpler code + Will annoy holy-traditionalists. I chose option 3. BTW, Debian now uses similar marks on the left with its makefile-style boot. Special values of the "status" argument to status_vprintf are: NULL - no status mark, no message indentation "" - no status mark, message indented as if the mark was there
2012-05-09util: a few updates for rm_rf()Lennart Poettering
2012-05-08logind: implement suspend/hibernate calls with inhibition logicLennart Poettering
2012-05-08sleep: implement suspend/hibernate as first class targetsLennart Poettering
2012-05-08util: split-out path-util.[ch]Kay Sievers
2012-05-08util: split-out hwclock.[ch]Kay Sievers
2012-05-07util: split-out conf-file.[ch]Kay Sievers
2012-05-07conf_files_list(): split out conf_files_list_strv()Kay Sievers
2012-05-07conf_files_list(): files-add() - do not canonicalize file namesKay Sievers
File names in /etc, /run, /usr/lib are sorted/overridden by basename. Sorting things like "/dev/null" with the basename "null" in the hash of config files breaks the ordering and the overriding logic.
2012-05-03hwclock: add taint flag for non-local hwclockLennart Poettering
2012-04-22util: unify getenv() logic for other PIDLennart Poettering
2012-04-22default to v102 everywhere, instead of vt100, to synchronize with agettyLennart Poettering
2012-04-22login: assing /dev/console logins to seat0Lennart Poettering
2012-04-22util: fix tty_is_vc_resolve() in a container where ↵Lennart Poettering
/sys/class/tty/console/active is misleading
2012-04-16logind: add shutdown/suspend/idle inhibition frameworkLennart Poettering
2012-04-12execute: when we can't get the requested rlimit, get the next closestLennart Poettering
2012-04-12relicense to LGPLv2.1 (with exceptions)Lennart Poettering
We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
2012-04-11polkit: when spawning off agent, wait until the agent is fully initializedLennart Poettering
2012-04-11polkit: temporarily spawn of a polkit agent in terminals for possibly ↵Lennart Poettering
authenticated operations
2012-04-11main: drop container/initrd env vars from inherited setLennart Poettering
Leave the env vars used in the container/initrd logic set for PID1, but don't inherit them to any children.
2012-04-10rename basic.la to shared.la and put selinux deps in shared-selinx.laKay Sievers
Only 34 of 74 tools need libselinux linked, and libselinux is a pain with its unconditional library constructor.
2012-04-10util: move all to shared/ and split external dependencies in separate ↵Kay Sievers
internal libraries Before: $ ldd /lib/systemd/systemd-timestamp linux-vdso.so.1 => (0x00007fffb05ff000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f90aac57000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f90aaa53000) librt.so.1 => /lib64/librt.so.1 (0x00007f90aa84a000) libc.so.6 => /lib64/libc.so.6 (0x00007f90aa494000) /lib64/ld-linux-x86-64.so.2 (0x00007f90aae90000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f90aa290000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f90aa08a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f90a9e6e000) After: $ ldd systemd-timestamp linux-vdso.so.1 => (0x00007fff3cbff000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f5eaa1c3000) librt.so.1 => /lib64/librt.so.1 (0x00007f5ea9fbb000) libc.so.6 => /lib64/libc.so.6 (0x00007f5ea9c04000) /lib64/ld-linux-x86-64.so.2 (0x00007f5eaa3fc000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f5ea9a00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5ea97e4000)