summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* consoled: add a unit fileTom Gundersen2014-10-04
| | | | | The unit file is statically enabled, but still requires --enable-terminal to actually get installed.
* consoled: move from /bin to /lib/systemdTom Gundersen2014-10-04
| | | | This should not normally be run manually, but rather through systemd.
* systemd-bus-proxyd: distribute the .in file also for the user versionTom Gundersen2014-10-04
|
* build-sys: fix make distcheckZbigniew Jędrzejewski-Szmek2014-10-03
|
* man: say that SecureBits= are space separatedZbigniew Jędrzejewski-Szmek2014-10-03
|
* sd-id128: do stricter checking of random boot idZbigniew Jędrzejewski-Szmek2014-10-03
| | | | | | | If we are bothering to check whether the kernel is not feeding us bad data, we might as well do it properly. CID #1237692.
* fstab-generator: Small cleanupTobias Hunger2014-10-03
|
* sd-bus: split out cleanup into separate functionZbigniew Jędrzejewski-Szmek2014-10-03
| | | | m is always non-null at this point. This function is too long anyway.
* core/namespace: remove invalid checkZbigniew Jędrzejewski-Szmek2014-10-03
| | | | | | dir cannot be NULL here, because it was allocated with alloca. CID #1237768.
* core/namespace: remove invalid checkZbigniew Jędrzejewski-Szmek2014-10-03
| | | | | | root cannot be NULL here, because it was allocated with alloca. CID #1237769.
* sd-event: check the value of received signalZbigniew Jędrzejewski-Szmek2014-10-03
| | | | | | Appease coverity report #1237775. Also rename ss to n, to make it visually different from ss.
* man: use more markup in daemon(7)Zbigniew Jędrzejewski-Szmek2014-10-03
|
* console: add user console daemonDavid Herrmann2014-10-03
| | | | | | | | | | | | | | | | | | | | | | | | This adds a first draft of systemd-consoled. This is still missing a lot of features and does some rather primitive rendering. However, it shows the direction this code is going and serves as basis for further testing. The systemd-consoled binary should be run as `systemd --user' unit. It automatically picks up any session marked as Desktop=SYSTEMD-CONSOLE. Therefore, you can use any login-manager you want (ranging from /bin/login to gdm) to create sessions for systemd-consoled. However, the sessions managers must be prepared to set the Desktop= variable properly. The user-session is called `systemd-console', only the daemon providing the terminal environment is called `systemd-consoled' (mind the 'd'). So far, only a single terminal session is provided on each opened user-session. However, we support multiple user-sessions (even across multiple seats) just fine. In the future, the workspace logic will get extended so you can have multiple terminal sessions in a single user-session for easier access. Note that this is still experimental! Instructions on how to run it will follow shortly.
* pty: optimize read loopDavid Herrmann2014-10-03
| | | | | | | | | As it turns out, I can actually send data to the pty faster than the terminal can read. Therefore, make sure we read as much data as possible but bail out early enough to not cause starvation. Kernel TTY buffers are 4k, so reduce the overall buffer size, but read more than once if possible (up to 8 times sounds reasonable).
* terminal/screen: adjust screen age only on updateDavid Herrmann2014-10-03
| | | | | | | Instead of increasing the screen-age on redraw, we now increase it only on real updates. This is effectively the same, but avoids increased age counters on backbuffer rendering. Therefore, we can now check age counters against fronbuffers safely, while rendering frames in background.
* terminal/screen: add color converterDavid Herrmann2014-10-03
| | | | | | | | | | Terminals use pseudo color-codes mixed with 8bit and 24bit colors. Provide a color-converter so external renderers only have to deal with ARGB32 colors. This requires a color-palette as input as there's no fixed mapping. We provide a default, but maybe we wanna support external palettes in the future.
* terminal/screen: add cursor renderingDavid Herrmann2014-10-03
| | | | | | | | | This is the most simple way to render cursors: flip attr->inverse of the cursor cell. This causes the background and foreground colors of the cursor-cell to be inversed. Now that we render cursors ourselves, make subterm not call into the parent terminal to render cursors.
* terminal/screen: mark cursor dirty on enabled/disableDavid Herrmann2014-10-03
| | | | | | If we hide or show the cursor, we change visual attributes and have to mark the underlying cell as dirty. Otherwise, the terminal will not be redrawn.
* terminal/idev: add helper to match keyboard shortcutsDavid Herrmann2014-10-03
| | | | | | | | | | | Matching keyboard shortcuts on internationalized keyboards is actually non-trivial. Matching the actual key is easy, but the modifiers can be used by both, the matching and the translation step. Therefore, XKB exports "consumed-modifiers" that we use to figure out whether a modifier was already used by the translation step. The new IDEV_KBDMATCH() helper can be used to match on any keyboard shortcut and it will do the right thing.
* terminal/screen: add keyboard mappingDavid Herrmann2014-10-03
| | | | | | | | Implement the feed_keyboard() handling by mapping XKB keys according to DEC-VT behavior. Public information on terminal key-mappings is pretty scarce. We only implement the most basic mapping for now. Further improvements welcome!
* terminal/idev: don't map XKB_KEY_NoSymbol as ASCII 0David Herrmann2014-10-03
| | | | | XKB_KEY_NoSymbol is defined as 0 but does not correspond to a VT key with ASCII value 0. No such key exists, so don't try to find such a key.
* terminal/unifont: add built-in fallback glyphDavid Herrmann2014-10-03
| | | | | | | In case we cannot render a glyph, we want a fallback we can display instead. If we rely on the font itself to provide the fallback character, we have nothing to display if that character is not available. Therefore, add a static fallback that we can use at any time.
* terminal/subterm: use screen rendererDavid Herrmann2014-10-03
| | | | | Don't hard-code the screen renderer but use the newly introduced term_screen_draw() helper.
* terminal: add screen rendererDavid Herrmann2014-10-03
| | | | | | We don't want to expose the term_screen internals for rendering. Therefore, provide an iterator that allows external renderers to draw terminals.
* terminal/drm: clear 'applied' flag when changing stateDavid Herrmann2014-10-03
| | | | | | If a pipe is enabled/disabled, we have to clear crtc->applied of the linked CRTC. Otherwise, we will not run a deep modeset, but leave the crtc in the pre-configured state.
* terminal/grdev: allow arbitrary fb-age contextsDavid Herrmann2014-10-03
| | | | | | Instead of limiting fb-aging to 64bit integers, allow any arbitrary context together with a release function to free it once the FB is destroyed.
* terminal/grdev: provide front and back buffer to renderersDavid Herrmann2014-10-03
| | | | | | We really want more sophisticated aging than just 64bit integers. So always provide front *and* back buffers to renderers so they can compare arbitrary aging information and decide whether to re-render.
* terminal/drm: provide pipe->target() callbackDavid Herrmann2014-10-03
| | | | | | | | | | Instead of looking for available back-buffers on each operation, set it to NULL and wait for the next frame request. It will call back into the pipe to request the back-buffer via ->target(), where we can do the same and look for an available backbuffer. This simplifies the code and avoids double lookups if we run short of buffers.
* terminal/grdev: simplify DRM event parsingDavid Herrmann2014-10-03
| | | | | | Coverity complained about this code and is partially right. We are not really protected against integer overflows. Sure, unlikely, but lets just avoid any overflows and properly protect our parser loop.
* terminal: make utf8 decoder return lengthDavid Herrmann2014-10-03
| | | | | | | | | | Lets return the parsed length in term_utf8_decode() instead of a buffer pointer. Store the pointer in the passed argument. This makes it adhere to the systemd coding-style, were we always avoid returning pointers, but store them in output arguments. In this case, the storage is not allocated, so it doesn't fit 100% to this idiom, but still looks much nicer.
* terminal: fix back-buffer selection on DRM page-flipDavid Herrmann2014-10-03
| | | | | | We currently select front-buffers as new back-buffer if they happen to be the last buffer in our framebuffer-array. Fix this by never selecting a new front buffer as back buffer.
* fileio-label: return error when writing failsZbigniew Jędrzejewski-Szmek2014-10-03
| | | | The status of actually writing the file was totally ignored.
* journalctl: make --utc work everywhereJan Synacek2014-10-03
| | | | | | The --utc option was introduced by commit 9fd290443f5f99fca0dcd4216b1de70f7d3b8db1. Howerver, the implementation was incomplete.
* bootchart: use 'n/a' if PRETTY_NAME is not foundThomas Hindoe Paaboel Andersen2014-10-03
| | | | | | | | | Spotted with coverity. If parsing both /etc/os-release and /usr/lib/os-release fails then null would be passed on. The calls to parse the two files are allowed to fail. A empty /etc may not have had the /etc/os-release symlink restored yet and we just try again in the loop. If for whatever reason that does not happen then we now pass on 'n/a' instead of null.
* man: fix sd_event_set_name compilationTom Gundersen2014-10-03
|
* glib-event-glue: remove some unnecessary linesTom Gundersen2014-10-03
| | | | Not needed in an example. Should still shorten the license, but should make sure it is still complete so people can copy-paste without problems.
* test-barrier: add checks after the barrier constructorThomas Hindoe Paaboel Andersen2014-10-03
| | | | | | | | Coverity seems to think that we can later end up with the "them" fd having a negative value. Even after a succesful barrier_create. Add some test to verify that the constructor went well. If coverity still complains then it must mean that it thinks the the value is overwritten later.
* man: add sd_event_set_name(3)Zbigniew Jędrzejewski-Szmek2014-10-02
|
* man: add sd_event_get_fd(3)Zbigniew Jędrzejewski-Szmek2014-10-02
| | | | | | Example from Tom Gundersen is included using xi:include. The copyright notice stands out a bit. Maybe it should be removed, and the code placed in public domain.
* firstboot: silence coverityThomas Hindoe Paaboel Andersen2014-10-02
| | | | CID#1237537
* Revert "mount: order options before other arguments to mount"Lennart Poettering2014-10-02
| | | | | | | This reverts commit 141a1ceaa62578f1ed14f04cae2113dd0f49fd7f. People should fix their libc's getopt(), instead of us using a weird option ordering...
* systemctl: remove spurious newlineLennart Poettering2014-10-02
|
* kdbus: don't clobber return values, use strjoin() instead of asprintf(), ↵Lennart Poettering2014-10-02
| | | | keep function invocations and variable declarations separate
* kdbus: make sure we never invoke free() on an uninitialized pointer on OOMLennart Poettering2014-10-02
|
* update TODOLennart Poettering2014-10-02
|
* sd-dhcp6: do basic sanity-checking of supplied DUIDTom Gundersen2014-10-02
|
* sd-dhcp6: specify the type explicitly when setting custom DUIDTom Gundersen2014-10-02
| | | | | This would make it simple to verify that the data is on the right format when the type is known.
* sd-dhcp6: support custom DUID's up to the size specified in the RFCTom Gundersen2014-10-02
|
* sd-dhcp6-client: support custom DUIDsDan Williams2014-10-02
| | | | | | | | The caller may have an existing DUID that it wants to use, and may want to use some other DUID generation scheme than systemd's default DUID-EN. [tomegun: whitespace - we never use tabs]
* sd-bus: sync kdbus.h (ABI break!)Daniel Mack2014-10-02
| | | | | struct kdbus_cmd_match got a flags field, which systemd currently makes no use of.