project/ubus.git
11 years agolibubus: fix deadlock in recursive synchronous ubus requests
Felix Fietkau [Sat, 11 May 2013 18:39:54 +0000 (20:39 +0200)]
libubus: fix deadlock in recursive synchronous ubus requests

When synchronous request completion loops are running, the innermost
loop can receive events that can unblock the outer loops, however the
loop clears uloop_cancelled (which is set by the request completion).

This causes the event loop to continue running even while a completion
loop has already been unblocked.

Fix this by not clearing uloop_cancelled for inner loops

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: fix crash on reconnect with objects that have no type
Felix Fietkau [Thu, 4 Apr 2013 20:03:03 +0000 (22:03 +0200)]
libubus: fix crash on reconnect with objects that have no type

Signed-off-by: John Crispin <blogic@openwrt.org>
11 years agolibubus: fix passing the return code of the subscriber callback to the notifier
Felix Fietkau [Sun, 17 Mar 2013 17:29:38 +0000 (18:29 +0100)]
libubus: fix passing the return code of the subscriber callback to the notifier

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: fix synchronous ubus_notify without waiting for a timeout
Felix Fietkau [Sun, 17 Mar 2013 16:55:11 +0000 (17:55 +0100)]
libubus: fix synchronous ubus_notify without waiting for a timeout

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: add ubus_unregister_subscriber wrapper
Felix Fietkau [Sun, 17 Mar 2013 02:11:35 +0000 (03:11 +0100)]
libubus: add ubus_unregister_subscriber wrapper

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: add UBUS_METHOD_NOARG
Felix Fietkau [Wed, 6 Mar 2013 15:56:33 +0000 (16:56 +0100)]
libubus: add UBUS_METHOD_NOARG

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoadd systemd support
Thomas Gstädtner [Mon, 4 Mar 2013 18:05:09 +0000 (19:05 +0100)]
add systemd support

This adds basic systemd support, incl. socket activation.
If systemd build is disabled, there won't be any sign of it neither
during build nor after.
If systemd build is enabled (default), but systemd is not available,
no systemd stuff is installed, so there is no impact whatsoever.

11 years agomake UBUS_UNIX_SOCKET configurable via cmake
Thomas Gstädtner [Mon, 4 Mar 2013 18:05:08 +0000 (19:05 +0100)]
make UBUS_UNIX_SOCKET configurable via cmake

this is mainly useful to have a single location to read the setting
from, when it is used multiple times at build time (which it will in a
following patch) :)

11 years agoadd INCLUDE_DIRECTORIES to subdirectories
Thomas Gstädtner [Sun, 3 Mar 2013 02:06:20 +0000 (03:06 +0100)]
add INCLUDE_DIRECTORIES to subdirectories

11 years agomake building examples an option
Thomas Gstädtner [Sun, 3 Mar 2013 02:06:19 +0000 (03:06 +0100)]
make building examples an option

11 years agobuild: remove install prefix override
Felix Fietkau [Wed, 23 Jan 2013 14:22:46 +0000 (15:22 +0100)]
build: remove install prefix override

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolua: pass u64 blob type as double to Lua
Jo-Philipp Wich [Sun, 13 Jan 2013 19:37:00 +0000 (20:37 +0100)]
lua: pass u64 blob type as double to Lua

11 years agolibubus: free internal blob_buf memory when freeing an ubus context
Felix Fietkau [Sun, 30 Dec 2012 13:12:10 +0000 (14:12 +0100)]
libubus: free internal blob_buf memory when freeing an ubus context

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoexamples: disable the message on the server example, measure the notify latency on...
Felix Fietkau [Sat, 15 Dec 2012 15:52:03 +0000 (16:52 +0100)]
examples: disable the message on the server example, measure the notify latency on the client example

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: fix data type of request sequence counter. fixes hang after ~64K requests
Felix Fietkau [Sat, 15 Dec 2012 15:51:28 +0000 (16:51 +0100)]
libubus: fix data type of request sequence counter. fixes hang after ~64K requests

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: fix uninitialized variable warning
Felix Fietkau [Sat, 15 Dec 2012 13:11:15 +0000 (14:11 +0100)]
libubus: fix uninitialized variable warning

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoexamples: use blocking notify
Felix Fietkau [Fri, 14 Dec 2012 23:37:26 +0000 (00:37 +0100)]
examples: use blocking notify

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: implement notify handling
Felix Fietkau [Fri, 14 Dec 2012 23:37:09 +0000 (00:37 +0100)]
libubus: implement notify handling

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: fix segfaults on request timeouts
Felix Fietkau [Fri, 14 Dec 2012 23:35:12 +0000 (00:35 +0100)]
libubus: fix segfaults on request timeouts

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoubusd: implement notify forwarding with status reporting
Felix Fietkau [Fri, 14 Dec 2012 23:32:27 +0000 (00:32 +0100)]
ubusd: implement notify forwarding with status reporting

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: check if subscriber cb is non-NULL before calling it
Felix Fietkau [Fri, 14 Dec 2012 20:27:52 +0000 (21:27 +0100)]
libubus: check if subscriber cb is non-NULL before calling it

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: do not send a status reply if UBUS_ATTR_NO_REPLY is set
Felix Fietkau [Fri, 14 Dec 2012 19:05:34 +0000 (20:05 +0100)]
libubus: do not send a status reply if UBUS_ATTR_NO_REPLY is set

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: add UBUS_ATTR_NO_REPLY and add policy for UBUS_ATTR_ACTIVE
Felix Fietkau [Fri, 14 Dec 2012 19:05:06 +0000 (20:05 +0100)]
libubus: add UBUS_ATTR_NO_REPLY and add policy for UBUS_ATTR_ACTIVE

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agomove ubus_start_request to libubus-req.c
Felix Fietkau [Fri, 14 Dec 2012 18:48:26 +0000 (19:48 +0100)]
move ubus_start_request to libubus-req.c

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: remove accidentally committed unused header file
Felix Fietkau [Fri, 14 Dec 2012 13:14:43 +0000 (14:14 +0100)]
libubus: remove accidentally committed unused header file

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: refactor code, move request handling to libubus-req.c
Felix Fietkau [Fri, 14 Dec 2012 13:13:27 +0000 (14:13 +0100)]
libubus: refactor code, move request handling to libubus-req.c

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agolibubus: reduce code duplication and add stack depth protection for unsubscribe/notif...
Felix Fietkau [Fri, 14 Dec 2012 12:42:10 +0000 (13:42 +0100)]
libubus: reduce code duplication and add stack depth protection for unsubscribe/notify callbacks

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoremove the "method" argument for object subscription
Felix Fietkau [Fri, 14 Dec 2012 12:11:40 +0000 (13:11 +0100)]
remove the "method" argument for object subscription

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoubus: add notification for subscribers present/gone
Felix Fietkau [Fri, 14 Dec 2012 12:00:49 +0000 (13:00 +0100)]
ubus: add notification for subscribers present/gone

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agowatch add/remove -> subscribe/unsubscribe:
Felix Fietkau [Thu, 13 Dec 2012 17:44:15 +0000 (18:44 +0100)]
watch add/remove -> subscribe/unsubscribe:

rename the ADD_WATCH/REMOVE_WATCH messages to SUBSCRIBE/UNSUBSCRIBE and change
the message format and libubus API in preparation for adding object notifications

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
11 years agoubusd: use avl_strcmp
Felix Fietkau [Tue, 11 Dec 2012 17:53:17 +0000 (18:53 +0100)]
ubusd: use avl_strcmp

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
12 years agolibubus: fix stack space init for processing requests
Felix Fietkau [Tue, 30 Oct 2012 12:41:17 +0000 (13:41 +0100)]
libubus: fix stack space init for processing requests

Fixes client timeouts on invoke on some platforms

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
12 years agolibubus: split out some code into separate source files
Felix Fietkau [Wed, 24 Oct 2012 12:37:44 +0000 (14:37 +0200)]
libubus: split out some code into separate source files

12 years agoexamples: split client/server code
Felix Fietkau [Mon, 1 Oct 2012 13:03:26 +0000 (15:03 +0200)]
examples: split client/server code

12 years agomove example to examples/
Felix Fietkau [Mon, 1 Oct 2012 12:54:54 +0000 (14:54 +0200)]
move example to examples/

12 years agolua: remove a superfluous lua_pop() when checking table style
Jo-Philipp Wich [Wed, 17 Oct 2012 13:32:26 +0000 (15:32 +0200)]
lua: remove a superfluous lua_pop() when checking table style

12 years agolua: fix ubus_lua_format_blob_is_array() to not leave garbage on the stack
Jo-Philipp Wich [Tue, 16 Oct 2012 16:37:31 +0000 (19:37 +0300)]
lua: fix ubus_lua_format_blob_is_array() to not leave garbage on the stack

12 years agoadd deferred reply to the ubus server example
Felix Fietkau [Mon, 1 Oct 2012 12:09:37 +0000 (14:09 +0200)]
add deferred reply to the ubus server example

12 years agoadd support for deferring a reply to a method invoke call
Felix Fietkau [Mon, 1 Oct 2012 12:09:19 +0000 (14:09 +0200)]
add support for deferring a reply to a method invoke call

12 years agolua: propagate incoming message to method callback inside the lua context
John Crispin [Fri, 28 Sep 2012 23:37:37 +0000 (01:37 +0200)]
lua: propagate incoming message to method callback inside the lua context

Signed-off-by: John Crispin <blogic@openwrt.org>
12 years agocli: add array and table types to method signature dump
Felix Fietkau [Fri, 28 Sep 2012 21:10:23 +0000 (23:10 +0200)]
cli: add array and table types to method signature dump

12 years agoadd lua binding test scripts
John Crispin [Wed, 26 Sep 2012 16:27:10 +0000 (18:27 +0200)]
add lua binding test scripts

Signed-off-by: John Crispin <blogic@openwrt.org>
12 years agolua: add support for registering methods
Felix Fietkau [Thu, 27 Sep 2012 12:00:49 +0000 (14:00 +0200)]
lua: add support for registering methods

Signed-off-by: John Crispin <blogic@openwrt.org>
12 years agolua: add uloop support
Felix Fietkau [Thu, 27 Sep 2012 11:59:47 +0000 (13:59 +0200)]
lua: add uloop support

12 years agolua: allow building the lua binding with vanilla lua
John Crispin [Wed, 26 Sep 2012 16:27:09 +0000 (18:27 +0200)]
lua: allow building the lua binding with vanilla lua

Signed-off-by: John Crispin <blogic@openwrt.org>
12 years agolibubus: fix multiple inclusions of libubus.h
Felix Fietkau [Fri, 1 Jun 2012 08:08:58 +0000 (10:08 +0200)]
libubus: fix multiple inclusions of libubus.h

12 years agolibubus: add support for reconnecting (and re-publishing objects)
Felix Fietkau [Mon, 28 May 2012 22:56:37 +0000 (00:56 +0200)]
libubus: add support for reconnecting (and re-publishing objects)

12 years agoenable -Wmissing-declarations
Felix Fietkau [Mon, 28 May 2012 22:41:39 +0000 (00:41 +0200)]
enable -Wmissing-declarations

12 years agolua: add a prototype for luaopen_ubus so that -Wmissing-declarations can be enabled
Felix Fietkau [Mon, 28 May 2012 22:41:27 +0000 (00:41 +0200)]
lua: add a prototype for luaopen_ubus so that -Wmissing-declarations can be enabled

12 years agomake a few functions static
Felix Fietkau [Mon, 28 May 2012 22:40:50 +0000 (00:40 +0200)]
make a few functions static

12 years agoubus-example: use object notification, add a simple client mode
Felix Fietkau [Sat, 19 May 2012 19:09:50 +0000 (21:09 +0200)]
ubus-example: use object notification, add a simple client mode

12 years agoubusd: add support for watching objects to get notified when they go away
Felix Fietkau [Sat, 19 May 2012 19:09:35 +0000 (21:09 +0200)]
ubusd: add support for watching objects to get notified when they go away

12 years agoubusd: allow registration of anonymous objects with type
Felix Fietkau [Sat, 19 May 2012 14:21:22 +0000 (16:21 +0200)]
ubusd: allow registration of anonymous objects with type

12 years agouloop: do not use ULOOP_EDGE_TRIGGER for the blocking socket, it can miss some events...
Felix Fietkau [Fri, 18 May 2012 20:32:25 +0000 (22:32 +0200)]
uloop: do not use ULOOP_EDGE_TRIGGER for the blocking socket, it can miss some events due to races

12 years agolua: put LUAPATH in quotes to prevent weird error messages when it is unset
Felix Fietkau [Sun, 6 May 2012 08:25:46 +0000 (10:25 +0200)]
lua: put LUAPATH in quotes to prevent weird error messages when it is unset

12 years agocli: prevent indenting if simple output is requested
Felix Fietkau [Wed, 14 Mar 2012 15:32:06 +0000 (16:32 +0100)]
cli: prevent indenting if simple output is requested

12 years agoimplement Lua binding
Jo-Philipp Wich [Sat, 5 May 2012 20:37:46 +0000 (22:37 +0200)]
implement Lua binding

13 years agofix unused but set variable
Felix Fietkau [Fri, 28 Oct 2011 20:21:52 +0000 (22:21 +0200)]
fix unused but set variable

13 years agolibubus: limit stack depth for incoming invoke requests
Felix Fietkau [Thu, 27 Oct 2011 12:03:19 +0000 (14:03 +0200)]
libubus: limit stack depth for incoming invoke requests

13 years agolibubus: fix recursive synchrnonous invoke commands
Felix Fietkau [Thu, 27 Oct 2011 11:46:05 +0000 (13:46 +0200)]
libubus: fix recursive synchrnonous invoke commands

13 years agofix invalid message reuse in ubus_process_invoke
Felix Fietkau [Mon, 10 Oct 2011 14:47:49 +0000 (16:47 +0200)]
fix invalid message reuse in ubus_process_invoke

13 years agoubusd: fix a use after free bug
Felix Fietkau [Wed, 14 Sep 2011 15:09:19 +0000 (17:09 +0200)]
ubusd: fix a use after free bug

13 years agomake the socket non-blocking, explicitly wait for data using poll()
Felix Fietkau [Fri, 9 Sep 2011 15:53:22 +0000 (17:53 +0200)]
make the socket non-blocking, explicitly wait for data using poll()

13 years agoadd -v
Felix Fietkau [Mon, 5 Sep 2011 02:00:20 +0000 (04:00 +0200)]
add -v

13 years agoadd an error message for "unknown error"
Felix Fietkau [Mon, 5 Sep 2011 01:20:07 +0000 (03:20 +0200)]
add an error message for "unknown error"

13 years agoadd an error code for "operation not supported"
Felix Fietkau [Mon, 5 Sep 2011 01:16:59 +0000 (03:16 +0200)]
add an error code for "operation not supported"

13 years agoremove an unused-but-set variable
Felix Fietkau [Sat, 30 Jul 2011 15:57:17 +0000 (17:57 +0200)]
remove an unused-but-set variable

13 years agocli: indent call result data
Felix Fietkau [Mon, 18 Jul 2011 11:08:53 +0000 (13:08 +0200)]
cli: indent call result data

13 years agoadd copyright/license information
Felix Fietkau [Fri, 17 Jun 2011 14:35:11 +0000 (16:35 +0200)]
add copyright/license information

13 years agoadd support for a const void * key in avl
Felix Fietkau [Wed, 13 Apr 2011 18:13:42 +0000 (20:13 +0200)]
add support for a const void * key in avl

13 years agosimplify object signatures by reusing the parser policy to define them
Felix Fietkau [Sun, 27 Mar 2011 18:03:18 +0000 (20:03 +0200)]
simplify object signatures by reusing the parser policy to define them

13 years agosuppress stderr output with -S
Felix Fietkau [Sun, 27 Mar 2011 16:28:47 +0000 (18:28 +0200)]
suppress stderr output with -S

13 years agoimprove output for scripts
Felix Fietkau [Sun, 27 Mar 2011 15:40:46 +0000 (17:40 +0200)]
improve output for scripts

13 years agodo not reverse method sorting order
Felix Fietkau [Sun, 27 Mar 2011 00:39:14 +0000 (01:39 +0100)]
do not reverse method sorting order

13 years agouse int8 as boolean
Felix Fietkau [Sun, 27 Mar 2011 00:05:30 +0000 (01:05 +0100)]
use int8 as boolean

13 years agochange the ubus signature type to int instead of the enum, as there are possible...
Felix Fietkau [Sat, 26 Feb 2011 16:26:21 +0000 (17:26 +0100)]
change the ubus signature type to int instead of the enum, as there are possible values not covered by the enum

13 years agochange minimum cmake version to 2.6
Felix Fietkau [Sat, 12 Feb 2011 22:57:35 +0000 (23:57 +0100)]
change minimum cmake version to 2.6

13 years agoremove array from the signature
Felix Fietkau [Fri, 11 Feb 2011 03:18:26 +0000 (04:18 +0100)]
remove array from the signature

13 years agoadd support for timeouts on synchronous requests
Felix Fietkau [Fri, 11 Feb 2011 01:40:39 +0000 (02:40 +0100)]
add support for timeouts on synchronous requests

13 years agoremove separate catch all list, always require a pattern argument for registering...
Felix Fietkau [Fri, 11 Feb 2011 00:21:07 +0000 (01:21 +0100)]
remove separate catch all list, always require a pattern argument for registering events, even if it is just *

13 years agoadd writev_retry to avoid incomplete writes
Felix Fietkau [Thu, 10 Feb 2011 23:36:10 +0000 (00:36 +0100)]
add writev_retry to avoid incomplete writes

13 years agofix initial object event sequence number
Felix Fietkau [Thu, 10 Feb 2011 00:37:32 +0000 (01:37 +0100)]
fix initial object event sequence number

13 years agoadd notifications for registered/unregistered objects with path
Felix Fietkau [Thu, 10 Feb 2011 00:31:52 +0000 (01:31 +0100)]
add notifications for registered/unregistered objects with path

13 years agomove event message formatting into a callback
Felix Fietkau [Thu, 10 Feb 2011 00:21:24 +0000 (01:21 +0100)]
move event message formatting into a callback

13 years agosplit event sending from event forwarding
Felix Fietkau [Thu, 10 Feb 2011 00:05:28 +0000 (01:05 +0100)]
split event sending from event forwarding

13 years agolibubus: add an inline function for socket event handling
Felix Fietkau [Mon, 7 Feb 2011 19:43:43 +0000 (20:43 +0100)]
libubus: add an inline function for socket event handling

13 years agosuppress -rdynamic when linking ubus
Felix Fietkau [Mon, 7 Feb 2011 17:54:27 +0000 (18:54 +0100)]
suppress -rdynamic when linking ubus

13 years agoadd missing include
Felix Fietkau [Mon, 7 Feb 2011 15:43:30 +0000 (16:43 +0100)]
add missing include

13 years agoimplement event pattern matching
Felix Fietkau [Mon, 7 Feb 2011 02:51:00 +0000 (03:51 +0100)]
implement event pattern matching

13 years agotrim the wildcard of partial patterns to keep the avl tree sorted properly
Felix Fietkau [Mon, 7 Feb 2011 02:20:05 +0000 (03:20 +0100)]
trim the wildcard of partial patterns to keep the avl tree sorted properly

13 years agoremove some duplication
Felix Fietkau [Mon, 7 Feb 2011 02:01:36 +0000 (03:01 +0100)]
remove some duplication

13 years agomove more protocol related stuff to ubusd_proto.c
Felix Fietkau [Mon, 7 Feb 2011 01:54:00 +0000 (02:54 +0100)]
move more protocol related stuff to ubusd_proto.c

13 years agomake ubus_msg_ref static
Felix Fietkau [Mon, 7 Feb 2011 01:41:56 +0000 (02:41 +0100)]
make ubus_msg_ref static

13 years agomake ubusd_get_client_by_id static
Felix Fietkau [Mon, 7 Feb 2011 01:40:40 +0000 (02:40 +0100)]
make ubusd_get_client_by_id static

13 years agomake ubus_parse_msg static
Felix Fietkau [Mon, 7 Feb 2011 01:38:57 +0000 (02:38 +0100)]
make ubus_parse_msg static

13 years agoadd sender side length checks
Felix Fietkau [Mon, 7 Feb 2011 01:35:01 +0000 (02:35 +0100)]
add sender side length checks

13 years agocli: clean up code
Felix Fietkau [Mon, 7 Feb 2011 01:30:18 +0000 (02:30 +0100)]
cli: clean up code

13 years agoremove some verbosity from the ubus example
Felix Fietkau [Mon, 7 Feb 2011 01:13:41 +0000 (02:13 +0100)]
remove some verbosity from the ubus example

13 years agoreorder a few functions in libubus.h
Felix Fietkau [Mon, 7 Feb 2011 01:12:28 +0000 (02:12 +0100)]
reorder a few functions in libubus.h

13 years agoremove unnecessary debug stuff
Felix Fietkau [Mon, 7 Feb 2011 01:09:37 +0000 (02:09 +0100)]
remove unnecessary debug stuff