summaryrefslogtreecommitdiff
path: root/bus/bus.h
diff options
context:
space:
mode:
authorJacek Bukarewicz <j.bukarewicz@samsung.com>2014-11-28 12:39:33 +0100
committerAdrian Szyndela <adrian.s@samsung.com>2016-02-19 11:53:57 +0100
commit39a2176ea2a51c3d3b270f4083fc031981b16b75 (patch)
tree4238701ca6014677f184282e15a8256b22181b4f /bus/bus.h
parent45ba968436b10e4e0238cb67d76c770e1deabe5b (diff)
downloaddbus-39a2176ea2a51c3d3b270f4083fc031981b16b75.tar.gz
dbus-39a2176ea2a51c3d3b270f4083fc031981b16b75.tar.bz2
dbus-39a2176ea2a51c3d3b270f4083fc031981b16b75.zip
Handle receive rule result unavailability and message broadcasts
When message is sent to the addressed recipient and receive rule result is unavailable we don't want to block the sender as it most likely will be the privileged service, so instead we queue it at the recipient. Any further messages sent to it will be queued to maintain message order. Once the answer from Cynara arrives messages are dispatched from the recipient queue. In such case full dispatch is performed - messages are sent to addressed recipient and other interested connections. Messages sent to non-addressed recipients (eavesdroppers or broadcast message recipients) are handled in a similar way. The difference is that it is not full dispatch meaning message is sent to a single recipient. Change-Id: Iecd5395f75a4c7811fa97247a37d8fc4d42e8814
Diffstat (limited to 'bus/bus.h')
-rw-r--r--bus/bus.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/bus/bus.h b/bus/bus.h
index 4e1ef6b8..95ca9a8e 100644
--- a/bus/bus.h
+++ b/bus/bus.h
@@ -161,4 +161,23 @@ BusResult bus_context_check_security_policy (BusContext
DBusError *error,
BusDeferredMessage **deferred_message);
+dbus_bool_t bus_context_check_recipient_message_limits (BusContext *context,
+ DBusConnection *recipient,
+ DBusConnection *sender,
+ DBusMessage *message,
+ dbus_bool_t requested_reply,
+ DBusError *error);
+void bus_context_complain_about_message (BusContext *context,
+ const char *error_name,
+ const char *complaint,
+ int matched_rules,
+ DBusMessage *message,
+ DBusConnection *sender,
+ DBusConnection *proposed_recipient,
+ dbus_bool_t requested_reply,
+ dbus_bool_t log,
+ const char *privilege,
+ DBusError *error);
+
+
#endif /* BUS_BUS_H */