summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-09-30tree-wide: remove a number of invocations of strerror() and replace by %mLennart Poettering
Let's clean up our tree a bit, and reduce invocations of the thread-unsafe strerror() by replacing it with printf()'s %m specifier.
2015-09-30basic: split out cpu set specific APIs into cpu-set-util.[ch]Lennart Poettering
2015-09-30conf-parser: make use of DEFINE_PARSER macro to parse mode_tLennart Poettering
Let's unify more code. Also, rework the macro to accept a trailing semicolon, to make the code prettier.
2015-09-30util: there cannot be trailing garbage when parsing cpu setsLennart Poettering
extract_first() already skips trailing whitespace, hence no reason to explicitly check for it.
2015-09-30util: rename parse_cpu_set() to parse_cpu_set_and_warn()Lennart Poettering
It's pretty untypical for our parsing functions to log on their own. Clarify in the name that this one does.
2015-09-30log: move log_invalid_utf8() to log.hLennart Poettering
Also, make sure it follows the same scheme as log_syntax() does in its behaviour.
2015-09-30tree-wide: clean up log_syntax() usageLennart Poettering
- Rely everywhere that we use abs() on the error code passed in anyway, thus don't need to explicitly negate what we pass in - Never attach synthetic error number information to log messages. Only log about errors we *receive* with the error number we got there, don't log any synthetic error, that don#t even propagate, but just eat up. - Be more careful with attaching exactly the error we get, instead of errno or unrelated errors randomly. - Fix one occasion where the error number and line number got swapped. - Make sure we never tape over OOM issues, or inability to resolve specifiers
2015-09-30Merge pull request #1421 from keszybz/formatting-fixesDaniel Mack
logind: avoid a dot before parenthesis
2015-09-30logind: avoid a dot before parenthesisZbigniew Jędrzejewski-Szmek
systemd-logind[27]: System is rebooting. (Applied kernel updates.) is changed to systemd-logind[27]: System is rebooting (Applied kernel updates). Users should not add a dot in the sentence in --message, i.e. the correct usage is now: $ systemctl reboot --message "Applied kernel updates"
2015-09-30Merge pull request #1415 from aakoskin/bootchart-v2Daniel Mack
[v2] bootchart: don't fail if "model name" is missing from cpuinfo
2015-09-30Merge pull request #1418 from poettering/base-fsDaniel Mack
base-fs: consider inability to create /root non-fatal
2015-09-30Merge pull request #1417 from poettering/nspawn-and-moreDaniel Mack
Various fixes, primarily for nspawn, but other stuff too
2015-09-30base-fs: consider inability to create /root non-fatalLennart Poettering
Fixes #1414
2015-09-30Merge pull request #1394 from steelman/fsck-force-rebootLennart Poettering
fsck: start reboot.target irreversibly
2015-09-30analyze: add new set-log-target subcommandLennart Poettering
We already have the property writable, hence let's add a command to set it.
2015-09-30log: properly return -EINVAL from log_set_max_level_from_string()Lennart Poettering
If we just return the value we got from log_level_from_string() on failure we'll return -1, which is not a proper error code. log_set_target_from_string() did get this right already, hence let's fix this here too.
2015-09-30nspawn: mount /sys as tmpfs, and then mount only select subdirs of the real ↵Lennart Poettering
sysfs below it This way we can hide things like /sys/firmware or /sys/hypervisor from the container, while keeping the device tree around. While this is a security benefit in itself it also allows us to fix issue #1277. Previously we'd mount /sys before creating the user namespace, in order to be able to mount /sys/fs/cgroup/* beneath it (which resides in it), which we can only mount outside of the user namespace. To ensure that the user namespace owns the network namespace we'd set up the network namespace at the same time as the user namespace. Thus, we'd still see the /sys/class/net/ from the originating network namespace, even though we are in our own network namespace now. With this patch, /sys is mounted before transitioning into the user namespace as tmpfs, so that we can also mount /sys/fs/cgroup/* into it this early. The directories such as /sys/class/ are then later added in from the real sysfs from inside the network and user namespace so that they actually show whatis available in it. Fixes #1277
2015-09-30bootchart: use get_proc_field and PROC_CPUINFO_MODELAaro Koskinen
Use get_proc_field and PROC_CPUINFO_MODEL to get the CPU type. Also don't fail if it missing, instead restore the old behaviour and print "Unknown". Fixes the following error seen with v225 on powerpc: Unable to read module name from cpuinfo. Error generating svg file: No such file or directory
2015-09-30architecture.h: define PROC_CPUINFO_MODELAaro Koskinen
Define PROC_CPUINFO_MODEL to indicate the CPU model field in /proc/cpuinfo.
2015-09-30fileio: make get_status_field() more genericAaro Koskinen
All users of get_status_field() expect the field pattern to occur in the beginning of a line, and the delimiter is ':'. Hardcode this into the function, and also skip any whitespace before ':' to support fields in files like /proc/cpuinfo. Add support for returning the full field value (currently stops on first whitespace). Rename the function so it's easier to ensure all callers switch to new semantics.
2015-09-30nspawn: fix user namespace supportLennart Poettering
We didn#t actually pass ownership of /run to the UID in the container since some releases, let's fix that.
2015-09-30nspawn: order includesLennart Poettering
2015-09-30nspawn: make sure mount_legacy_cgroup_hierarchy() can deal with NULL root ↵Lennart Poettering
directories
2015-09-30systemctl: when reading legacy -t argument for shutdown, don't drop ↵Lennart Poettering
following parameter We currently completely ignore the following parameter, but we really should not, as that is actually the time to shut down on.
2015-09-30systemctl: various modernizationsLennart Poettering
2015-09-30tree-wide: use strempty() where possibleDaniel Mack
Also add a Coccinell patch to detect such locations in the future.
2015-09-29Merge pull request #1408 from poettering/systemctl-and-moreDaniel Mack
Systemctl and more
2015-09-29systemctl: when a shutdown is scheduled, always go via logindLennart Poettering
2015-09-29systemctl: minor modernizationsLennart Poettering
2015-09-29systemctl: port verb dispatching to generic verbs.[ch] codeLennart Poettering
Let's parse the command line the same way in our various tools.
2015-09-29systemctl: prefer shutting down through logind even as rootLennart Poettering
Otherwise, wall messages will not be generated for root.
2015-09-29systemctl: split out code invoking SetExitCode() into function of its ownLennart Poettering
2015-09-29pager: minor modernizationsLennart Poettering
2015-09-29systemctl: don't assert on the arguments array unnecessarilyLennart Poettering
In most verbs it's fine to treat the arguments array being NULL is empty array, hence do so.
2015-09-29systemctl: make use of strv_skip() where appropriateLennart Poettering
2015-09-29systemctl: make use of log_error_errno() where we canLennart Poettering
Also adds a couple of "return" statements, where they are missing.
2015-09-29systemctl: rework how we connect to bussesLennart Poettering
Sometimes we have to connect to the system manager directly (early boot, initrd, late boot, ...), sometimes through the system bus (unprivileged, remote, logind, ...). Instead of guessing in advance, which kind of connection we require (and sometimes guessing incorrectly), let's make sure each time we need bus connection we request the right bus explicitly. This way, we set up exactly the bus connections require, never guess incorrectly, and do so only immediately when necessary. As effect this reworks avoid_bus() into install_client_side(), since that's all it determines now: whether to install unit files client-side or server-side (i.e. in PID 1).
2015-09-29core: add a "Requires=" dependency between units and the slices they are ↵Lennart Poettering
located in We place the processes we fork off in the cgroup anyway, and we probably shouldn't be able to get that far if we couldn't set up the slice due to resource problems or unmet conditions. Hence upgrade the dependency between units and the slices they are located in from Wants= to Requires=.
2015-09-29update-utmp: flush and close the bus used for connections after useLennart Poettering
2015-09-29update-utmp: minor modernizationsLennart Poettering
2015-09-29bus-util: rename bus_open_transport() to bus_connect_transport()Lennart Poettering
In sd-bus, the sd_bus_open_xyz() family of calls allocates a new bus, while sd_bus_default_xyz() family tries to reuse the thread's default bus. bus_open_transport() sometimes internally uses the former, sometimes the latter family, but suggests it only calls the former via its name. Hence, let's avoid this confusion, and generically rename the call to bus_connect_transport(). Similar for all related calls. And while we are at it, also change cgls + cgtop to do direct systemd connections where possible, since all they do is talk to systemd itself.
2015-09-29pager: minor simplificationLennart Poettering
2015-09-29systemctl: rename parse_time_spec() to parse_shutdown_time_spec()Lennart Poettering
Let's clarify that this function is specific to shutdown time specifications, nothing else.
2015-09-29systemctl: conditionalize /dev/initctl fallback on HAVE_SYSV_COMPATLennart Poettering
2015-09-29systemctl: allocate arg_wall only on the heapLennart Poettering
Previously, we'd allocate it sometimes from the heap, but otherwise let it point directly int argv[]. Let's clean this up, so that we know exactly how to release its resources, and do so at the end.
2015-09-29systemctl: add 'const' where appropriateLennart Poettering
2015-09-29systemctl: remove client-side wall message supportLennart Poettering
logind sends out wall messages now, let's remove this from the systemctl client side hence. If people build systemd without logind support they won't get wall messages now, but that's OK.
2015-09-29systemctl: move strv_skip_first() out of systemctl.cLennart Poettering
Make it generic, call it strv_skip() and move it to strv.[ch]
2015-09-29systemctl: split out code that schedules shutdowsn into its own functionLennart Poettering
2015-09-29systemctl: rename all logind-specific functions to logind_xyz()Lennart Poettering