summaryrefslogtreecommitdiffstats
path: root/units/systemd-sysctl.service.in (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-06-15tmpfiles: create /etc/resolv.conf as link to networkd's version, if it ↵Lennart Poettering1-0/+1
doesn't exist If /etc/resolv.conf doesn't exist it's better than nothing to make it point to networkd's version.
2014-06-14sysusers: order before tmpfiles which need the idsKay Sievers1-1/+1
2014-06-14networkd: link - flush all pending NEWLINK events before trying to matchTom Gundersen1-10/+44
We could still have an old interface name and/or mac address when libudev tells us that the device is initialized, as the up-to-date info could still be on its way from the kernel.
2014-06-14Revert "Revert "networkd: netdev - set predictable mac address when creating ↵Tom Gundersen1-1/+73
netdev"" This reverts (and rewrites) commit 7d95c772cba1836545459760273b13f2e01dd2a8. The issue blocking this feature has now been fixed in the kernel, and backported to the various stable kernels. Our netdevs will now have stable MAC addresses, even if one is not specified.
2014-06-14networkd: netdev - allow setting MACAddress in .netdev filesTom Gundersen5-2/+78
It may sometimes be necessary to specify the MAC address of a netdev. Let us set the correct one from the get-go, rather than having the kernel generate a random one, and then change it after.
2014-06-14networkd: add assertTom Gundersen1-0/+2
It should not be possible to have a DHCP lease on a link without also having an associated network. Add assert() to avoid compiler warnings. Reported by Thomas H. P. Andersen
2014-06-13networkd: link - check returned value from set_lease_poolThomas Hindoe Paaboel Andersen1-0/+2
2014-06-13Fix spelling mistake, scirpt --> scriptColin Ian King1-1/+1
2014-06-13core: don't complain at early boot if /etc/mtab is not the right symlinkLennart Poettering1-9/+15
When we boot up with an empty /etc it's ok if the symlink doesn't exist. We will create it later with tmpfiles.
2014-06-13tmpfiles: always use relative symlinks from tmpfiles snippetsLennart Poettering1-1/+1
2014-06-13os-release: define /usr/lib/os-release as fallback for /etc/os-releaseLennart Poettering11-26/+76
The file should have been in /usr/lib/ in the first place, since it describes the OS container in /usr (and not the configuration in /etc), hence, let's support os-release files in /usr/lib as fallback if no version in /etc exists, following the usual override logic. A prior commit already enabled tmpfiles to create /etc/os-release as a symlink to /usr/lib/os-release should it be missing, thus providing nice compatibility with applications only checking in /etc. While it's probably a good idea if all apps check both locations via a fallback logic, it is only necessary in the early boot process, as long as the /etc/os-release symlink has not been restored, in case we boot with an empty /etc.
2014-06-13sysusers: always treat ENOENT as entry-not-found when doing NSS callsLennart Poettering1-7/+7
For most NSS calls it is documented that they return NULL + errno=0 when an entry is not found. However, in reality it appears to be common to return NULL + errno=ENOENT, instead. Handle that correctly, and don't consider ENOENT a systematic error.
2014-06-13rpm: add RPM macros to apply sysusers, sysctl, and binfmt drop-insLennart Poettering3-2/+16
With this in place RPMs can make sure that whatever they drop in is immeidately applied, and not delayed until next reboot. This also moves systemd-sysusers back to /usr/bin, since hardcoding the path to /usr/lib in the macros would mean compatibility breaks in future, should we turn sysusers into a command that is actually OK for people to call directly. And given that that is quite likely to happen (since it is useful to prepare images with its --root= switch), let's just prepare for it.
2014-06-13rpm: don't hardcode the binary paths in the macros, rely on $PATHLennart Poettering1-10/+10
this gives us a little bit more freedom to move things around later on, as we don't hardcode the systemd paths in old RPMs that shall work with new systemds.
2014-06-13sd-dhcp-server: test - skip when lacking permsTom Gundersen1-3/+15
2014-06-13install: fix invalid free() in unit_file_mask()Andreas Henriksson1-1/+1
int unit_file_mask(...) in ./src/shared/install.c calls get_config_path(...) which can in 4 error cases return without setting "ret", and thus "prefix" can be uninitialized when unit_file_mask(...) finishes (which it does directly after the error is returned from get_config_path(...)).
2014-06-13udev: fix invalid free() in enable_name_policy()Andreas Henriksson1-1/+1
static bool enable_name_policy(...) in ./src/udev/net/link-config.c calls proc_cmdline(...) to get "line" initialized, but proc_cmdline(...) does not guarantee that atleast when both conditions (detect_container(NULL) > 0) and read_full_file(...) returned < 0.
2014-06-13core: fix invalid free() in killall()Andreas Henriksson1-1/+1
static int killall(....) in ./src/core/killall.c tries to get "s" initialized by calling get_process_comm(...) which calls read_one_line_file(...) which if it fails will mean it is left uninitialized. It is then used in argument to strna(s) call where it is dereferenced(!), in addition to nothing else initializing it before the scope it is in finishes.
2014-06-13sd-dhcp-client: fix invalid free() in client_send_request()Andreas Henriksson1-1/+1
static int client_send_request(...) in ./src/libsystemd-network/sd-dhcp-client.c tries to initialize "request" by calling client_message_init(...), which has atleast 5 error cases where it can return without that happening. This leads to the function finishing without "request" being initialized.
2014-06-13networkd: link - left-align debug messagesTom Gundersen3-25/+25
Still add some whitespace betwen ifname and the message to get the messages aligned (as I find it easier to spot specific messages this way).
2014-06-13networkd: add dhcp server supportTom Gundersen3-14/+93
When enabled in [Network] it will set up a dhcp server on the interface, listening on one of its statically configured IPv4 addresses and with a fixed size pool of leases determined from it. Example: [Match] Name=ve-arch-tree [Network] Address=192.168.12.5/24 DHCPServer=yes [Route] Gateway=192.168.12.5 Destination=192.168.12.0/24 In this case we will configure ve-arch-tree with the address 192.168.12.5 and hand out addresses in the range 192.168.12.6 - 192.168.12.38. In the future, we should (as suggested by Lennart) introduce a syntax to pick the server address automatically.
2014-06-13sd-dhcp-server: add RELEASE supportTom Gundersen1-1/+26
2014-06-13sd-dhcp-server: add dummy DECLINE supportTom Gundersen1-0/+9
2014-06-13sd-dhcp-server: track bound leasesTom Gundersen3-14/+206
Make sure we don't hand out the same IP twice. We still don't handle lease expiry.
2014-06-13sd-dhcp-server: add support for clients requesting lease lifetimeTom Gundersen2-4/+11
2014-06-13sd-dhcp-server: add basic NAK supportTom Gundersen2-7/+36
2014-06-13sd-dhcp-server: add basic REQUEST/ACK supportTom Gundersen4-5/+172
2014-06-13sd-dhcp-server: add basic DISCOVER/OFFER supportTom Gundersen2-9/+87
2014-06-13sd-dhcp-server: add support for sending messagesTom Gundersen2-0/+153
2014-06-13sd-dhcp-server: add support for setting the server addressTom Gundersen4-0/+32
2014-06-13sd-dhcp-server: bind to raw socket for sendingTom Gundersen2-0/+12
We would like to use the UDP socket, but we cannot as we need to specify the MAC address manually.
2014-06-13sd-dhcp-server: add basic message parsingTom Gundersen2-2/+101
Parse the maximum message size the client can accept and the client id, falling back to sane defaults if they are not set.
2014-06-13sd-dhcp-server: add basic message handling and verificationTom Gundersen3-4/+88
2014-06-13sd-dhcp-server: bind to a given interfaceTom Gundersen4-3/+26
We will (at least at first), restrict our focus to running the server on at most one interface.
2014-06-13sd-dhcp-server: add basic functionality for starting/stopping serverTom Gundersen4-0/+100
Bind to UDP socket and listen for messages, discarding anything we receive.
2014-06-13sd-dhcp-server: add basic functionality for creating/destroying server instanceTom Gundersen7-0/+249
2014-06-13dhcp-network: allow UDP socket to listen on any addressTom Gundersen1-2/+13
For this to work nicely we need to use REUSEADDR so that more than one socket can be open at the same time. Also, we request the ifindex to be appended to incoming messages, so we know whence it came.
2014-06-13tmpfiles: add minimal tmpfiles snippet to rebuild the most essential stuff ↵Lennart Poettering2-1/+14
from /etc
2014-06-13units: rebuild /etc/passwd, the udev hwdb and the journal catalog files on bootLennart Poettering9-9/+93
Only when necessary of course, nicely guarded with the new ConditionNeedsUpdate= condition we added.
2014-06-13core: add new ConditionNeedsUpdate= unit conditionLennart Poettering5-0/+38
This new condition allows checking whether /etc or /var are out-of-date relative to /usr. This is the counterpart for the update flag managed by systemd-update-done.service. Services that want to be started once after /usr got updated should use: [Unit] ConditionNeedsUpdate=/etc Before=systemd-update-done.service This makes sure that they are only run if /etc is out-of-date relative to /usr. And that it will be executed after systemd-update-done.service which is responsible for marking /etc up-to-date relative to the current /usr. ConditionNeedsUpdate= will also checks whether /etc is actually writable, and not trigger if it isn't, since no update is possible then.
2014-06-13update-done: add minimal tool to manage system updates for /etc and /var, if ↵Lennart Poettering6-4/+148
/usr has changed In order to support offline updates to /usr, we need to be able to run certain tasks on next boot-up to bring /etc and /var in line with the updated /usr. Hence, let's devise a mechanism how we can detect whether /etc or /var are not up-to-date with /usr anymore: we keep "touch files" in /etc/.updated and /var/.updated that are mtime-compared with /usr. This means: Whenever the vendor OS tree in /usr is updated, and any services that shall be executed at next boot shall be triggered, it is sufficient to update the mtime of /usr itself. At next boot, if /etc/.updated and/or /var/.updated is older than than /usr (or missing), we know we have to run the update tools once. After that is completed we need to update the mtime of these files to the one of /usr, to keep track that we made the necessary updates, and won't repeat them on next reboot. A subsequent commit adds a new ConditionNeedsUpdate= condition that allows checking on boot whether /etc or /var are outdated and need updating. This is an early step to allow booting up with an empty /etc, with automatic rebuilding of the necessary cache files or user databases therein, as well as supporting later updates of /usr that then propagate to /etc and /var again.
2014-06-13condition: minor modernizationsLennart Poettering2-10/+5
2014-06-13units: don't conditionalize sysctl serviceLennart Poettering1-5/+0
We install two sysctl snippets ourselves, hence the condition will always trigger, so no point in tryng to optimize things with this, it just will make things slower, if anything.
2014-06-13units: remove conditions from systemd-tmpfiles-setupLennart Poettering2-11/+0
There's no point in conditionalizing systemd-tmpfiles at boot, since we ship tmpfiles snippets ourselves, hence they will always trigger anyway. Also, there's no reason to pull in local-fs.target from the service, hence drop that.
2014-06-13system-update-generator: modernizationsLennart Poettering1-7/+3