bus: use inline trace argument for ANONYMOUS auth
authorDavid Rheinsberg <david.rheinsberg@gmail.com>
Wed, 29 Jun 2022 11:37:40 +0000 (13:37 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 5 Aug 2022 15:39:55 +0000 (16:39 +0100)
commit347f48246f7014f2e266b1fcb4527edee93037da
treebc02d72ce301338d6128506ca33b4d5b100b5037
parentecb991621aecb30cc31661dd853ed98342d26105
bus: use inline trace argument for ANONYMOUS auth

Rather than using a separate DATA round to transmit the trace-string of
the ANONYMOUS authentication scheme, transmit it inline as argument.
This requires a refactor of the client-side SASL parser, as we now have
a different set of replies depending on the mode used.

This fixes an issue where libdbus-1 does not query for trace-strings if
not transmit inline as AUTH-ANONYMOUS argument. It is unclear from the
wording of the spec whether this is a violation by libdbus-1. However,
we can work around it by simply changing our mode of transmittal.
src/libsystemd/sd-bus/bus-socket.c