summaryrefslogtreecommitdiff
path: root/src/shared
AgeCommit message (Collapse)Author
2013-12-14util: port last code over to new namespace utility callsLennart Poettering
2013-12-14util: when joining a namespace make sure to reset all uids to 0 afterLennart Poettering
the transition
2013-12-14bus: when connecting to a container's kdbus instance, enter namespace firstLennart Poettering
Previously we'd open the connection in the originating namespace, which meant most peers of the bus would not be able to make sense of the PID/UID/... identity of us since we didn't exist in the namespace they run in. However they require this identity for privilege decisions, hence disallowing access to anything from the host. Instead, when connecting to a container, create a temporary subprocess, make it join the container's namespace and then connect from there to the kdbus instance. This is similar to how we do it for socket conections already. THis also unifies the namespacing code used by machinectl and the bus APIs.
2013-12-12shared: Add struct sockaddr_ll to sockaddr_unionPatrik Flykt
2013-12-12log: protect errno when we use assert_return()Lennart Poettering
2013-12-12shared: add missing includeMarc-Antoine Perennou
Needed for socketpair, recv
2013-12-11Do not log all assert_return failuresZbigniew Jędrzejewski-Szmek
% build/journalctl help Assertion 'match_is_valid(data, size)' failed at ../src/journal/sd-journal.c:227, function sd_journal_add_match(). Ignoring. Callers cannot be expect to check all arguments always.
2013-12-11journald: cache cgroup root path, instead of querying it on every incoming ↵Lennart Poettering
log message
2013-12-11journal: add ability to browse journals of running OS containersLennart Poettering
This adds the new library call sd_journal_open_container() and a new "-M" switch to journalctl. Particular care is taken that journalctl's "-b" switch resolves to the current boot ID of the container, not the host.
2013-12-11service: clean up watchdog logic a bitLennart Poettering
2013-12-11ptyfwd: Don't set the output prop of stdin, nor the input props of stdout.Luke Shumaker
It was calling cfmakeraw(3) on the properties for STDIN_FILENO; cfmakeraw sets both input and output properties. If (and only if) stdin and stdout are the same device is this correct. Otherwise, we must change only the input properties of stdin, and only the output properties of stdout.
2013-12-11ptyfwd: Set the size of the PTY base on the size of stdout, not stdin.Luke Shumaker
2013-12-10hashmap: make gcc shut up on old glibcs that lack getauxval()Lennart Poettering
2013-12-10util: check for overflow in greedy_realloc()Lennart Poettering
2013-12-10macro: log assertion at debug level in assert_return()Lennart Poettering
2013-12-06Get rid of our reimplementation of basenameZbigniew Jędrzejewski-Szmek
The only problem is that libgen.h #defines basename to point to it's own broken implementation instead of the GNU one. This can be fixed by #undefining basename.
2013-12-05util: fix misuse of memcmpYuxuan Shui
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }
2013-12-03macro: better make IN_SET() macro use const arraysLennart Poettering
2013-12-03bus: add generator that turns old dbus1 activation files into .busname + ↵Lennart Poettering
.service units
2013-12-02bus: add .busname unit type to implement kdbus-style bus activationLennart Poettering
2013-12-02macro: add a macro to test whether a value is in a specified listLennart Poettering
Introduce IN_SET() macro to nicely check whether a value a is one of a few listed values. This makes writing this: if (a == 1 || a == 7 || a == 8 || a == 9) nicer, by allowing this: if (IN_SET(a, 1, 7, 8, 9)) This is particularly useful for state machine enums.
2013-12-01util: add greedy_realloc0()David Herrmann
Compared to greedy_realloc(), this sets all newly allocated memory to 0. As the old variant has been used a lot for string-handling, we avoid changing it as clearing memory is not needed there.
2013-11-30fix regression of read_full_file() in fileio.cShawn Landden
my e93c33d4aa broke this stupidly
2013-11-30systemctl: add "systemctl cat"Shawn Landden
2013-12-01util.c: check if return value from ttyname_r is > 0 instead of != 0Thomas Hindoe Paaboel Andersen
We must return a negative error code from getttyname_malloc but that would not be the case if ttyname_r returned a negative value. ttyname_r should only return EBADF, ENOTTY, or ERANGE so it should be safe to change.
2013-11-30macro.h: fix typo in commentThomas Hindoe Paaboel Andersen
2013-11-30bus: include unique and well known names in credentials objectLennart Poettering
2013-11-28virt: split detect_vm into separate functionsZbigniew Jędrzejewski-Szmek
It didn't build on arm. Let's simplify it a bit by splitting x86 specific parts out, which should also make things easier when arm virtualization support is added.
2013-11-28bus: add new sd_bus_creds object to encapsulate process credentialsLennart Poettering
This way we can unify handling of credentials that are attached to messages, or can be queried for bus name owners or connection peers. This also adds the ability to extend incomplete credential information with data from /proc, Also, provide a convenience call that will automatically determine the most appropriate credential object for an incoming message, by using the the attached information if possible, the sending name information if available and otherwise the peer's credentials.
2013-11-28util: fix handling of trailing whitespace in split_quoted()Lennart Poettering
Inspired by a patch by Lukas Nykryn.
2013-11-27service: add the ability for units to join other unit's PrivateNetwork= and ↵Lennart Poettering
PrivateTmp= namespaces
2013-11-25conf-parser: fix memory realloc errorYin Kangkai
Otherwise there is some memory corruption and undefined behavior, e.g., in my case systemd-udev was always aborted at the _cleanup_freep_ around that code blocks.
2013-11-25shutdown: during final killing spree also send SIGHUP in addition to SIGTERM ↵Lennart Poettering
to deal with shells This makes shutdown a bit faster if debug-shell.service is enabled.
2013-11-25conf-parser: distinguish between multiple sections with the same nameTom Gundersen
Pass on the line on which a section was decleared to the parsers, so they can distinguish between multiple sections (if they chose to). Currently no parsers take advantage of this, but a follow-up patch will do that to distinguish [Address] Address=192.168.0.1/24 Label=one [Address] Address=192.168.0.2/24 Label=two from [Address] Address=192.168.0.1/24 Label=one Address=192.168.0.2/24 Label=two
2013-11-25swap: split state machine state ACTIVATING into twoLennart Poettering
We expect the event on /proc/swaps before we expect the SIGCHILD, reflect this in the state machine.
2013-11-25udev: net_setup_link - don't use Description as AliasTom Gundersen
Use Description only internally, and allow Alias to be set as a separate option. For instance SNMP uses ifalias for a specific purpose, so let's not write to it by default.
2013-11-22systemctl: indicate in list-dependencies whether a unit is already runningLennart Poettering
2013-11-22build-sys: move more files from core/ to share/ that are generic enoughLennart Poettering
2013-11-22macro: fix problem with __LINE__ macro expansionLukasz Skalski
David: I already applied a fix for that, but this patch definitely looks nicer. I changed CONCATENATE_HELPER() -> XCONCATENATE() similar to XSTRINGIFY and added the UNIQUE() helper.
2013-11-22macro: fix assert_cc() fallbackDavid Herrmann
We need two-level macro-expansion, otherwise __LINE__ will not get evaluated.
2013-11-22bus: rework sd_bus_error APIsLennart Poettering
All calls that set a sd_bus_error structure will now return the same error converted to a negative errno. This may be used as syntactic sugar to return from a function and setting a bus_error structure in one go. Also, translate all Linux Exyz (EIO, EINVAL, EUCLEAN, EPIPE, ...) automatically into counterparts in the (new) "Posix.Error." namespace. If we fail to allocate memory for the components of a sd_bus_error automatically reset it to an OOM error which we always can write.
2013-11-21bus: add API calls to escape string components of objects pathsLennart Poettering
2013-11-20core: convert PID 1 to libsystemd-busLennart Poettering
This patch converts PID 1 to libsystemd-bus and thus drops the dependency on libdbus. The only remaining code using libdbus is a test case that validates our bus marshalling against libdbus' marshalling, and this dependency can be turned off. This patch also adds a couple of things to libsystem-bus, that are necessary to make the port work: - Synthesizing of "Disconnected" messages when bus connections are severed. - Support for attaching multiple vtables for the same interface on the same path. This patch also fixes the SetDefaultTarget() and GetDefaultTarget() bus calls which used an inappropriate signature. As a side effect we will now generate PropertiesChanged messages which carry property contents, rather than just invalidation information.
2013-11-20hashmap: be a bit more conservative with pre-allocating hash tables and itemsLennart Poettering
2013-11-20install: when determining where default.target points to, accept a file ↵Lennart Poettering
instead of a symlink, too
2013-11-20calendar: support 'yearly' and 'annually' names the same way as cronLennart Poettering
2013-11-20hwclock: modernizationsLennart Poettering
2013-11-20macro: add _unlikely_() to assert_return()Lennart Poettering
As the name indicates assert_return() is really just for assertions, i.e. where it's a programming error if the assertion does not hold. Hence it is safe to add _unlikely_() decorators for the expression to check.
2013-11-20macro: change assert_cc() so that it can appear outside of functionsLennart Poettering