summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-06resolved: also rewrite private /etc/resolv.conf when configuration is ↵Lennart Poettering
changed via bus calls This also moves log message generation into manager_write_resolv_conf(), so that it is shorter to invoke the function, given that we have to invoke it at a couple of additional places now. Fixes: #3225
2016-06-06resolved: support IPv6 DNS servers on the local linkLennart Poettering
Make sure we can parse DNS server addresses that use the "zone id" syntax for local link addresses, i.e. "fe80::c256:27ff:febb:12f%wlp3s0", when reading /etc/resolv.conf. Also make sure we spit this out correctly again when writing /etc/resolv.conf and via the bus. Fixes: #3359
2016-06-06Two CODING_STYLE additionsLennart Poettering
2016-06-06machinectl: Added stop as alias for poweroff (#3406)Christian Rebischke
2016-06-06keymap-util: also "convert" 'ru' to 'ru'Zbigniew Jędrzejewski-Szmek
As discovered by Adam Williamson in https://bugzilla.redhat.com/show_bug.cgi?id=1333998#c32, after the changes in 81fd105a5f9 we would only match compound layouts, i.e. a comma would be required after 'ru' to match. This seems wrong, and we should match single layouts like too. So 'ru', 'ru,us' now both match. startswith_comma is changed to not require a comma, i.e. check that the prefix matches until a comma or the end of the string. Note that startswith_comma is called twice. At the first site, we check that strings are not equal beforehand, so this change to startswith_comma has no effect. At the second site, it does have an effect, as described above.
2016-06-06localed: also report when we couldn't convert X11→consoleZbigniew Jędrzejewski-Szmek
Rework the code a bit where find_converted_keymap cannot (and should not) be called with a null layout, so streq can be used instead of streq_ptr, etc. Note that the behaviour of vconsole_convert_to_x11 and x11_convert_to_vconsole is not symmetrical. When the latter cannot find a match, it simply makes the vconsole mapping empty. But vconsole_convert_to_x11 leaves the x11 layout unchanged. I don't know what the proper solution is here, so I'm just adding more verbose logging without changing the logic.
2016-06-06localed: be more verbose when keymap conversion to X11 failsZbigniew Jędrzejewski-Szmek
I was puzzled why "localectl set-keymap pl" does not change the X11 keymap. Output a message at notice level, becuase not converting the X11 keymap is most likely an error. We usually do not output non-debug messages from "library" code, but this isn't really library code, it's split out to a separate file only to allow it to be called from tests. (pl is not converted because we only have a mapping for pl2. This is intentional, even though we might want to change this. In any case, the conversion code works correctly.)
2016-06-06keymap-util: add tests and fix one small bugZbigniew Jędrzejewski-Szmek
When converting an empty x11 variant, we would not delete vconsole mapping properly. find_legacy_keymap() is made non-static. I think it's important to be able to test it. In principle we could also test it through the higher-level interface of x11_convert_to_vconsole, but x11_convert_to_vconsole also uses find_converted_keymap, and it's better to test at this lower level. Note that find_legacy_keymap might be a bit of a misnomer, because we'd probably want to keep kbd-model-map even if the "legacy" layouts went away. So we might want to change this name, but I'm leaving that for another commit.
2016-06-06localed: split out keymap parsing to a separate fileZbigniew Jędrzejewski-Szmek
This way the dbus and management logic is seperated from the business logic and we can write test cases for the mapping functionality.
2016-06-06localed: get rid of duplicated enum and string tableZbigniew Jędrzejewski-Szmek
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-06mount: write drop-in file when setting transient propertiesMichael Olbrich
This fixes transient mount units in general. With this change, 'from_fragment' is for transient mount units. As a result, the normal logic for 'fragment' mount units vs. 'mountinfo' mount units works for transient mount units as well.
2016-06-06mount: use get_mount_parameters_fragment() consistentlyMichael Olbrich
There are multiple different checks, that all mean the same thing: Is it a explicitly configured mount unit where actions need to be taken to mount it, or is is just mirroring 'mountinfo': 'from_fragment' to set if fragment_path is not NULL, and get_mount_parameters_fragment() just wraps that and returns fragment_path. Use get_mount_parameters_fragment() everywhere to be consistent. This is just a cleanup without functional change.
2016-06-06automount: implement transient automountsMichael Olbrich
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-04(systemd) Merge remote-tracking branch 'autothing/mod-gnuconf' into ↵Luke Shumaker
lukeshu/master # Conflicts: # build-aux/Makefile.once.head/00-gnuconf.mk
2016-06-04Merge remote-tracking branch 'autothing/mod-gnuconf' into lukeshu/masterLuke Shumaker
# Conflicts: # build-aux/Makefile.once.head/00-gnuconf.mk
2016-06-04(systemd) Merge remote-tracking branch 'autothing/mod-dist' into lukeshu/masterLuke Shumaker
# Conflicts: # build-aux/Makefile.once.head/00-dist.mk
2016-06-04Merge remote-tracking branch 'autothing/mod-dist' into lukeshu/masterLuke Shumaker
# Conflicts: # build-aux/Makefile.once.head/00-dist.mk
2016-06-04(systemd) Merge remote-tracking branch 'autothing/mod-write-ifchanged' into ↵Luke Shumaker
lukeshu/master
2016-06-04Merge remote-tracking branch 'autothing/mod-write-ifchanged' into lukeshu/masterLuke Shumaker
2016-06-04(systemd) Merge remote-tracking branch 'autothing/mod-std' into lukeshu/masterLuke Shumaker
2016-06-04Merge remote-tracking branch 'autothing/mod-std' into lukeshu/masterLuke Shumaker
2016-06-04(systemd) Merge remote-tracking branch 'autothing/core' into lukeshu/masterLuke Shumaker
# Conflicts: # build-aux/Makefile.tail.mk
2016-06-04Merge remote-tracking branch 'autothing/core' into lukeshu/masterLuke Shumaker
# Conflicts: # build-aux/Makefile.tail.mk
2016-06-04(systemd) stuffLuke Shumaker
2016-06-04stuffLuke Shumaker
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-03tests: introduce UNIFIED_CGROUP_HIERARCHY (#3419)Evgeny Vereshchagin
There are many cgroups-related changes (thanks, @htejun!) This commit will simplify testing a bit. Use: make run UNIFIED_CGROUP_HIERARCHY=yes to enable cgroup-v2 make run UNIFIED_CGROUP_HIERARCHY=no to enable cgroup-v1
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
2016-06-03hwdb: Add Thinkpad X1 carbon 4th gen to 70-pointingstick.hwdb (#3426)Matthieu Codron
Like many other recent thinkpads the factory default pointingstick sensitivity on these devices is quite low, making the pointingstick very slow in moving the cursor. This extends the existing hwdb rules for tweaking the sensitivity to also apply to the X1 carbon 4thgen model.