Age | Commit message (Collapse) | Author |
|
|
|
|
|
Among other things this also adds a few things necessary for the change:
- Considerably more powerful error returning APIs in libsystemd-bus
- Adapter for connecting an sd_bus to an sd_event
- As I reworked the PolicyKit logic to the new library I also made it
asynchronous, so that PolicyKit requests of one user cannot block out
another user anymore.
- We always use the macro names for common bus error. That way it is
harder to mistype them since the compiler will notice
|
|
This way they are nicer to use from method dispatch callbacks as last
call, since method dispatch callbacks expect > 0 return if the message
got handled.
|
|
read but not dispatched messages
|
|
|
|
|
|
|
|
|
|
|
|
Always use our own macros, and name all our own macros the same style.
|
|
Devices should show up in systemd regardless whether the user invoked
"udevadm trigger" or not. Before this change some devices might have
suddenly disappeared due issuing that command.
|
|
Since the kernel no longer exposes a large number of "dead" loop devices
it is OK to expose them now in systemd, so let's do that. This has the
benefit that mount dependencies on loop devices start to work.
|
|
|
|
|
|
|
|
|
|
|
|
The session-device/control API was introduced for unprivileged device
access from within a session. Add the required dbus policy to the default
logind policies.
Note: logind validates that only root and the user of a session can
use the API. Furthermore, only a single API user gets access at a time.
|
|
|
|
The function svg_ps_bars() dereferencess NULL pointer in the line
endtime = ps->last->sampledata->sampletime;
because of partially initialized ps_struct (ps->last == NULL).
If some process terminates between scaning /proc directory in the log_sample()
function and reading additional information from /proc/PID/... files,
the files couldn't be read, the loop will be continued and partially
initialized structure returned.
|
|
This is a recurring submission and includes corrections to various
issue spotted. I guess I can just skip over reporting ubiquitous comma
placement fixes…
|
|
|
|
$ ldd libsystemd-id128.so
linux-vdso.so.1 => (0x00007fffce377000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4de1fc1000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4de1db9000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4de1bb4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4de17f5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4de2406000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f4de158f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4de1371000)
$ ldd libsystemd-id128.so
linux-vdso.so.1 => (0x00007fff25187000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f41a3964000)
libc.so.6 => /lib64/libc.so.6 (0x00007f41a35a5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f41a3d89000)
|
|
|
|
This function should get the same treatment as other qsort uses
did in 7ff7394 "Never call qsort on potentially NULL arrays".
Reported-by: Oleksii Shevchuk <alxchk@gmail.com>
|
|
are dispatching to one
|
|
Otherwise the callback might unref the bus we are processing and destroy
the object while we are processing it.
|
|
|
|
|
|
Much like for rfkill devices we should provide some stability regarding
enumeration order, hence include the stable bits of the device path in
the file name we store settings under.
|
|
Let's include the stable device path for the rfkill devices in the name
of the file we store the rfkill state in, so that we have some stability
regarding enumeration order.
|
|
glob_extend() would completely fail to work, or return incorrect
data if it wasn't being passed the current getopt "optarg" variable
as it used the global variable, instead of the passed parameters.
|
|
each invocation
We can determine the list entry type via the typeof() gcc construct, and
so we should to make the macros much shorter to use.
|
|
Emacs C indenting really gets confused by these lines if they carry no
trailing semicolon, hence let's make this nicer for good old emacs. The
other macros which define functions already do this too, so let's copy
the scheme here.
Also, let's use an uppercase name for the macro. So far our rough rule
was that macros that are totally not function-like (like this ones,
which define a function) are uppercase. (Well, admittedly it is a rough
rule only, for example function and variable decorators are all
lower-case SINCE THE CONSTANT YELLING IN THE SOURCES WOULD SUCK, and
also they at least got underscore prefixes.) Also, the macros that
define functions that we already have are all uppercase, so let's do the
same here...
|
|
|
|
Because that's exactly the kind of situation where the private bus is
necessary.
|
|
This works analogous to the existing backlight and random seed services
|
|
backlights if we have both for the same device
|
|
|
|
|
|
|
|
|
|
|
|
The code was actually safe, because b should
never be null, because if rvalue is empty, a different
branch is taken. But we *do* check for NULL in the
loop above, so it's better to also check here for symmetry.
|
|
|
|
Since the invention of read-only memory, write-only memory has been
considered deprecated. Where appropriate, either make use of the
value, or avoid writing it, to make it clear that it is not used.
|
|
|
|
src/machine/machined-dbus.c:237:13: warning: Branch condition evaluates to a garbage value
if (m)
^
|
|
If the function failed, nothing serious would happen
because unlink would probably return EFAULT, but this
would obscure the real error and is a bit sloppy.
|