Luka Perkov [Thu, 29 May 2014 10:57:35 +0000 (12:57 +0200)]
uci: rework variable usage
Signed-off-by: Luka Perkov <luka@openwrt.org>
Luka Perkov [Wed, 29 Jan 2014 11:21:59 +0000 (11:21 +0000)]
fix segmentation fault when plugins are loaded
Function rpc_plugin_register_library() is modifying the struct's contents in
list_add() call. That said, the rpc_plugin struct should not be defined as
const. This caused segmentation fault when built on up-to-date Arch Linux.
Signed-off-by: Luka Perkov <luka@openwrt.org>
Luka Perkov [Wed, 29 Jan 2014 11:21:58 +0000 (11:21 +0000)]
file: when writing a file make sure it's contents are stored
Fixes problems with ubi(fs).
Signed-off-by: Luka Perkov <luka@openwrt.org>
Luka Perkov [Wed, 29 Jan 2014 11:21:57 +0000 (11:21 +0000)]
file: create a file on write if it does not exist
Signed-off-by: Luka Perkov <luka@openwrt.org>
Luka Perkov [Wed, 29 Jan 2014 11:21:56 +0000 (11:21 +0000)]
fix whitespaces
Signed-off-by: Luka Perkov <luka@openwrt.org>
Jo-Philipp Wich [Sun, 19 Jan 2014 19:45:25 +0000 (19:45 +0000)]
session: make object and function arguments of session.access optional, dump effective acls in this case
Jo-Philipp Wich [Sun, 12 Jan 2014 17:43:48 +0000 (17:43 +0000)]
uci: fix same buffer reuse introduced by previous commit
Jo-Philipp Wich [Sun, 12 Jan 2014 17:33:46 +0000 (17:33 +0000)]
debug
Jo-Philipp Wich [Sun, 12 Jan 2014 17:23:27 +0000 (17:23 +0000)]
uci: grant access to confirm and rollback methods only to initiating session
Previously any session with access permissions for the corresponding method
was able to confirm or rollback commits initiated by another session.
Change those methods to only grant access to the initiating session.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Sun, 12 Jan 2014 17:02:43 +0000 (17:02 +0000)]
uci: introduce confirm method to cancel pending rollbacks without side effects
Calling commit with rollback=false to cancel a pending rollback timer can
potentially trigger another commit if no rollback is actually pending.
This introduces a new method "confirm" which cancels the rollback timer
without any other possible side effects.
While being at it, change the return code when trying to commit during
a pending rollback or when trying to rollback without a pending timeout to
UBUS_STATUS_NO_DATA. This is needed to be able to differentiate between a
denied request and an inappropriate state.
Also change the error return code for glob() failures to the more
appropriate UBUS_STATUS_NOT_FOUND.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Sun, 12 Jan 2014 12:48:58 +0000 (12:48 +0000)]
Extend copyright
Jo-Philipp Wich [Sun, 12 Jan 2014 12:45:11 +0000 (12:45 +0000)]
uci: rename uci.apply "commit" attribute to "roolback" and invert its logic
John Crispin [Wed, 18 Dec 2013 12:59:16 +0000 (13:59 +0100)]
config.change triggers should only run if the config is valid
Signed-off-by: John Crispin <blogic@openwrt.org>
John Crispin [Wed, 18 Dec 2013 12:56:54 +0000 (13:56 +0100)]
fix inverted apply_running check
Signed-off-by: John Crispin <blogic@openwrt.org>
Jo-Philipp Wich [Sat, 23 Nov 2013 20:31:39 +0000 (20:31 +0000)]
uci: make config argument of changes call optional to allow listing all changes in all files
Jo-Philipp Wich [Sat, 23 Nov 2013 19:30:29 +0000 (19:30 +0000)]
uci: add state call to retrieve uci state variables
Jo-Philipp Wich [Sat, 26 Oct 2013 14:16:29 +0000 (14:16 +0000)]
session: fix file descriptor leak in rpc_blob_from_file()
Alexander Couzens [Thu, 10 Oct 2013 04:30:31 +0000 (06:30 +0200)]
rpcd: CMake: fix out of tree builds
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Jo-Philipp Wich [Sun, 29 Sep 2013 13:11:37 +0000 (13:11 +0000)]
uci: clear ptr.value in rpc_uci_merge_set(), this fixes missing delete deltas if multiple options are merged
Jo-Philipp Wich [Fri, 13 Sep 2013 12:52:35 +0000 (14:52 +0200)]
session: change "sid" attribute to "ubus_rpc_session", this ensures that exposed session calls are confined to the calling session context
Jo-Philipp Wich [Thu, 12 Sep 2013 11:36:49 +0000 (13:36 +0200)]
plugin: use blobmsg_type() instead of blob_id()
Jo-Philipp Wich [Thu, 12 Sep 2013 11:31:21 +0000 (13:31 +0200)]
session.c: use blobmsg_type() instead of blob_id()
Jo-Philipp Wich [Thu, 12 Sep 2013 11:10:30 +0000 (13:10 +0200)]
session: support negative group expressions
This change allows excluding specific groups after a wildcard expression.
The following example would grant read access to any acl group except the
group named "example".
list read '*'
list read '!example'
Jo-Philipp Wich [Thu, 12 Sep 2013 10:13:05 +0000 (12:13 +0200)]
session: restore ACL dumping for session get and session list calls
Jo-Philipp Wich [Thu, 12 Sep 2013 09:51:58 +0000 (11:51 +0200)]
session: fix enum mismatch in rpc_handle_get() and rpc_handle_set()
Jo-Philipp Wich [Thu, 12 Sep 2013 09:50:33 +0000 (11:50 +0200)]
session: remove unused ctx argument from rpc_session_grant() and rpc_session_destroy()
Jo-Philipp Wich [Thu, 12 Sep 2013 09:45:59 +0000 (11:45 +0200)]
session: do not dump and restore session ACLs but recalculate them when restoring the session
Jo-Philipp Wich [Thu, 12 Sep 2013 08:35:55 +0000 (10:35 +0200)]
session: disallow destroying the null session
Jo-Philipp Wich [Wed, 11 Sep 2013 11:16:27 +0000 (13:16 +0200)]
uci: properly deal with uci_load() failures
Jo-Philipp Wich [Tue, 10 Sep 2013 18:12:39 +0000 (20:12 +0200)]
session: fix argument order of crypt() and prevent segfault if /etc/config/rpcd does not exist
Jo-Philipp Wich [Tue, 10 Sep 2013 18:01:05 +0000 (20:01 +0200)]
session: use correct policy for rpc_handle_login()
Jo-Philipp Wich [Tue, 10 Sep 2013 17:41:29 +0000 (19:41 +0200)]
session: setup a persistent NULL section and implement login procedure
Jo-Philipp Wich [Mon, 9 Sep 2013 14:32:53 +0000 (16:32 +0200)]
Drop LuCI2 backend, it will move to its own repository
John Crispin [Thu, 5 Sep 2013 19:55:51 +0000 (21:55 +0200)]
add config transaction support
Signed-off-by: John Crispin <blogic@openwrt.org>
John Crispin [Thu, 5 Sep 2013 19:55:50 +0000 (21:55 +0200)]
make uci commit calls trigger config.change events
Signed-off-by: John Crispin <blogic@openwrt.org>
John Crispin [Thu, 5 Sep 2013 19:55:49 +0000 (21:55 +0200)]
rename rpc_uci_purge_savedir to rpc_uci_purge_dir
Signed-off-by: John Crispin <blogic@openwrt.org>
Jo-Philipp Wich [Thu, 5 Sep 2013 15:00:23 +0000 (17:00 +0200)]
Fix rpcd includes in plugin.h
Jo-Philipp Wich [Thu, 5 Sep 2013 14:14:30 +0000 (16:14 +0200)]
Set umask to 0077 on daemon startup to prevent libuci from making world-readable directories
Jo-Philipp Wich [Thu, 5 Sep 2013 13:14:00 +0000 (15:14 +0200)]
Use common /var/run/rpcd base directory to store runtime information
Jo-Philipp Wich [Thu, 5 Sep 2013 12:26:14 +0000 (14:26 +0200)]
main: only purge uci savedirs if not reloading
Jo-Philipp Wich [Thu, 5 Sep 2013 12:25:51 +0000 (14:25 +0200)]
uci: expose rpc_uci_purge_savedirs() helper
Jo-Philipp Wich [Wed, 4 Sep 2013 15:09:51 +0000 (17:09 +0200)]
main: store session data to disk on receipt of SIGUSR1 or SIGHUP. On HUP terminate self and re-exec
Jo-Philipp Wich [Wed, 4 Sep 2013 13:18:14 +0000 (15:18 +0200)]
session: add support for saving and restoring session data to disk
Jo-Philipp Wich [Wed, 4 Sep 2013 10:46:11 +0000 (12:46 +0200)]
Move includes into subdirectory
Jo-Philipp Wich [Tue, 3 Sep 2013 10:42:54 +0000 (12:42 +0200)]
uci: use per-session save directory and register session destroy callback to purge leftover deltas
Jo-Philipp Wich [Tue, 3 Sep 2013 10:25:14 +0000 (12:25 +0200)]
luci2: change ops->access to ops->session_access to accomodate for changed plugin api
Jo-Philipp Wich [Tue, 3 Sep 2013 10:23:45 +0000 (12:23 +0200)]
plugin: expose rpc_session_create_cb() and rpc_session_destroy_cb() in plugin ops; rename access to session_access
Jo-Philipp Wich [Tue, 3 Sep 2013 10:21:09 +0000 (12:21 +0200)]
session: introduce api to register session create and destroy callbacks
Jo-Philipp Wich [Mon, 2 Sep 2013 15:29:06 +0000 (17:29 +0200)]
Fold plugin specific headers files into the plugins .c file
Jo-Philipp Wich [Mon, 2 Sep 2013 15:09:57 +0000 (17:09 +0200)]
Rename from "luci-rpcd" to "rpcd"
Jo-Philipp Wich [Mon, 2 Sep 2013 13:14:33 +0000 (15:14 +0200)]
Add CMake definitions for plugins
Jo-Philipp Wich [Mon, 2 Sep 2013 12:52:49 +0000 (14:52 +0200)]
luci2: convert to plugin library
Jo-Philipp Wich [Mon, 2 Sep 2013 12:52:37 +0000 (14:52 +0200)]
file: convert to plugin library
Jo-Philipp Wich [Mon, 2 Sep 2013 12:52:22 +0000 (14:52 +0200)]
iwinfo: convert to plugin library
Jo-Philipp Wich [Mon, 2 Sep 2013 12:52:12 +0000 (14:52 +0200)]
Introduce shared object plugin api
Jo-Philipp Wich [Sun, 1 Sep 2013 20:42:17 +0000 (22:42 +0200)]
Register dummy stderr callback when ivoking plugins calls to avoid filling the ustream with unread data.
Jo-Philipp Wich [Sun, 1 Sep 2013 20:12:19 +0000 (22:12 +0200)]
Link json-c
Jo-Philipp Wich [Sun, 1 Sep 2013 20:05:38 +0000 (22:05 +0200)]
Rework plugin support to use incremental json parsing and rpc_exec() framework for invocation
Jo-Philipp Wich [Sun, 1 Sep 2013 18:02:01 +0000 (20:02 +0200)]
luci2: change rpc_exec() callsites to accomodate for extra stdin_cb argument, change finish callbacks to emit proper return code
Jo-Philipp Wich [Sun, 1 Sep 2013 17:58:10 +0000 (19:58 +0200)]
Extend rpc_exec() to allow feeding childs stdin via callbacks, allow finish callback to override the ubus return code
Jo-Philipp Wich [Fri, 30 Aug 2013 16:31:15 +0000 (18:31 +0200)]
Add initial plugin api support
Jo-Philipp Wich [Fri, 16 Aug 2013 14:29:55 +0000 (16:29 +0200)]
luci2: change luci2.ui.menu call to return acl levels for each menu item
Jo-Philipp Wich [Tue, 13 Aug 2013 11:44:53 +0000 (13:44 +0200)]
luci2: add luci2.ui namespace
Jo-Philipp Wich [Mon, 12 Aug 2013 12:49:02 +0000 (14:49 +0200)]
uci: refactor revert code to avoid illegal pointer access
Jo-Philipp Wich [Mon, 12 Aug 2013 11:53:09 +0000 (13:53 +0200)]
uci: implement config level ACLs
Jo-Philipp Wich [Mon, 12 Aug 2013 11:51:51 +0000 (13:51 +0200)]
session: expose rpc_session_access() function for testing session ACLs in other rpcd subsystems
Jo-Philipp Wich [Sat, 10 Aug 2013 19:56:06 +0000 (21:56 +0200)]
session: fix acl dumping if last object of previous scope is equal to first object of next one
Jo-Philipp Wich [Thu, 8 Aug 2013 16:53:59 +0000 (18:53 +0200)]
sessions: add scopes for acls, default to "ubus" scope
Jo-Philipp Wich [Mon, 5 Aug 2013 11:19:38 +0000 (13:19 +0200)]
luci2: fix incorrect buffer length in luci2.opkg config_set call
Jo-Philipp Wich [Mon, 5 Aug 2013 11:16:25 +0000 (13:16 +0200)]
luci2: add backup_list, backup_config_get and backup_config_set calls
Jo-Philipp Wich [Wed, 31 Jul 2013 17:47:35 +0000 (19:47 +0200)]
luci2: add reboot call
Jo-Philipp Wich [Wed, 31 Jul 2013 17:39:50 +0000 (19:39 +0200)]
luci2: add reset_test and reset_start calls
Jo-Philipp Wich [Wed, 31 Jul 2013 13:57:37 +0000 (15:57 +0200)]
luci2: add backup_restore and backup_clean calls, rename upgrade_abort to upgrade_clean
Jo-Philipp Wich [Tue, 30 Jul 2013 17:18:04 +0000 (19:18 +0200)]
luci2: add upgrade_test, upgrade_start and upgrade_abort calls
Jo-Philipp Wich [Tue, 16 Jul 2013 17:07:58 +0000 (19:07 +0200)]
luci2: use shared rpc_data_policy for opkg config_set call
Jo-Philipp Wich [Tue, 16 Jul 2013 16:31:11 +0000 (18:31 +0200)]
luci2: add led_list and usb_list calls
Jo-Philipp Wich [Mon, 15 Jul 2013 14:42:34 +0000 (16:42 +0200)]
luci2: add crontab_get and crontab_set calls, rename rpc_rclocal_policy to rpc_data_policy
Jo-Philipp Wich [Mon, 15 Jul 2013 14:03:37 +0000 (16:03 +0200)]
Increase exec command timeout to 30 seconds
Jo-Philipp Wich [Thu, 11 Jul 2013 10:56:24 +0000 (12:56 +0200)]
luci2: add rclocal_get and rclocal_set calls
Jo-Philipp Wich [Fri, 5 Jul 2013 11:37:28 +0000 (13:37 +0200)]
luci2: add diskfree call
Jo-Philipp Wich [Thu, 4 Jul 2013 11:16:21 +0000 (13:16 +0200)]
luci2: add opkg namespace
Jo-Philipp Wich [Thu, 4 Jul 2013 10:58:26 +0000 (12:58 +0200)]
Add rpc_exec() utility function
Jo-Philipp Wich [Mon, 1 Jul 2013 16:07:11 +0000 (18:07 +0200)]
luci2: implement password_set call
Jo-Philipp Wich [Mon, 1 Jul 2013 15:28:30 +0000 (17:28 +0200)]
luci2: implement sshkeys_get and sshkeys_set calls
Jo-Philipp Wich [Thu, 27 Jun 2013 17:01:06 +0000 (19:01 +0200)]
luci2: make parsing START and STOP from init scripts more robust
Jo-Philipp Wich [Thu, 27 Jun 2013 16:42:53 +0000 (18:42 +0200)]
luci2: implement init_list and init_action calls
Jo-Philipp Wich [Wed, 19 Jun 2013 09:33:17 +0000 (11:33 +0200)]
uci: expose section ordering index when dumping complete packages
Jo-Philipp Wich [Tue, 18 Jun 2013 12:45:57 +0000 (14:45 +0200)]
uci: add delete method
Jo-Philipp Wich [Wed, 12 Jun 2013 14:44:15 +0000 (16:44 +0200)]
luci2: implement process_signal call
Jo-Philipp Wich [Wed, 12 Jun 2013 13:13:50 +0000 (15:13 +0200)]
luci2: implement process_list call
Jo-Philipp Wich [Sun, 9 Jun 2013 14:43:35 +0000 (16:43 +0200)]
iwinfo: expose phyname attribute
Jo-Philipp Wich [Sat, 8 Jun 2013 15:56:02 +0000 (17:56 +0200)]
Add luci2 namespace to offer various backend methods required by the ui
Jo-Philipp Wich [Tue, 4 Jun 2013 15:20:36 +0000 (17:20 +0200)]
Remove system namespace support again, the code has been merged into procd instead.
This reverts commit
e5c9b0411d7ebc03a9edbdd3a7809f0e0bdb38dd.
Jo-Philipp Wich [Thu, 30 May 2013 18:17:16 +0000 (20:17 +0200)]
Add system namespace which offers various system information like software release, memory and swap info, uptime and load
Jo-Philipp Wich [Thu, 30 May 2013 12:58:30 +0000 (14:58 +0200)]
Fix session.get procedure with undefined keys attribute
Jo-Philipp Wich [Tue, 16 Apr 2013 19:21:25 +0000 (21:21 +0200)]
file: properly use container_of() to not trip type safety warnings
Jo-Philipp Wich [Sun, 3 Feb 2013 13:00:57 +0000 (14:00 +0100)]
file: remove unused mode argument from exec procedure
Jo-Philipp Wich [Sun, 3 Feb 2013 13:00:04 +0000 (14:00 +0100)]
iwinfo: finish api
Jo-Philipp Wich [Sat, 2 Feb 2013 19:48:51 +0000 (20:48 +0100)]
add ubus iwinfo api (lacks scanning, assoclist, countrylist and txpowerlist yet)
Jo-Philipp Wich [Sat, 2 Feb 2013 18:05:02 +0000 (19:05 +0100)]
uci: add configs method to list all existing packages