summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-06-08Merge pull request #3431 from poettering/network-fixesTom Gundersen
put limits on addresses and routers per link and per network
2016-06-08logind: minor cleanup and use IN_SET() in manager_handle_action()Franck Bui
2016-06-08logind: really handle *KeyIgnoreInhibited options in logind.confFranck Bui
2016-06-08sysv-generator: remove more dead code (#3462)Lennart Poettering
The changes in 788d2b088b13a2444b9eb2ea82c0cc57d9f0980f weren't complete, only half the code that dealt with K links was removed. This is a follow-up patch that removes the rest too. No functional changes.
2016-06-07hwdb: selinuxify a bit (#3460)Evgeny Vereshchagin
-bash-4.3# rm /etc/udev/hwdb.bin -bash-4.3# systemd-hwdb update -bash-4.3# ls -Z /etc/udev/hwdb.bin system_u:object_r:systemd_hwdb_etc_t:s0 /etc/udev/hwdb.bin Fixes: #3458
2016-06-07Merge pull request #3394 from poettering/triple-tstampLennart Poettering
timestamping improvements and IPv6 RA revamp
2016-06-07sd-netlink: fix deep recursion in message destruction (#3455)David Herrmann
On larger systems we might very well see messages with thousands of parts. When we free them, we must avoid recursing into each part, otherwise we very likely get stack overflows. Fix sd_netlink_message_unref() to use an iterative approach rather than recursion (also avoid tail-recursion in case it is not optimized by the compiler).
2016-06-07fstab-generator: don't process root= if it happens to be "gpt-auto" (#3452)Lennart Poettering
As that's handled by "gpt-auto-generator". Fixes: #3404
2016-06-06cgtop: minimize aux variable scopeLennart Poettering
2016-06-06core: add minor commentLennart Poettering
Let's explain #3444 briefly in the sources, too.
2016-06-06mount: make sure got into MOUNT_DEAD state after a successful umount (#3444)michaelolbrich
Without this code the following can happen: 1. Open a file to keep a mount busy 2. Try to stop the corresponding mount unit with systemctl -> umount fails and the failure is remembered in mount->result 3. Close the file and umount the filesystem manually -> mount_dispatch_io() calls "mount_enter_dead(mount, MOUNT_SUCCESS)" -> Old error in mount->result is reused and the mount unit enters a failed state Clear the old error result when 'mountinfo' reports a successful umount to fix this.
2016-06-06network: beef up ipv6 RA support considerablyLennart Poettering
This reworks sd-ndisc and networkd substantially to support IPv6 RA much more comprehensively. Since the API is extended quite a bit networkd has been ported over too, and the patch is not as straight-forward as one could wish. The rework includes: - Support for DNSSL, RDNSS and RA routing options in sd-ndisc and networkd. Two new configuration options have been added to networkd to make this configurable. - sd-ndisc now exposes an sd_ndisc_router object that encapsulates a full RA message, and has direct, friendly acessor functions for the singleton RA properties, as well as an iterative interface to iterate through known and unsupported options. The router object may either be retrieved from the wire, or generated from raw data. In many ways the sd-ndisc API now matches the sd-lldp API, except that no implicit database of seen data is kept. (Note that sd-ndisc actually had a half-written, but unused implementaiton of such a store, which is removed now.) - sd-ndisc will now collect the reception timestamps of RA, which is useful to make sd_ndisc_router fully descriptive of what it covers. Fixes: #1079
2016-06-06network: use inet_ntop() rather than SD_NDISC_ADDRESS_FORMAT_VAL() when ↵Lennart Poettering
serializing Let's use the usual libc API for serializing IPv6 addresses, instead of the NDISC-specific macro we should get rid of anyway.
2016-06-06util: make it easier to check whether in_addr or in6_addr addresses are NULLLennart Poettering
2016-06-06util-lib: add accessors for unaligned native endian wordsLennart Poettering
2016-06-06exit-status: update comments a bitLennart Poettering
2016-06-06lldp: include sys/types.h in sd-lldp.hLennart Poettering
After all, we use clockid_t which is defined there.
2016-06-06lldp: minor coding style improvementLennart Poettering
2016-06-06lldp: add sd_lldp_get_event() callLennart Poettering
sd-ndisc has something like this, let's add this for sd-lldp, too.
2016-06-06lldp: deal properly with recv() returning EAGAIN/EINTRLennart Poettering
It might very well return EAGAIN in case of packet checksum problems and suchlike, hence let's better handle this nicely, the same way as we do it in the other sd-network libraries for incoming datagrams.
2016-06-06lldp: pass correct neighbor object to REMOVED callbackLennart Poettering
2016-06-06lldp: rename TLV accessor pseudo-macrosLennart Poettering
Let's make sure the inline functions for retrieving TLV data actually carry TLV in the name, so that we don#t assume they retrieve the whole, raw packet data.
2016-06-06lldp: make sd_lldp_neighbor_tlv_rewind() return whether there's a first entryLennart Poettering
This way it's nicer to use as it matches how sd_lldp_neighbor_tlv_next() indicates an EOF too via its return value.
2016-06-06lldp: use NULL instead 0, when we deal with a pointerLennart Poettering
2016-06-06lldp: add _public_ to a two exported functions missing itLennart Poettering
2016-06-06lldp: clarify that sd_lldp_neighbor_get_ttl() returns secondsLennart Poettering
Let's simply encode this in the parameter name.
2016-06-06lldp: add proper ref counting to sd_lldp object and a separate call for ↵Lennart Poettering
setting the ifindex Let's make sd-lldp a bit more like sd-ndisc ant the other APIs, and add proper ref counting and a separate call for setting the ifindex. This also adds a new lldp_reset() call we can use at various places to close all fds. This is also similar to how sd-ndisc already does it.
2016-06-06exit-code: minor coding style updatesLennart Poettering
2016-06-06sd-lldp: take triple timestamp when reading LLDP packetsLennart Poettering
It's a good idea to store away the recption time of LLDP packets in the neighbor object, simply because the LLDP data only has a validity of a certain amount of time. Hence, let's record the timestamp when we receive the datagram and expose an API for it. Also, automatically expire LLDP neighbors based on this new timestamp.
2016-06-06sd-event: port over to new triple timestamp logicLennart Poettering
2016-06-06time-util: add triple timestamp objectLennart Poettering
We already have a double timestamp object that we use whenever we need both a MONOTONIC and a REALTIME timestamp taken and stored. With this change we also add a triple timestamp object that in addition stores a BOOTTIME timestamp, which is useful for a few usecases. Note that we keep dual_timestamp around, as it is useful in many cases where triple_timestamp is not, in particular because retrieving the monotonic and realtime timestamps is much cheaper on Linux that getting the boottime timestamp.
2016-06-06machinectl: Added stop as alias for poweroff (#3406)Christian Rebischke
2016-06-06networkd: remove unused variable (#3447)Tobias Jungel
this patch solves the following waring: ../src/network/networkd-ndisc.c:197:13: warning: unused variable ‘r’ [-Wunused-variable] int r; fixes acac5b2f
2016-06-06cgtop: fix ret pointer usage (#3443)Alessandro Puccetti
2016-06-05cgtop: add option to show a single cgroup subtree (#3413)Alessandro Puccetti
When many services are running, it was difficult to see only the interesting ones. This patch allows to show only the subtree of interest.
2016-06-05automount: handle expire_tokens when the mount unit changes its state (#3434)michaelolbrich
This basically reverts 7b2fd9d51259f6cf350791434e640ac3519acc6c ("core: remove duplicate code in automount_update_mount()"). This was not duplicate code. The expire_tokens need to be handled as well: Send 0 == success for MOUNT_DEAD (umount successful), do nothing for MOUNT_UNMOUNTING (not yet done) and an error for everything else. Otherwise the automount logic will assume unmounting is not done and will not send any new requests for mounting. As a result, the corresponding mount unit is never mounted. Without this, automounts with TimeoutIdleSec= are broken. Once the idle timeout triggered a umount, any access to the corresponding filesystem hangs forever. Fixes #3332.
2016-06-04systemctl: install sigbus handler (#3435)Evgeny Vereshchagin
This makes systemctl robust regarding journal truncation. This is a follow-up for 2cf4172a71860c6e44 Fixes: Core was generated by `./systemctl status systemd-journald'. Program terminated with signal SIGBUS, Bus error. PID 8569 - core TID 8569: #0 0x00007f246cc89ed6 __memcmp_sse4_1 #1 0x0000557ebbc6f42c journal_file_init_header #2 0x0000557ebbc77262 journal_file_open #3 0x0000557ebbc42999 file_type_wanted #4 0x0000557ebbc42e08 add_any_file #5 0x0000557ebbc43832 add_directory #6 0x0000557ebbc4401c add_root_directory #7 0x0000557ebbc442e9 add_root_directory #8 0x0000557ebbc446fc add_search_paths #9 0x0000557ebbbacb5e show_journal_by_unit #10 0x0000557ebbb8376d print_status_info #11 0x0000557ebbb86a0b show_one #12 0x0000557ebbb87954 show #13 0x0000557ebbc20b1f dispatch_verb #14 0x0000557ebbb90615 systemctl_main #15 0x0000557ebbb9159f main #16 0x00007f246cb3e731 __libc_start_main #17 0x0000557ebbb75ae9 _start
2016-06-04Merge pull request #3392 from poettering/assorted-stuffZbigniew Jędrzejewski-Szmek
Assorted stuff
2016-06-04networkd-link: fix handler typo for route_remove() (#3433)tomty89
Obviously we've been using the wrong handler here. Fixes #3352.
2016-06-03networkd: constify more thingsLennart Poettering
2016-06-03networkd: also enforce limit on total number of address/routesLennart Poettering
This covers the address/routers acquire dynamically.
2016-06-03networkd: drop weird "const" usage in function parametersLennart Poettering
We generally only use "const" to constify the destination of pointers, but not the pointers themselves, as they are copied anyway during C function invocation. Hence, drop this usage of "const".
2016-06-03sd-netlink: fix sd_netlink_inc_rcvbuf() prototypeLennart Poettering
Drop weird "const" usage, and use size_t for sizes.
2016-06-03networkd: enforce a limit on the number of statically assigned ↵Lennart Poettering
addresses/routes/fdb entries We should put a limit on everything, hence also on these resources.
2016-06-03core: Restrict mmap and mprotect with PAGE_WRITE|PAGE_EXEC (#3319) (#3379)Topi Miettinen
New exec boolean MemoryDenyWriteExecute, when set, installs a seccomp filter to reject mmap(2) with PAGE_WRITE|PAGE_EXEC and mprotect(2) with PAGE_EXEC.
2016-06-03Merge pull request #3409 from tomty89/update-2Lennart Poettering
networkd-dhcp6: DHCPv6 starting fixes
2016-06-03Merge pull request #3418 from htejun/cgroup2-log-compatLennart Poettering
core: log cgroup legacy and unified hierarchy setting translations
2016-06-03core: always use "infinity" for no upper limit instead of "max" (#3417)Tejun Heo
Recently added cgroup unified hierarchy support uses "max" in configurations for no upper limit. While consistent with what the kernel uses for no upper limit, it is inconsistent with what systemd uses for other controllers such as memory or pids. There's no point in introducing another term. Update cgroup unified hierarchy support so that "infinity" is the only term that systemd uses for no upper limit.
2016-06-03missing include added for build with -DDEBUG (#3424)Tobias Jungel
2016-06-03resolved: fix comments in resolve.conf for search domain overflows (#3422)Martin Pitt
Write comments about "too many search domains" and "Total length of all search domains is too long" just once. Also put it on a separate line, as resolv.conf(5) only specifies comments in a line by themselves. This is ugly to do if write_resolv_conf_search() gets called once for every search domain. So change it to receive the complete OrderedSet instead and do the iteration by itself. Add test cases to networkd-test.py. https://launchpad.net/bugs/1588229