platform/core/system/kdbus-bus.git
11 years agoconnection: fix access-after-free
Kay Sievers [Wed, 25 Dec 2013 04:16:36 +0000 (05:16 +0100)]
connection: fix access-after-free

11 years agoupdate cookie and cookie_reply logic
Kay Sievers [Wed, 25 Dec 2013 03:14:05 +0000 (04:14 +0100)]
update cookie and cookie_reply logic

11 years agoreturn error in kdbus_name_release()
Kay Sievers [Tue, 24 Dec 2013 23:20:06 +0000 (00:20 +0100)]
return error in kdbus_name_release()

11 years agodo not deny writing messages to an activator connection
Kay Sievers [Tue, 24 Dec 2013 21:44:07 +0000 (22:44 +0100)]
do not deny writing messages to an activator connection

11 years agohandle: do not put "ep" and "conn" in a union
Kay Sievers [Tue, 24 Dec 2013 17:57:17 +0000 (18:57 +0100)]
handle: do not put "ep" and "conn" in a union

11 years agometadata: always allocate and don't embed meta object
Kay Sievers [Tue, 24 Dec 2013 16:47:57 +0000 (17:47 +0100)]
metadata: always allocate and don't embed meta object

11 years agoconnection: move messages addressed to a name back to the activator
Kay Sievers [Tue, 24 Dec 2013 04:59:42 +0000 (05:59 +0100)]
connection: move messages addressed to a name back to the activator

11 years agometadata: use append_data for credentials
Kay Sievers [Tue, 24 Dec 2013 02:22:13 +0000 (03:22 +0100)]
metadata: use append_data for credentials

11 years agometadata: re-initialize meta object, we might re-use it
Kay Sievers [Tue, 24 Dec 2013 02:14:25 +0000 (03:14 +0100)]
metadata: re-initialize meta object, we might re-use it

11 years agoallow HELLO to impersonate somebody else
Kay Sievers [Tue, 24 Dec 2013 02:09:13 +0000 (03:09 +0100)]
allow HELLO to impersonate somebody else

11 years agomatch: check for currently owned names
Kay Sievers [Mon, 23 Dec 2013 23:13:41 +0000 (00:13 +0100)]
match: check for currently owned names

11 years agopolicy: remove inline declaration, it's the compiler's decision
Kay Sievers [Mon, 23 Dec 2013 22:35:36 +0000 (23:35 +0100)]
policy: remove inline declaration, it's the compiler's decision

11 years agoconnection: do not guess-check for target connection without ref'ing it
Kay Sievers [Mon, 23 Dec 2013 22:33:11 +0000 (23:33 +0100)]
connection: do not guess-check for target connection without ref'ing it

11 years agorename "id" to "owner_id" for all actions on behalf of other connections
Kay Sievers [Mon, 23 Dec 2013 18:04:35 +0000 (19:04 +0100)]
rename "id" to "owner_id" for all actions on behalf of other connections

11 years agoTODO: update
Kay Sievers [Mon, 23 Dec 2013 02:17:44 +0000 (03:17 +0100)]
TODO: update

11 years agodo not filter directed messages sent to monitor connections
Kay Sievers [Mon, 23 Dec 2013 01:21:44 +0000 (02:21 +0100)]
do not filter directed messages sent to monitor connections

11 years agonames: cosmetics
Daniel Mack [Sun, 22 Dec 2013 00:06:45 +0000 (01:06 +0100)]
names: cosmetics

11 years agonames: fix 'added' assignment
Daniel Mack [Sat, 21 Dec 2013 23:59:47 +0000 (00:59 +0100)]
names: fix 'added' assignment

11 years agonames: rework list logic once more
Daniel Mack [Sat, 21 Dec 2013 23:46:37 +0000 (00:46 +0100)]
names: rework list logic once more

now, KDBUS_NAME_LIST_ACTIVATORS will list name entries regardless
whether they have been activated or not.

11 years agokdbus.h: document ENOENT error
Lennart Poettering [Sat, 21 Dec 2013 23:16:34 +0000 (00:16 +0100)]
kdbus.h: document ENOENT error

11 years agonames: fix condition for activator listing
Daniel Mack [Sat, 21 Dec 2013 23:06:37 +0000 (00:06 +0100)]
names: fix condition for activator listing

11 years agonames: add the activator connection itself to the list of of activator names
Daniel Mack [Sat, 21 Dec 2013 22:58:29 +0000 (23:58 +0100)]
names: add the activator connection itself to the list of of activator names

11 years agoadd KDBUS_ITEM_DST_NAME to outgoing messages
Kay Sievers [Sat, 21 Dec 2013 03:21:26 +0000 (04:21 +0100)]
add KDBUS_ITEM_DST_NAME to outgoing messages

11 years agometadata: set every bit only once, also bits for unknown attach requests
Kay Sievers [Sat, 21 Dec 2013 02:13:28 +0000 (03:13 +0100)]
metadata: set every bit only once, also bits for unknown attach requests

11 years agomatch: make kdbus_match_entry_free static
Daniel Mack [Fri, 20 Dec 2013 23:29:47 +0000 (00:29 +0100)]
match: make kdbus_match_entry_free static

11 years agonotify: assign kmsg's notify_{new,old}_id
Daniel Mack [Fri, 20 Dec 2013 23:00:20 +0000 (00:00 +0100)]
notify: assign kmsg's notify_{new,old}_id

11 years agochange error message of BYEBYE to -EBUSY
Daniel Mack [Fri, 20 Dec 2013 22:25:16 +0000 (23:25 +0100)]
change error message of BYEBYE to -EBUSY

11 years agotest-kdbus: add tests for match logic
Daniel Mack [Fri, 20 Dec 2013 11:09:28 +0000 (12:09 +0100)]
test-kdbus: add tests for match logic

11 years agomatch: rework code
Daniel Mack [Fri, 20 Dec 2013 11:03:45 +0000 (12:03 +0100)]
match: rework code

This is a rework of the match code logic. This also changes the external
API in multiple ways. In particular,

 * the item types of kdbus_cmd_match are now of type KDBUS_ITEM_*
 * existing kdbus_item structs are used as attachment to kdbus_cmd_match
 * the KDBUS_MATCH definitions have been removed entirely
 * introduce KDBUS_ITEM_ID to store a connection ID
 * src_id in kdbus_cmd_match has been removed, the information lives in
   an item attachment now.

Internally, the code was completely reworked.

11 years agokdbus-test: start monitor tests
Daniel Mack [Thu, 19 Dec 2013 12:34:28 +0000 (13:34 +0100)]
kdbus-test: start monitor tests

11 years agomatch: add name matching, match kernel notifications
Kay Sievers [Thu, 19 Dec 2013 05:39:50 +0000 (06:39 +0100)]
match: add name matching, match kernel notifications

11 years agomatch: read the name from the right structure
Kay Sievers [Thu, 19 Dec 2013 05:34:17 +0000 (06:34 +0100)]
match: read the name from the right structure

11 years agodo not allow monitor connections to own names
Daniel Mack [Wed, 18 Dec 2013 20:10:46 +0000 (21:10 +0100)]
do not allow monitor connections to own names

11 years agoconnection: make KDBUS_ITEM_PAYLOAD_VEC's offset relative to the message start
Daniel Mack [Wed, 18 Dec 2013 20:02:18 +0000 (21:02 +0100)]
connection: make KDBUS_ITEM_PAYLOAD_VEC's offset relative to the message start

This way, we don't have to modify the content of such items when copying
around messages from one pool to another, as done when activator names
are taken over.

11 years agonotify: always use memcpy
Kay Sievers [Wed, 18 Dec 2013 19:58:13 +0000 (20:58 +0100)]
notify: always use memcpy

11 years agonotify: make sure we send NUL terminate name strings in name_change messages to userspace
Lennart Poettering [Wed, 18 Dec 2013 18:48:50 +0000 (19:48 +0100)]
notify: make sure we send NUL terminate name strings in name_change messages to userspace

11 years agotest: chat - dump all names
Kay Sievers [Wed, 18 Dec 2013 17:08:33 +0000 (18:08 +0100)]
test: chat - dump all names

11 years agonames: use the correct list entry when iterating over queued names
Kay Sievers [Wed, 18 Dec 2013 17:08:24 +0000 (18:08 +0100)]
names: use the correct list entry when iterating over queued names

11 years agonames: remember entry when queueing up a connection for a name
Kay Sievers [Wed, 18 Dec 2013 16:26:06 +0000 (17:26 +0100)]
names: remember entry when queueing up a connection for a name

11 years agonames: clean up flag handling when taking over names
Kay Sievers [Wed, 18 Dec 2013 15:19:02 +0000 (16:19 +0100)]
names: clean up flag handling when taking over names

11 years agonames: set incoming/outgoing queueing flags in one place
Kay Sievers [Wed, 18 Dec 2013 13:36:21 +0000 (14:36 +0100)]
names: set incoming/outgoing queueing flags in one place

11 years agonames: directly pass KDBUS_NAME_ACTIVATOR for activator requests
Kay Sievers [Wed, 18 Dec 2013 13:15:49 +0000 (14:15 +0100)]
names: directly pass KDBUS_NAME_ACTIVATOR for activator requests

11 years agonames: strict filter of incoming KDBUS_NAME_* flags
Kay Sievers [Wed, 18 Dec 2013 13:15:01 +0000 (14:15 +0100)]
names: strict filter of incoming KDBUS_NAME_* flags

11 years agodo not return improper idr failure codes to userspace
Kay Sievers [Wed, 18 Dec 2013 01:31:49 +0000 (02:31 +0100)]
do not return improper idr failure codes to userspace

11 years agoendpoint: fix idr_alloc return value check
Daniel Mack [Wed, 18 Dec 2013 00:57:20 +0000 (01:57 +0100)]
endpoint: fix idr_alloc return value check

11 years agoRevert "move kdbus_subsys from namespace.c to main.c"
Daniel Mack [Wed, 18 Dec 2013 00:48:52 +0000 (01:48 +0100)]
Revert "move kdbus_subsys from namespace.c to main.c"

This reverts commit 1ca27c6e7e95d505f6bee190b8dd30dea6f415d1.

11 years agomatch: plug memory leak
Daniel Mack [Wed, 18 Dec 2013 00:45:20 +0000 (01:45 +0100)]
match: plug memory leak

11 years agobus: don't try to free an ERR_PTR
Daniel Mack [Wed, 18 Dec 2013 00:39:16 +0000 (01:39 +0100)]
bus: don't try to free an ERR_PTR

11 years agobus: fix memory leak on malformed messages
Daniel Mack [Wed, 18 Dec 2013 00:38:43 +0000 (01:38 +0100)]
bus: fix memory leak on malformed messages

11 years agoendpoint: fix memory leak on malformed input
Daniel Mack [Wed, 18 Dec 2013 00:36:36 +0000 (01:36 +0100)]
endpoint: fix memory leak on malformed input

11 years agoendpoint: save an extra variable for idr_alloc()
Daniel Mack [Wed, 18 Dec 2013 00:33:41 +0000 (01:33 +0100)]
endpoint: save an extra variable for idr_alloc()

11 years agoendpoint: plug mem leak if kstrdup() fails
Daniel Mack [Wed, 18 Dec 2013 00:32:19 +0000 (01:32 +0100)]
endpoint: plug mem leak if kstrdup() fails

11 years agonamespace: don't try to free an ERR_PTR
Daniel Mack [Wed, 18 Dec 2013 00:26:46 +0000 (01:26 +0100)]
namespace: don't try to free an ERR_PTR

11 years agoindent
Daniel Mack [Wed, 18 Dec 2013 00:23:34 +0000 (01:23 +0100)]
indent

11 years agomove kdbus_subsys from namespace.c to main.c
Daniel Mack [Wed, 18 Dec 2013 00:23:28 +0000 (01:23 +0100)]
move kdbus_subsys from namespace.c to main.c

11 years agopool: fix include
Daniel Mack [Wed, 18 Dec 2013 00:22:54 +0000 (01:22 +0100)]
pool: fix include

11 years agoindent
Daniel Mack [Wed, 18 Dec 2013 00:18:02 +0000 (01:18 +0100)]
indent

11 years agofix multi-line comment
Daniel Mack [Tue, 17 Dec 2013 23:59:40 +0000 (00:59 +0100)]
fix multi-line comment

11 years agokernel-doc kdbus_handle_type
Daniel Mack [Tue, 17 Dec 2013 23:57:15 +0000 (00:57 +0100)]
kernel-doc kdbus_handle_type

11 years agomore include cleanups
Daniel Mack [Tue, 17 Dec 2013 23:52:25 +0000 (00:52 +0100)]
more include cleanups

11 years agoMakefile: add install/uninstall
Kay Sievers [Tue, 17 Dec 2013 23:51:59 +0000 (00:51 +0100)]
Makefile: add install/uninstall

11 years agokdbus.h: fix kernel-doc
Daniel Mack [Tue, 17 Dec 2013 23:24:43 +0000 (00:24 +0100)]
kdbus.h: fix kernel-doc

11 years agomake kdbus_notify_name_change consist of two kdbus_notify_id_change
Daniel Mack [Tue, 17 Dec 2013 23:18:38 +0000 (00:18 +0100)]
make kdbus_notify_name_change consist of two kdbus_notify_id_change

11 years agokdbus.h cosmetics
Daniel Mack [Tue, 17 Dec 2013 23:09:48 +0000 (00:09 +0100)]
kdbus.h cosmetics

11 years agohandle: clean up error path
Daniel Mack [Tue, 17 Dec 2013 22:36:26 +0000 (23:36 +0100)]
handle: clean up error path

no functional change.

11 years agoinclude linux/uaccess.h from all files that use copy_{from,to}_user
Daniel Mack [Tue, 17 Dec 2013 22:21:47 +0000 (23:21 +0100)]
include linux/uaccess.h from all files that use copy_{from,to}_user

11 years agoinclude uaccess.h where needed
Kay Sievers [Tue, 17 Dec 2013 22:16:19 +0000 (23:16 +0100)]
include uaccess.h where needed

11 years agotest-kdbus: add test for BYEBYE
Daniel Mack [Tue, 17 Dec 2013 22:13:29 +0000 (23:13 +0100)]
test-kdbus: add test for BYEBYE

11 years agodocument KDBUS_CMD_BYEBYE
Daniel Mack [Tue, 17 Dec 2013 21:19:08 +0000 (22:19 +0100)]
document KDBUS_CMD_BYEBYE

11 years agoadd KDBUS_CMD_BYEBYE
Daniel Mack [Tue, 17 Dec 2013 21:11:57 +0000 (22:11 +0100)]
add KDBUS_CMD_BYEBYE

11 years agohandle: plug memory leak in case copy_to_user() fails
Daniel Mack [Tue, 17 Dec 2013 21:01:41 +0000 (22:01 +0100)]
handle: plug memory leak in case copy_to_user() fails

11 years agopool: use {} in all conditional branches if used in one of them
Daniel Mack [Tue, 17 Dec 2013 19:24:00 +0000 (20:24 +0100)]
pool: use {} in all conditional branches if used in one of them

11 years agoavoid block in case statements unless necessary
Daniel Mack [Tue, 17 Dec 2013 19:22:13 +0000 (20:22 +0100)]
avoid block in case statements unless necessary

11 years agoremove kdbus_msg_dump
Daniel Mack [Tue, 17 Dec 2013 18:55:27 +0000 (19:55 +0100)]
remove kdbus_msg_dump

11 years agoconnection: use kcalloc when allocating arrays
Daniel Mack [Tue, 17 Dec 2013 18:46:39 +0000 (19:46 +0100)]
connection: use kcalloc when allocating arrays

11 years agoremove unneeded include headers
Daniel Mack [Tue, 17 Dec 2013 18:25:12 +0000 (19:25 +0100)]
remove unneeded include headers

11 years agoheaders: more trivial style complaints
Daniel Mack [Tue, 17 Dec 2013 17:57:12 +0000 (18:57 +0100)]
headers: more trivial style complaints

11 years agosome trivial style-related fixups
Daniel Mack [Tue, 17 Dec 2013 17:47:09 +0000 (18:47 +0100)]
some trivial style-related fixups

11 years agonamespace: pre-calculate payload_size to simplify code
Daniel Mack [Tue, 17 Dec 2013 17:49:56 +0000 (18:49 +0100)]
namespace: pre-calculate payload_size to simplify code

11 years agokdbus_msg_scan_items(): simplify item size logic
Daniel Mack [Tue, 17 Dec 2013 17:41:03 +0000 (18:41 +0100)]
kdbus_msg_scan_items(): simplify item size logic

11 years agonamespace: catch return var of register_chrdev() in signed int
Daniel Mack [Tue, 17 Dec 2013 16:42:05 +0000 (17:42 +0100)]
namespace: catch return var of register_chrdev() in signed int

11 years agonames, metadata: reduce scope of some vars
Daniel Mack [Tue, 17 Dec 2013 16:38:55 +0000 (17:38 +0100)]
names, metadata: reduce scope of some vars

11 years agoconnection: only write the header of KDBUS_ITEM_FDS
Daniel Mack [Tue, 17 Dec 2013 14:42:39 +0000 (15:42 +0100)]
connection: only write the header of KDBUS_ITEM_FDS

11 years agoconnection: fix sparse warning about variable-length arrays
Daniel Mack [Tue, 17 Dec 2013 13:19:45 +0000 (14:19 +0100)]
connection: fix sparse warning about variable-length arrays

11 years agoconnection: fix sparse warning about different address spaces
Daniel Mack [Tue, 17 Dec 2013 13:10:26 +0000 (14:10 +0100)]
connection: fix sparse warning about different address spaces

11 years agoconnection: fix free of bogus pool offset in error case
Daniel Mack [Tue, 17 Dec 2013 13:04:13 +0000 (14:04 +0100)]
connection: fix free of bogus pool offset in error case

11 years agonames: fix free of bogus pool offset in error case
Daniel Mack [Tue, 17 Dec 2013 13:02:41 +0000 (14:02 +0100)]
names: fix free of bogus pool offset in error case

11 years agoendpoint: fix potential deadlock
Daniel Mack [Tue, 17 Dec 2013 12:59:56 +0000 (13:59 +0100)]
endpoint: fix potential deadlock

11 years agoconsolidate kdbus_cmd_{bus,ep,ns}_make structs
Daniel Mack [Tue, 17 Dec 2013 12:20:24 +0000 (13:20 +0100)]
consolidate kdbus_cmd_{bus,ep,ns}_make structs

While at it, make the bloom_size struct member a kdbus item.

11 years agouse KDBUS_ITEM_NAME instead of KDBUS_ITEM_ACTIVATOR_NAME
Daniel Mack [Tue, 17 Dec 2013 11:23:23 +0000 (12:23 +0100)]
use KDBUS_ITEM_NAME instead of KDBUS_ITEM_ACTIVATOR_NAME

11 years agoTODO: update
Kay Sievers [Tue, 17 Dec 2013 03:26:26 +0000 (04:26 +0100)]
TODO: update

11 years agocheck for "cookie" not "cookie_reply" in the reply tracking
Kay Sievers [Tue, 17 Dec 2013 02:37:47 +0000 (03:37 +0100)]
check for "cookie" not "cookie_reply" in the reply tracking

11 years agorename iterator to "c"; we have too many "conn" variables
Kay Sievers [Tue, 17 Dec 2013 02:35:43 +0000 (03:35 +0100)]
rename iterator to "c"; we have too many "conn" variables

11 years agoallow to peek the sender of a message, and to drop a message
Kay Sievers [Tue, 17 Dec 2013 01:54:24 +0000 (02:54 +0100)]
allow to peek the sender of a message, and to drop a message

11 years agonames: refuse flags and do not pass flags around when not needed
Kay Sievers [Mon, 16 Dec 2013 19:41:01 +0000 (20:41 +0100)]
names: refuse flags and do not pass flags around when not needed

11 years agoconnection: fix call to kdbus_name_acquire()
Daniel Mack [Mon, 16 Dec 2013 19:28:23 +0000 (20:28 +0100)]
connection: fix call to kdbus_name_acquire()

11 years agokdbus.h: add alignment requirement to struct definitions
Kay Sievers [Mon, 16 Dec 2013 16:43:51 +0000 (17:43 +0100)]
kdbus.h: add alignment requirement to struct definitions

11 years agonames: Fix KDBUS_NAME_IN_QUEUE flag in kdbus_name_acquire()
Lukasz Skalski [Mon, 16 Dec 2013 14:43:41 +0000 (15:43 +0100)]
names: Fix KDBUS_NAME_IN_QUEUE flag in kdbus_name_acquire()

11 years agoFix exiting from kdbus_cmd_conn_info()
Radoslaw Pajak [Mon, 16 Dec 2013 11:25:43 +0000 (12:25 +0100)]
Fix exiting from kdbus_cmd_conn_info()

11 years agoconnection: swap condition branches for better readability
Daniel Mack [Sun, 15 Dec 2013 18:39:39 +0000 (19:39 +0100)]
connection: swap condition branches for better readability