summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAge
...
* resolved: LOC recordsZbigniew Jędrzejewski-Szmek2014-07-31
| | | | | | | | | | 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.
* sysusers: split users for remote into separate fileZbigniew Jędrzejewski-Szmek2014-07-31
| | | | This mirrors the setup for tmpfiles.d done in ad95fd1d2b9.
* resolved: add API for resolving specific RRsLennart Poettering2014-07-30
|
* resolved: add tool to query resolvedZbigniew Jędrzejewski-Szmek2014-07-30
|
* resolve: add llmnr responder side for UDP and TCPLennart Poettering2014-07-29
| | | | Name defending is still missing.
* build-sys: add missing files for distcheckKay Sievers2014-07-29
|
* test: test_tables - fix missing symbols when --gc-sections are not availableKay Sievers2014-07-29
|
* factory: install minimal PAM and nsswitch configKay Sievers2014-07-29
|
* build-sys: remove systemd-coredumpctl symlinkKay Sievers2014-07-29
|
* resolved: rework logic so that we can share transactions between queries of ↵Lennart Poettering2014-07-23
| | | | different clients
* shell-completion: systemd-analyze verify, systemctl linkZbigniew Jędrzejewski-Szmek2014-07-21
| | | | | | | | Some zsh completion helpers were not installed, so completion was broken. Add systemd-analyze verify. Make systemctl link complete only unit names.
* Merge systemd-verify with systemd-analyzeZbigniew Jędrzejewski-Szmek2014-07-21
|
* update-done: set proper selinux context for .updatedZbigniew Jędrzejewski-Szmek2014-07-21
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1121806
* systemd-verify: a simple tool for offline unit verificationZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | 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
* test-cgroup-mask: fix masks in test and enable by defaultZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | | 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.
* test-engine: fix access to unit load pathZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | 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.
* install: systemd-timesyncd.service is enabled by sysinit.targetMichael Olbrich2014-07-19
| | | | | systemd-timesyncd.service has a "WantedBy=sysinit.target" so the initially generated link should match that.
* Nuke update-kbd-mapZbigniew Jędrzejewski-Szmek2014-07-18
| | | | | | 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.
* Makefile.am: tweaks to python commandsZbigniew Jędrzejewski-Szmek2014-07-18
|
* terminal: add unifont font-handlingDavid Herrmann2014-07-18
| | | | | | | | | | | | | | | | | The unifont layer of libsystemd-terminal provides a fallback font for situations where no system-fonts are available, or if you don't want to deal with traditional font-formats for some reasons. The unifont API mmaps a pre-compiled bitmap font that was generated out of GNU-Unifont font-data. This guarantees, that all users of the font will share the pages in memory. Furthermore, the layout of the binary file allows accessing glyph data in O(1) without pre-rendering glyphs etc. That is, the OS can skip loading pages for glyphs that we never access. Note that this is currently a test-run and we want to include the binary file in the GNU-Unifont package. However, until it was considered stable and accepted by the maintainers, we will ship it as part of systemd. So far it's only enabled with the experimental --enable-terminal, anyway.
* terminal: only build if --enable-terminal was specifiedDavid Herrmann2014-07-18
| | | | | Whoopsy, I totally forgot adding the "if ENABLE_TERMINAL" markers. Do that now that we know it builds fine everywhere.
* terminal: add systemd-subterm exampleDavid Herrmann2014-07-18
| | | | | | | | | The systemd-subterm example is a stacked terminal that shows how to use sd-term. Instead of rendering images and displaying it via X11/etc., it uses its parent terminal to display the page (terminal-emulator inside a terminal-emulator) (like GNU-screen and friends do). This is only for testing and not installed system-wide!
* terminal: add screen-handlingDavid Herrmann2014-07-18
| | | | | | | | | | | | | | | The screen-layer represents the terminal-side (compared to the host-side). It connects term_parser with term_page and implements all the required control sequences. We do not implement all available control sequences. Even though our parser recognizes them, there is no need to handle them. Most of them are legacy or unused. We try to be as compatible to xterm, so if we missed something, we can implement it later. However, all the VT510 / VT440 stuff can safely be skipped (who needs terminal macros? WTF?). The keyboard-handling is still missing. It will be added once systemd-console is available and we pulled in the key-definitions.
* terminal: add parser state-machineDavid Herrmann2014-07-18
| | | | | | | | | | | | | | | | The term-parser is used to parse any input from TTY-clients. It reads CSI, DCS, OSC and ST control sequences and normal escape sequences. It doesn't do anything with the parsed data besides detecting the sequence and returning it. The caller has to react to them. The parser also comes with its own UTF-8 helpers. The reason for that is that we don't want to assert() or hard-fail on parsing errors. Instead, we treat any invalid UTF-8 sequences as ISO-8859-1. This allows pasting invalid data into a terminal (which cannot be controlled through the TTY, anyway) and we still deal with it in a proper manner. This is _required_ for 8-bit and 7-bit DEC modes (including the g0-g3 mappings), so it's not just an ugly fallback because we can (it's still horribly ugly but at least we have an excuse).
* test-tables: fix build-scanThomas Hindoe Paaboel Andersen2014-07-17
|
* networkd-wait-online: track linksTom Gundersen2014-07-17
| | | | | | | | Rather than refetching the link information on ever event, we liston to rtnl to track them. Much code stolen from resolved. This will allow us to simplify the sd-network api and don't expose information available over rtnl.
* resolved: add DNS cacheLennart Poettering2014-07-17
|
* ui/term: add line/cell/char handling for terminal pagesDavid Herrmann2014-07-17
| | | | | | | | | | This commit introduces libsystemd-ui, a systemd-internal helper library that will contain all the UI related functionality. It is going to be used by systemd-welcomed, systemd-consoled, systemd-greeter and systemd-er. Further use-cases may follow. For now, this commit only adds terminal-page handling based on lines only. Follow-up commits will add more functionality.
* shared: add PTY helperDavid Herrmann2014-07-17
| | | | | | | | | | | | | | | | | | | This Pty API wraps the ugliness that is POSIX PTY. It takes care of: - edge-triggered HUP handling (avoid heavy CPU-usage on vhangup) - HUP vs. input-queue draining (handle HUP _after_ draining the whole input queue) - SIGCHLD vs. HUP (HUP is no reliable way to catch PTY deaths, always use SIGCHLD. Otherwise, vhangup() and friends will break.) - Output queue buffering (async EPOLLOUT handling) - synchronous setup (via Barrier API) At the same time, the PTY API does not execve(). It simply fork()s and leaves everything else to the caller. Usually, they execve() but we support other setups, too. This will be needed by multiple UI binaries (systemd-console, systemd-er, ...) so it's placed in src/shared/. It's not strictly related to libsystemd-terminal, so it's not included there.
* nspawn: use Barrier API instead of eventfd-utilDavid Herrmann2014-07-17
| | | | | | | | | | | | | | The Barrier-API simplifies cross-fork() synchronization a lot. Replace the hard-coded eventfd-util implementation and drop it. Compared to the old API, Barriers also handle exit() of the remote side as abortion. This way, segfaults will not cause the parent to deadlock. EINTR handling is currently ignored for any barrier-waits. This can easily be added, but it isn't needed so far so I dropped it. EINTR handling in general is ugly, anyway. You need to deal with pselect/ppoll/... variants and make sure not to unblock signals at the wrong times. So genrally, there's little use in adding it.
* shared: add generic IPC barrierDavid Herrmann2014-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "Barrier" object is a simple inter-process barrier implementation. It allows placing synchronization points and waiting for the other side to reach it. Additionally, it has an abortion-mechanism as second-layer synchronization to send abortion-events asynchronously to the other side. The API is usually used to synchronize processes during fork(). However, it can be extended to pass state through execve() so you could synchronize beyond execve(). Usually, it's used like this (error-handling replaced by assert() for simplicity): Barrier b; r = barrier_init(&b); assert_se(r >= 0); pid = fork(); assert_se(pid >= 0); if (pid == 0) { barrier_set_role(&b, BARRIER_CHILD); ...do child post-setup... if (CHILD_SETUP_FAILED) exit(1); ...child setup done... barrier_place(&b); if (!barrier_sync(&b)) { /* parent setup failed */ exit(1); } barrier_destroy(&b); /* redundant as execve() and exit() imply this */ /* parent & child setup successful */ execve(...); } barrier_set_role(&b, BARRIER_PARENT); ...do parent post-setup... if (PARENT_SETUP_FAILED) { barrier_abort(&b); /* send abortion event */ barrier_wait_abortion(&b); /* wait for child to abort (exit() implies abortion) */ barrier_destroy(&b); ...bail out... } ...parent setup done... barrier_place(&b); if (!barrier_sync(&b)) { ...child setup failed... ; barrier_destroy(&b); ...bail out... } barrier_destroy(&b); ...child setup successfull... This is the most basic API. Using barrier_place() to place barriers and barrier_sync() to perform a full synchronization between both processes. barrier_abort() places an abortion barrier which superceeds any other barriers, exit() (or barrier_destroy()) places an abortion-barrier that queues behind existing barriers (thus *not* replacing existing barriers unlike barrier_abort()). This example uses hard-synchronization with wait_abortion(), sync() and friends. These are all optional. Barriers are highly dynamic and can be used for one-way synchronization or even no synchronization at all (postponing it for later). The sync() call performs a full two-way synchronization. The API is documented and should be fairly self-explanatory. A test-suite shows some special semantics regarding abortion, wait_next() and exit(). Internally, barriers use two eventfds and a pipe. The pipe is used to detect exit()s of the remote side as eventfds do not allow that. The eventfds are used to place barriers, one for each side. Barriers itself are numbered, but the numbers are reused once both sides reached the same barrier, thus you cannot address barriers by the index. Moreover, the numbering is implicit and we only store a counter. This makes the implementation itself very lightweight, which is probably negligible considering that we need 3 FDs for a barrier.. Last but not least: This barrier implementation is quite heavy. It's definitely not meant for fast IPC synchronization. However, it's very easy to use. And given the *HUGE* overhead of fork(), the barrier-overhead should be negligible.
* test-tables: add new entriesZbigniew Jędrzejewski-Szmek2014-07-16
| | | | | | One missing string found. A few things had to be moved around to make it possible to test them.
* build-sys: don't move libgudev to /libMichael Biebl2014-07-16
| | | | It depends on libgobject and libgmodule which are installed in /usr/lib.
* journal-upload: add config fileZbigniew Jędrzejewski-Szmek2014-07-15
|
* journal-remote: rework fd and writer reference handlingZbigniew Jędrzejewski-Szmek2014-07-15
|
* journal-remote: add units and read certs from default locationsZbigniew Jędrzejewski-Szmek2014-07-15
|
* journal-upload: use journal as the sourceZbigniew Jędrzejewski-Szmek2014-07-15
|
* journal-upload: a tool to push messages to systemd-journal-remoteZbigniew Jędrzejewski-Szmek2014-07-15
|
* Move network-related journal programs to src/journal-remote/Zbigniew Jędrzejewski-Szmek2014-07-15
| | | | | | | Directory src/journal has become one of the largest directories, and since systemd-journal-gatewayd, systemd-journal-remote, and forthcoming systemd-journal-upload are all closely related, create a separate directory for them.
* resolved: add busname unit fileKay Sievers2014-07-16
|
* resolved: add legacy dbus service and policy filesKay Sievers2014-07-16
|
* resolved: add small NSS module that uses resolved to resolve DNS namesLennart Poettering2014-07-16
|
* resolved: add a DNS client stub resolverLennart Poettering2014-07-16
| | | | | | | Let's turn resolved into a something truly useful: a fully asynchronous DNS stub resolver that subscribes to network changes. (More to come: caching, LLMNR, mDNS/DNS-SD, DNSSEC, IDN, NSS module)
* shell-completion: restore completion for -pZbigniew Jędrzejewski-Szmek2014-07-15
| | | | | | It was broken since systemd was moved out of /bin. For zsh it was never there.
* networkd: netdev - introduce vtable for netdev kindsTom Gundersen2014-07-14
| | | | Split each netdev kind into its own .h/.c.
* networkd: netdev - split out bridge creationTom Gundersen2014-07-14
|
* build-sys: Do not distribute generated emergency.serviceJon Severinsson2014-07-11
| | | | | | | It is already in nodist_systemunit_DATA and if it is shipped, it contains the hardcoded path to systemctl which will cause it to fail to start when rootprefix != prefix and rootbindir != bindir.
* Revert "build-sys: include PolicyKit files as part of distribution"Mike Gilbert2014-07-11
| | | | | | | | | | | This reverts commit 0c26bfc3d21fdb3963f1248c237e2f1a33b5566d. src/core/org.freedesktop.systemd1.policy.in.in depends on values which are specified at configure time, so we cannot ship the corresponding policy file in the tarball. Since we need to regenerate one policy file, we might as well generate them all.
* Fix build without any compression enabledZbigniew Jędrzejewski-Szmek2014-07-11
|
* nss-mymachines: add new NSS module for automatically resolving addresses of ↵Lennart Poettering2014-07-11
| | | | all local containers