summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2014-08-27terminal: add systemd-evcat input debugging toolDavid Herrmann
Like systemd-subterm, this new systemd-evcat tool should only be used to debug libsystemd-terminal. systemd-evcat attaches to the running session and pushes all evdev devices attached to the current session into an idev-session. All events of the created idev-devices are then printed to stdout for input-event debugging.
2014-08-27terminal: add xkb-based keyboard devices to idevDavid Herrmann
The idev-keyboard object provides keyboard devices to the idev interface. It uses libxkbcommon to provide proper keymap support. So far, the keyboard implementation is pretty straightforward with one keyboard device per matching evdev element. We feed everything into the system keymap and provide proper high-level keyboard events to the application. Compose-features and IM need to be added later.
2014-08-27terminal: add evdev elements to idevDavid Herrmann
The evdev-element provides linux evdev interfaces as idev-elements. This way, all real input hardware devices on linux can be used with the idev interface. We use libevdev to interface with the kernel. It's a simple wrapper library around the kernel evdev API that takes care to resync devices after kernel-queue overflows, which is a rather non-trivial task. Furthermore, it's a well tested interface used by all other major input users (Xorg, weston, libinput, ...). Last but not least, it provides nice keycode to keyname lookup tables (and vice versa), which is really nice for debugging input problems.
2014-08-27terminal: add input interfaceDavid Herrmann
The idev-interface provides input drivers for all libsystemd-terminal based applications. It is split into 4 main objects: idev_context: The context object tracks global state of the input interface. This will include data like system-keymaps, xkb contexts and more. idev_session: A session serves as controller for a set of devices. Each session on an idev-context is independent of each other. The session is also the main notification object. All events raised via idev are reported through the session interface. Apart of that, the session is a pretty dumb object that just contains devices. idev_element: Elements provide real hardware in the idev stack. For each hardware device, one element is added. Elements have no knowledge of higher-level device types, they only provide raw input data to the upper levels. For example, each evdev device is represented by a different element in an idev session. idev_device: Devices are objects that the application deals with. An application is usually not interested in elements (and those are hidden to applications), instead, they want high-level input devices like keyboard, touchpads, mice and more. Device are the high-level interface provided by idev. Each device might be fed by a set of elements. Elements drive the device. If elements are removed, devices are destroyed. If elements are added, suitable devices are created. Applications should monitor the system for sessions and hardware devices. For each session they want to operate on, they create an idev_session object and add hardware to that object. The idev interface requires the application to monitor the system (preferably via sysview_*, but not required) for hardware devices. Whenever hardware is added to the idev session, new devices *might* be created. The relationship between hardware and high-level idev-devices is hidden in the idev-session and not exposed. Internally, the idev elements and devices are virtual objects. Each real hardware and device type inherits those virtual objects and provides real elements and devices. Those types will be added in follow-up commits. Data flow from hardware to the application is done via idev_*_feed() functions. Data flow from applications to hardware is done via idev_*_feedback() functions. Feedback is usually used for LEDs, FF and similar operations.
2014-08-27terminal: add system view interfaceDavid Herrmann
We're going to need multiple binaries that provide session-services via logind device management. To avoid re-writing the seat/session/device scan/monitor interface for each of them, this commit adds a generic helper to libsystemd-terminal: The sysview interface scans and tracks seats, sessions and devices on a system. It basically mirrors the state of logind on the application side. Now, each session-service can listen for matching sessions and attach to them. On each session, managed device access is provided. This way, it is pretty simple to write session-services that attach to multiple sessions (even split across seats).
2014-08-27tmpfiles: make resolv.conf entry conditional on resolved supportTom Gundersen
2014-08-26hibernate-resume-generator: add a generator for instantiating the resume unit.Ivan Shapovalov
hibernate-resume-generator understands resume= kernel command line parameter and instantiates the systemd-resume@.service accordingly if it is passed. This enables resume from hibernation using device specified on the kernel command line, and it may be specified either as "/dev/disk/by-foo/bar" or "FOO=bar", not only "/dev/sdXY" which is understood by the in-kernel implementation. So now resume= is brought on par with root= in terms of possible ways to specify a device.
2014-08-26hibernate-resume: add a tool to write a device node's major:minor to ↵Ivan Shapovalov
/sys/power/resume. This can be used to initiate a resume from hibernation by path to a swap device containing the hibernation image. The respective templated unit is also added. It is instantiated using path to the desired resume device.
2014-08-22core: add support for a configurable system-wide start-up timeoutLennart Poettering
When this system-wide start-up timeout is hit we execute one of the failure actions already implemented for services that fail. This should not only be useful on embedded devices, but also on laptops which have the power-button reachable when the lid is closed. This devices, when in a backpack might get powered on by accident due to the easily reachable power button. We want to make sure that the system turns itself off if it starts up due this after a while. When the system manages to fully start-up logind will suspend the machine by default if the lid is closed. However, in some cases we don't even get as far as logind, and the boot hangs much earlier, for example because we ask for a LUKS password that nobody ever enters. Yeah, this is a real-life problem on my Yoga 13, which has one of those easily accessible power buttons, even if the device is closed.
2014-08-19build-sys: update versions for upcoming releaseLennart Poettering
2014-08-19tmpfiles: add new 'r' line type to add UIDs/GIDs to the pool to allocate ↵Lennart Poettering
UIDs/GIDs from This way we can guarantee a limited amount of compatibility with login.defs, by generate an appopriate "r" line out of it, on package installation.
2014-08-18tests: add test-condition-utilRonny Chevalier
2014-08-18memfd: move code from public library to src/sharedDaniel Mack
Don't expose generic kernel API via libsystemd, but keep the code internal for our own usage.
2014-08-18Makefile.am: test-bus-memfd went away. Kill its residues in Makefile.amDaniel Mack
2014-08-17kdbus: switch over to generic memfd implementation (ABI+API break)Daniel Mack
2014-08-14resolved: allow passing on which protocol, family and interface to look ↵Lennart Poettering
something up Also, return on which protocol/family/interface we found something.
2014-08-14ldconfig: add configure option to disableUmut Tezduyar Lindskog
2014-08-12networkd: link - split out dhcp4 handlingTom Gundersen
2014-08-12networkd: link - split out ipv4ll handlingTom Gundersen
2014-08-12networkd: split out networkd-link.hTom Gundersen
2014-08-12timesyncd: split up into multiple source fileLennart Poettering
The source file got much too large, hence split up the sources into multiple per-object files, similar in style to resolved.
2014-08-12networkd: fix buildLennart Poettering
2014-08-12sd-network: move sd-network API into libsystemd properLennart Poettering
In contrast to the DHCP/IPv4LL/ICMP6 APIs sd-network is not a protocol implementation but a client API for networkd, hence move it into libsystemd proper.
2014-08-12networkd: add minimal client tool "networkd" to query network statusLennart Poettering
In the long run this should become a full fledged client to networkd (but not before networkd learns bus support). For now, just pull interesting data out of networkd, udev, and rtnl and present it to the user, in a simple but useful output.
2014-08-03resolve-host: make arg_type an intZbigniew Jędrzejewski-Szmek
We are using it also to store _DNS_TYPE_INVALID, so it should be signed.
2014-08-03resolve: add more record types and convert to gperf tableZbigniew Jędrzejewski-Szmek
We are unlikely to evert support most of them, but we can at least display the types properly. The list is taken from the IANA list. The table of number->name mappings is converted to a switch statement. gcc does a nice job of optimizing lookup (when optimization is enabled). systemd-resolve-host -t is now case insensitive.
2014-08-03build-sys: use a common rule for some gperf commandsZbigniew Jędrzejewski-Szmek
2014-08-01resolved: rename resolved.h to resolved-manager.hLennart Poettering
After all it pretty much exlcusively containers definitions about the "Manager" object, hence let's call this the most obvious way.
2014-08-01resolved: beef up DNS server configuration logicLennart Poettering
We now maintain two lists of DNS servers: system servers and fallback servers. system servers are used in combination with any per-link servers. fallback servers are only used if there are no system servers or per-link servers configured. The system server list is supposed to be populated from a foreign tool's /etc/resolv.conf (not implemented yet). Also adds a configuration switch for LLMNR, that allows configuring whether LLMNR shall be used simply for resolving or also for responding.
2014-08-01resolved: handle IDNA domainsLennart Poettering
Make sure we format UTF-8 labels as IDNA when writing them to DNS packets, and as native UTF-8 when writing them to mDNS or LLMNR packets. When comparing or processing labels always consider native UTF-8 and IDNA formats equivalent.
2014-07-31resolved: implement LLMNR uniqueness verificationLennart Poettering
2014-07-31resolved: LOC recordsZbigniew Jędrzejewski-Szmek
LOC records have a version field. So far only version 0 has been published, but if a record with a different version was encountered, our only recourse is to treat it as an unknown type. This is implemented with the 'unparseable' flag, which causes the serialization/deserialization and printing function to cause the record as a blob. The flag can be used if other packet types cannot be parsed for whatever reason.
2014-07-31sysusers: split users for remote into separate fileZbigniew Jędrzejewski-Szmek
This mirrors the setup for tmpfiles.d done in ad95fd1d2b9.
2014-07-30resolved: add API for resolving specific RRsLennart Poettering
2014-07-30resolved: add tool to query resolvedZbigniew Jędrzejewski-Szmek
2014-07-29resolve: add llmnr responder side for UDP and TCPLennart Poettering
Name defending is still missing.
2014-07-29build-sys: add missing files for distcheckKay Sievers
2014-07-29test: test_tables - fix missing symbols when --gc-sections are not availableKay Sievers
2014-07-29factory: install minimal PAM and nsswitch configKay Sievers
2014-07-29build-sys: remove systemd-coredumpctl symlinkKay Sievers
2014-07-23resolved: rework logic so that we can share transactions between queries of ↵Lennart Poettering
different clients
2014-07-21shell-completion: systemd-analyze verify, systemctl linkZbigniew Jędrzejewski-Szmek
Some zsh completion helpers were not installed, so completion was broken. Add systemd-analyze verify. Make systemctl link complete only unit names.
2014-07-21Merge systemd-verify with systemd-analyzeZbigniew Jędrzejewski-Szmek
2014-07-21update-done: set proper selinux context for .updatedZbigniew Jędrzejewski-Szmek
https://bugzilla.redhat.com/show_bug.cgi?id=1121806
2014-07-20systemd-verify: a simple tool for offline unit verificationZbigniew Jędrzejewski-Szmek
This tool will warn about misspelt directives, unknown sections, and non-executable commands. It will also catch the common mistake of using Accept=yes with a non-template unit and vice versa. https://bugs.freedesktop.org/show_bug.cgi?id=56607
2014-07-20test-cgroup-mask: fix masks in test and enable by defaultZbigniew Jędrzejewski-Szmek
Commit 637f421e5c6a ("cgroups: always propagate controller membership to siblings") changed the mask propagation logic, but the test wasn't updated. Move to normal tests from manual tests, it should not touch the system anymore.
2014-07-20test-engine: fix access to unit load pathZbigniew Jędrzejewski-Szmek
Also add a bit of debugging output to help diagnose problems, add missing units, and simplify cppflags. Move test-engine to normal tests from manual tests, it should now work without destroying the system.
2014-07-19install: systemd-timesyncd.service is enabled by sysinit.targetMichael Olbrich
systemd-timesyncd.service has a "WantedBy=sysinit.target" so the initially generated link should match that.
2014-07-18Nuke update-kbd-mapZbigniew Jędrzejewski-Szmek
Our version has evolved independently of the original table in systemd-config-keyboard, so it cannot be ever regenerated from original upstream. Remove script to avoid confusion.
2014-07-18Makefile.am: tweaks to python commandsZbigniew Jędrzejewski-Szmek