From: Djalal Harouni Date: Sat, 25 Oct 2014 11:30:14 +0000 (+0100) Subject: connection: make KDBUS_CMD_CONN_UPDATE ioctl available for monitor connections X-Git-Tag: upstream/0.20141102.012929utc~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad8ea54a3e08c32da857a4748ceb25ccbecbebd6;p=platform%2Fcore%2Fsystem%2Fkdbus-bus.git connection: make KDBUS_CMD_CONN_UPDATE ioctl available for monitor connections Signed-off-by: Djalal Harouni --- diff --git a/connection.c b/connection.c index 9e84b45..771fdaf 100644 --- a/connection.c +++ b/connection.c @@ -1377,9 +1377,10 @@ int kdbus_cmd_conn_update(struct kdbus_conn *conn, KDBUS_ITEMS_FOREACH(item, cmd->items, KDBUS_ITEMS_SIZE(cmd, items)) { switch (item->type) { case KDBUS_ITEM_ATTACH_FLAGS: - /* Only ordinary connections may update their - * attach-flags */ - if (!kdbus_conn_is_connected(conn)) + /* Only ordinary or monitor connections + * may update their attach-flags */ + if (!kdbus_conn_is_connected(conn) && + !kdbus_conn_is_monitor(conn)) return -EOPNOTSUPP; flags_provided = true; diff --git a/handle.c b/handle.c index dabafad..9725949 100644 --- a/handle.c +++ b/handle.c @@ -886,7 +886,8 @@ static long kdbus_handle_ioctl_ep_connected(struct file *file, unsigned int cmd, struct kdbus_cmd_update *cmd_update; if (!kdbus_conn_is_connected(conn) && - !kdbus_conn_is_policy_holder(conn)) { + !kdbus_conn_is_policy_holder(conn) && + !kdbus_conn_is_monitor(conn)) { ret = -EOPNOTSUPP; break; } diff --git a/kdbus.txt b/kdbus.txt index 00ee9dd..b491293 100644 --- a/kdbus.txt +++ b/kdbus.txt @@ -1790,7 +1790,7 @@ For KDBUS_CMD_CONN_INFO: For KDBUS_CMD_CONN_UPDATE: -EINVAL Illegal flags or items - -EOPNOTSUPP Connection is not attached to bus + -EOPNOTSUPP Operation not supported by connection. -E2BIG Too many policy items attached -EINVAL Wildcards submitted in policy entries, or illegal sequence of policy items