summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* journal: build fix when LZ4 is enabled but XZ is notGustavo Sverzut Barbieri2014-09-25
|
* journal-remote: fix counting of events writtenZbigniew Jędrzejewski-Szmek2014-09-25
| | | | | | | | | | | After recent changes the number was always reported as 0, because the accounting was done server_destroy(), called after the message was already printed. But even before this change, the counts were wrong because seqnum start at 0 only for newly created journal files, so when appending to existing files, the calculated count was wrong anyway. Also do some variable renaming for consistency and disable some low-level debug messages.
* journal-remote: initialize writer hashmap before useJonathan Liu2014-09-25
| | | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=83682 [zj: move the initalization even earlier, before any sockets are looked at.]
* nspawn: check some more return valuesTom Gundersen2014-09-25
| | | | | Most of these failures would anyway get caught later on, but now the error messages are a bit more specific.
* delta: warn if diff failedTom Gundersen2014-09-25
| | | | Found by Coverity. Fixes CID #1237541.
* readahead: wipe out readaheadDaniel Buch2014-09-25
|
* bus-proxy: drop one wrong assert()Tom Gundersen2014-09-25
|
* shared: path-util - try to make PATH_FORECH_PREFIX look less wrongTom Gundersen2014-09-25
| | | | | | | | | | We replace the idiom "X && !(*foo = 0)" with "X && ((*foo = 0), true)". This is not a functional change, but should hopefully make it less likely that people and static analyzers believe there is a typo here (i.e., to make it clear that the intention was not "X && *foo != 0"). Thanks to David Herrmann for the suggestion.
* bus-proxyd: add some assertsTom Gundersen2014-09-25
| | | | | | Both as documentation, and to make Coverity happy. Fixes CID #1241495 and #1241496.
* localectl: print warning when there are options given on kernel cmdlineMichal Sekletar2014-09-25
|
* fileio: make parse_env_file() return number of parsed itemsMichal Sekletar2014-09-25
| | | | | | | | | | This commit introduces possibility to call parse_env_file_internal() and hand over extra argument where we will accumulate how many items were successfully parsed and pushed by callback. We make use of this in parse_env_file() and return number of parsed items on success instead of always returning zero. As a side-effect this commit should fix bug that locale settings in /etc/locale.conf are not overriden by options passed via kernel command line.
* bus-policy: split API for bus-proxydDaniel Mack2014-09-24
| | | | | | | | | | | | | | | | Instead of operating on an sd_bus_message object, expose an API that has 4 functions: policy_check_own() policy_check_hello() policy_check_recv() policy_check_send() This also allows dropping extra code to parse message contents - the bus proxy already has dedicated code paths for that, and we can hook into those later. Tests amended accordingly.
* bus: remove unused checkThomas Hindoe Paaboel Andersen2014-09-23
| | | | | | | strerror_r does not return null here and even if it did we would have problems already at the preceding strlen call. Found by coverity. Fixes: CID#1237770
* terminal: provide display dimensions to API usersDavid Herrmann2014-09-23
| | | | | Allow users to query the display dimensions of a grdev_display. This is required to properly resize the objects to be rendered.
* terminal: verify kernel-returned DRM events are not truncatedDavid Herrmann2014-09-23
| | | | | | | Make sure the kernel always returns events properly. This is guaranteed right now, otherwise, we do something really wrong. But lets be sure and verify the received values properly. This also silences some coverity warnings.
* terminal: verify grdev tiles are correctly linkedDavid Herrmann2014-09-23
| | | | | | | | We used to set "pipe->tile = tile" inside of the leaf allocation. We no longer do that. Verify that "out" is non-NULL, otherwise we'd leak memory. This is currently always given, but make sure to add an assert(), so coverity does not complain.
* terminal: fix tile-offset calculationDavid Herrmann2014-09-23
| | | | | | | | | Binary operators with two pointers as arguments always operate on object-size, not bytes. That is, "int *a, *b", (a - b) calculates the number of integers between b and a, not the number of bytes. Fix our cache-offset calculation to not use sizeof() with full-ptr arithmetic.
* Silence some "unchecked return-value" warningsDavid Herrmann2014-09-23
| | | | | | | | This adds some log-messages to ioctl() calls where we don't really care for the return value. It isn't strictly necessary to look for those, but lets be sure and print warnings. This silences gcc and coverity, and also makes sure we get reports in case something goes wrong and we didn't expect it to fail that way.
* sd-bus: sync kdbus.hDaniel Mack2014-09-23
|
* sd-bus: sync kdbus.h (API break)Daniel Mack2014-09-23
| | | | Just a rename of two struct members to make the header file c++ compatible.
* localed: rename write_data_x11 to x11_write_dataZbigniew Jędrzejewski-Szmek2014-09-23
| | | | | Other functions in this file follow this pattern, we have vconsole_write_data and locale_write_data.
* Fix warning about unused variable with !SELINUXZbigniew Jędrzejewski-Szmek2014-09-23
| | | | | | src/shared/label.c:255:15: warning: unused variable 'l' [-Wunused-variable] char *l = NULL; ^
* terminal: fix spelling mistakeZbigniew Jędrzejewski-Szmek2014-09-23
|
* logind: add support for Triton2 Power ButtonZbigniew Jędrzejewski-Szmek2014-09-22
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=84201
* sd-bus: sync kdbus.h (API+ABI break)Daniel Mack2014-09-22
| | | | | | | | | | The kdbus logic name registry logic was changed to transport the actual name to acquire, release or report in a kdbus item. This brings the name API a little more in line with other calls, and allows for later augmentation. Follow that change on the systemd side.
* util: avoid non-portable __WORDSIZEEmil Renner Berthing2014-09-22
| | | | | | | | Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified by any spec. Use explicit size comparisons if we're not interested in the WORDSIZE, anyway. (David: adjust commit message to explain why we do this)
* terminal: signal object removal during sysview_context_stop()David Herrmann2014-09-22
| | | | | | | | Now that we no longer propagate callback return values, we can safely call into user-callbacks during sysview_context_stop(). This way, users can rely on all objects to be removed via callbacks (except if they failed during object creation). This avoids duplicating any object hashtables on the users' side and reduces memory consumption.
* terminal: handle callback errors in sysview instead of propagating themDavid Herrmann2014-09-22
| | | | | | | | | | We cannot sanely propagate error codes if we call into user-callbacks multiple times for multiple objects. There is no way to merge those errors or somehow propagate them. However, we can just act similar to sd-event and print a log-message while discarding the values. This way, we allow error-returns, but can properly continue working on our objects.
* terminal: allow user-context to be retrieved/storedDavid Herrmann2014-09-22
| | | | | | | | Add "userdata" storage to a bunch of external objects, namely displays and sessions. Furthermore, add some property retrieval helpers. This is required if we want external API users to not duplicate our own object hashtables, but retrieve context from the objects themselves.
* terminal: make evdev logind-matches per sessionDavid Herrmann2014-09-22
| | | | | | Instead of adding matches per device, we now add logind matches per session. This reduces the number of matches considerably and saves resources.
* exit-status.c: bring EXIT_BUS_ENDPOINT label in line with othersZbigniew Jędrzejewski-Szmek2014-09-22
|
* login: add public sd_session_get_desktop() APIDavid Herrmann2014-09-22
| | | | | | The desktop brand is stored as DESKTOP variable for sessions. It can be set arbitrarily by the session owner and identifies the desktop environment that is running on that session.
* bus: align kdbus ioctl parameters to 8byteDavid Herrmann2014-09-22
| | | | | | | | | All kdbus ioctl arguments must be 8byte aligned. Make sure we use alloca_align() and _alignas_(8) in all situations where gcc doesn't guarantee 8-byte alignment. Note that objects on the stack are always 8byte aligned as we put _alignas_(8) into the structure definition in kdbus.h.
* util: add alloca_align()David Herrmann2014-09-22
| | | | | | | | | | The alloca_align() helper is the alloca() equivalent of posix_memalign(). As there is no such function provided by glibc, we simply account for additional memory and return a pointer offset into the allocated memory to grant the alignment. Furthermore, alloca0_align() is added, which simply clears the allocated memory.
* test-util: make valgrind happyDavid Herrmann2014-09-22
| | | | | Properly free all temporary resources to make valgrind not complain about lost records.
* terminal: raise sysview DEVICE_CHANGE events per attachmentDavid Herrmann2014-09-22
| | | | | | | Instead of raising DEVICE_CHANGE only per device, we now raise it per device-session attachment. This is what we want for all sysview users, anyway, as sessions are meant to be independent of each other. Lets avoid any external session iterators and just do that in sysview itself.
* terminal: forward evdev RESYNC events to linked devicesDavid Herrmann2014-09-22
| | | | | | Whenever we resync an evdev device (or disable it), we should send RESYNC events to the linked upper layers. This allows to disable key-repeat and assume some events got dropped.
* terminal: always call _enable/_disable on evdev devicesDavid Herrmann2014-09-22
| | | | | | The current pause/resume logic kinda intertwines the resume/pause and enable/disable functions. Lets avoid that non-obvious behavior and always make resume call into enable, and pause call into disable, if appropriate.
* terminal: print RESYNC state in evcatDavid Herrmann2014-09-22
| | | | | Whenever a key-event is part of a RESYNC, we should print that verbosely as those events are out-of-order.
* bus-policy: add test utilityDaniel Mack2014-09-20
| | | | Add some test files and routines for dbus policy checking.
* bus-policy: add policy check functionDaniel Mack2014-09-20
| | | | | Add policy_check() to actually check whether an incoming message is allowed by the policy. The code is not yet used from the proxy daemon, though.
* bus-policy: print numeric [gu]id in dump_items()Daniel Mack2014-09-20
|
* bus-policy: do not exit() from policy_dump()Daniel Mack2014-09-20
| | | | | This function is quite useful for debugging. Exiting from it seems unnecessary.
* bus-policy: implement dump_items() with LIST_FOREACHDaniel Mack2014-09-20
| | | | Instead of making the function call itself recursively.
* bus-policy: resolve [ug]id of POLICY_ITEM_{USER,GROUP}Daniel Mack2014-09-20
| | | | | Do the lookup during parsing already, and set i->uid, or i->gid to the numerical values.
* bus_policy: set i->[ug]id_validDaniel Mack2014-09-20
|
* bus-policy: append items rather than prepending themDaniel Mack2014-09-20
| | | | | In the D-Bus policy, the order of items matters, so make sure to store them in the same order as they are parsed by the sax parser.
* bus-policy: story mandatory items in right listDaniel Mack2014-09-20
|
* terminal: fix mode sync for connectorsDavid Herrmann2014-09-20
| | | | | | | | | | | | | | | | | | The GETXY ioctls of DRM are usually called twice by libdrm: Once to retrieve the number of objects, a second time with suitably sized buffers to actually retrieve all objects. In grdrm, we avoid these excessive calls and instead just call ioctls with cached buffers and resize them if they were too small. However, connectors need to read the mode list via EDID, which is horribly slow. As the kernel still cannot do that asynchronously (seriously, we need to fix this!), it has a hack to only do it if count_modes==0. This is fine with libdrm, as it calls every ioctl twice, anyway. However, we fail horribly with this as we usually never pass 0. Fix this by calling into GETCONNECTOR ioctls twice in case we received an hotplug event. Only in those cases, we need to re-read modes, so this should be totally fine.
* terminal: restructure some logging calls in grdrmDavid Herrmann2014-09-20
| | | | | | | | | | | | Multiple issues here: 1) Don't print excessive card dumps on each resync. Disable it and make developers add it themselves. 2) Ignore EINVAL on page-flips. Some cards don't support page-flips, so we'd print it on each frame. Maybe, at some point, the kernel will add support to retrieve capabilities for that. Until then, simply ignore it. 3) Replace the now dropped card-dump with a short message about resyncing the card.