summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-12-24tmpfiles: introduce the concept of unsafe operationsZbigniew Jędrzejewski-Szmek
Various operations done by systemd-tmpfiles may only be safely done at boot (e.g. removal of X lockfiles in /tmp, creation of /run/nologin). Other operations may be done at any point in time (e.g. setting the ownership on /{run,var}/log/journal). This distinction is largely orthogonal to the type of operation. A new switch --unsafe is added, and operations which should only be executed during bootup are marked with an exclamation mark in the configuration files. systemd-tmpfiles.service is modified to use this switch, and guards are added so it is hard to re-start it by mistake. If we install a new version of systemd, we actually want to enforce some changes to tmpfiles configuration immediately. This should now be possible to do safely, so distribution packages can be modified to execute the "safe" subset at package installation time. /run/nologin creation is split out into a separate service, to make it easy to override. https://bugzilla.redhat.com/show_bug.cgi?id=1043212 https://bugzilla.redhat.com/show_bug.cgi?id=1045849
2013-12-24bus: properly shift cgroup data returned from kdbus by the container's root ↵Lennart Poettering
before parsing
2013-12-24bus: fix return message if StartServiceByName() in the driver fails dueLennart Poettering
to non-existing service
2013-12-24busctl: show service/session a name belongs to in the list of namesLennart Poettering
Also, don't show machine name by default as this might cause timeouts on non-responding peers.
2013-12-24log: log_error() and friends add a newline after each line anyway, so avoid ↵Lennart Poettering
including it in the log strings
2013-12-24util: don't accept an empty peer label as validLennart Poettering
2013-12-24bus: only accept kdbus creds if they are validLennart Poettering
This allows userspace to fake kdbus creds via struct ucred in the proxy, without making the recieving side choke on the missing fields of the kdbus struct, more precisel pid_starttime and tid
2013-12-24util: unify SO_PEERCRED/SO_PEERSEC invocationsLennart Poettering
Introduce new call getpeercred() which internally just uses SO_PEERCRED but checks if the returned data is actually useful due to namespace quirks.
2013-12-24bus: fix hello ioctl buffer size calculationLennart Poettering
2013-12-24bus: make gcc shut upLennart Poettering
2013-12-24bus: fake client side creds in the proxy to the caller's credsLennart Poettering
2013-12-24bus: allow peeking signatures recusively inside of containersLennart Poettering
Previously we invalidated the peeked signature as soon as the caller would recurse into a container, making stack based handling difficult. With this change we will keep the peeked signature around until the user advances to the next field.
2013-12-23bus: fix assert when serializing fixed size struct to gvariantLennart Poettering
2013-12-23bus: don't attach KDBUS_ITEM_ID to match ioctl() if we don't need itLennart Poettering
2013-12-23bus: fix sender match creation on kdbusLennart Poettering
2013-12-23sd-event: make sd_event_add_signal() fail with EBUSY if signal is not blockedLennart Poettering
2013-12-23core: when we close the notify fd, we also need to free its event sourceLennart Poettering
2013-12-23sd-event: fix return code of sd_event_run()Lennart Poettering
2013-12-23machinectl: fix success check when getting pty from within containerLennart Poettering
2013-12-23bus-proxyd: init cleanup variableKay Sievers
2013-12-23bus: update kdbus.hKay Sievers
2013-12-23bus: when getting a kdbus connection into a container wait first for child, ↵Lennart Poettering
then read message There's no EOF generated for AF_UNIX/SOCK_DGRAM sockets, hence let's wait for the child first to see if it succeeded, only then read the socket.
2013-12-23bus: when we are connected to a bus, then do not assume peer creds are ↵Lennart Poettering
useful as message creds
2013-12-23util: when we try to read /proc/cmdline in a container, read /proc/1/cmdline ↵Lennart Poettering
instead
2013-12-23log: als turn on debug logging in non-PID1 if /proc/cmdline contains "debug"Lennart Poettering
2013-12-23bus: make sure sd_bus_emit_properties_changed_strv() doesn't return ENOENT ↵Lennart Poettering
if no properties with a change flag are in the interface
2013-12-23bus: write debug message when we get a method call we cannot handleLennart Poettering
2013-12-22delta: if prefix is specified, only show overrides thereZbigniew Jędrzejewski-Szmek
systemd-delta /run/systemd/system will show all unit overrides in /run, etc.
2013-12-22delta: fix delta for drop-insZbigniew Jędrzejewski-Szmek
Also, fix highlighting, add more debug statements, make const tables static and global, run path_kill_slashes only at entry.
2013-12-23bus: make sure to request peer cred only after connect(), not beforeLennart Poettering
2013-12-23bus: always talk to the full dbus driver objectLennart Poettering
2013-12-23bus-proxyd: synthesize NameAcquire/NameLost signals for socket clientsLennart Poettering
2013-12-23bus: use memcpy() rather than unbounded strcpy()Lennart Poettering
2013-12-23bus: switch kdbus bloom filter over to SipHash (from MurmurHash3)Lennart Poettering
Let's try to standardize on a single non-cryptographic hash algorithm, and for that SipHash appears to be the best answer. With this change there are two other hash functions left in systemd: an older version of MurmurHash embedded into libudev for the bloom filters in udev messages (which is hard to update, given that the we probably should stay compatible with older versions of the library). And lookup3 in the journal files (which we could replace for new files, but which is probably not worth the work).
2013-12-23libudev: ship the original MurmurHash2.[ch] fileKay Sievers
2013-12-22loginctl: fix output of type with classMantas Mikulėnas
2013-12-22Fix extraction of _SYSTEMD_USER_UNITZbigniew Jędrzejewski-Szmek
Units from user services underneath user@.service would not be detected properly.
2013-12-22systemctl: also color filenames of drop-ins in catZbigniew Jędrzejewski-Szmek
2013-12-22sd-daemon: introduce sd_watchdog_enabled() for parsing $WATCHDOG_USECLennart Poettering
Also, introduce a new environment variable named $WATCHDOG_PID which cotnains the PID of the process that is supposed to send the keep-alive events. This is similar how $LISTEN_FDS and $LISTEN_PID work together, and protects against confusing processes further down the process tree due to inherited environment.
2013-12-22journal: when we shall go down do so cleanlyLennart Poettering
2013-12-22shared: switch our hash table implementation over to SipHashLennart Poettering
SipHash appears to be the new gold standard for hashing smaller strings for hashtables these days, so let's make use of it.
2013-12-22bus: also take write queue into consideration in sd_bus_try_close()Lennart Poettering
2013-12-22core: the cgroup properties are not actually constLennart Poettering
2013-12-22Revert "bus-proxyd: use a loop instead of c&p"Kay Sievers
This reverts commit 9818fa6d6d32d87a3e1b96934a54523ea6b02879. The proxy does not work anymore with this patch.
2013-12-22libsystemd-dhcp: add some assertsTom Gundersen
2013-12-22libsystemd-dhcp: Handle T2 Rebinding timeoutPatrik Flykt
Reuse existing functionality when adding T2 Rebinding support.
2013-12-22libsystemd-dhcp: Factor out common code initializing eventsPatrik Flykt
Factor out common code from timeout T1 handling and starting of the DHCP client.
2013-12-22libsystemd-dhcp: Handle T1 Renewing timeoutPatrik Flykt
Expiration of T1 timeout takes the client to the Rebinding state, where it attempts to renew its lease. Start by opening a DCHP unicast socket as there now is a proper IP address set. Compute the resend timer as half of the remaining time down to a minimum of 60 seconds (RFC2131). Modify DHCP Request sending to send only UDP DHCP data when unicasting. Also modify DHCP Ack/Nak receiving such that the client_receive_ack() takes care of using either the full IP, UDP, DHCP packet or only the DHCP payload depending whether the client is in Requesting or Renewing state. Finally always report DHCP_EVENT_IP_ACQUIRE from Requesting state and only DHCP_EVENT_IP_CHANGE if the IP address was modified when the lease was renewed.
2013-12-22libsystemd-dhcp: Add functions for sending unicast UDP messagesPatrik Flykt
Create a helper functions setting up an unicast DHCP UDP socket and sending data. Add function stubs for the test program. [tomegun: initialize structs when allocating, and drop unneccesary 'err']
2013-12-22libsystemd-dhcp: Check test result without casting valuePatrik Flykt