Kicking a peer off the dbus-daemon ought to be an unusual circumstance, so we should probably log it. The patches I'm about to attach will require the one from Bug #83625.
Created attachment 107949 [details] [review] DBusError: factor out _dbus_set_error_va
Created attachment 107950 [details] [review] DBusTransport: record abnormal disconnections Normal disconnection is DBUS_ERROR_DISCONNECTED.
Created attachment 107951 [details] [review] DBusTransport, DBusConnection: make the disconnection error available
Created attachment 107952 [details] [review] dbus-daemon: log abnormal disconnections
Created attachment 107953 [details] [review] Add a test-case for dbus-daemon kicking the sender of a corrupt message --- It isn't asserted, but this does print to stderr.
Created attachment 107955 [details] [review] tests: link shared test executables explicitly to our libdbus-1.la Otherwise they'll be linked to the system libdbus-1.so (via dbus-glib), and that might be older than ours and contain less ABI. --- Not really part of this bug, but working on this bug exposed this. Alternatively, we could merge Bug #83115.
Created attachment 107956 [details] [review] Add public API by which a service can tell why it got disconnected This is not necessarily very informative because we don't communicate error details across the stream before disconnecting the peer, so one peer will have error details and the other will have DBUS_ERROR_DISCONNECTED... but it's better than nothing! --- This is mainly for peer-to-peer situations, because in the normal star topology, we assume that dbus-daemon will be Correct™ at all times. It might be useful to make it more visible if a recipient of Unix fds exceeds its fd limit, can't receive them, and responds by closing the connection, though.
Created attachment 107957 [details] Distinguish between local and remote disconnection --- I'm in two minds about this one. Consider it optional.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/dbus/dbus/issues/116.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.