Commit graph

233 commits

Author SHA1 Message Date
Jo-Philipp Wich
6b189b2201 plugin: use blobmsg_type() instead of blob_id() 2013-09-12 13:36:49 +02:00
Jo-Philipp Wich
22c7c2675d session.c: use blobmsg_type() instead of blob_id() 2013-09-12 13:31:21 +02:00
Jo-Philipp Wich
296c9d9ceb 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'
2013-09-12 13:10:30 +02:00
Jo-Philipp Wich
b76addec87 session: restore ACL dumping for session get and session list calls 2013-09-12 12:13:05 +02:00
Jo-Philipp Wich
4c9f178ad6 session: fix enum mismatch in rpc_handle_get() and rpc_handle_set() 2013-09-12 12:04:14 +02:00
Jo-Philipp Wich
6128bf647c session: remove unused ctx argument from rpc_session_grant() and rpc_session_destroy() 2013-09-12 12:04:14 +02:00
Jo-Philipp Wich
d0d1a92432 session: do not dump and restore session ACLs but recalculate them when restoring the session 2013-09-12 12:04:06 +02:00
Jo-Philipp Wich
00a3ec2e52 session: disallow destroying the null session 2013-09-12 10:35:55 +02:00
Jo-Philipp Wich
ae63188069 uci: properly deal with uci_load() failures 2013-09-11 13:16:27 +02:00
Jo-Philipp Wich
4d618b2e3b session: fix argument order of crypt() and prevent segfault if /etc/config/rpcd does not exist 2013-09-10 20:12:39 +02:00
Jo-Philipp Wich
4bf5d60f65 session: use correct policy for rpc_handle_login() 2013-09-10 20:01:05 +02:00
Jo-Philipp Wich
5a101fcc08 session: setup a persistent NULL section and implement login procedure 2013-09-10 19:56:36 +02:00
Jo-Philipp Wich
22fbf13086 Drop LuCI2 backend, it will move to its own repository 2013-09-09 16:32:53 +02:00
John Crispin
6f78bfbbdf add config transaction support
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-06 01:42:02 +02:00
John Crispin
7abfa9bc05 make uci commit calls trigger config.change events
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-06 01:31:23 +02:00
John Crispin
f1882ac5bd rename rpc_uci_purge_savedir to rpc_uci_purge_dir
Signed-off-by: John Crispin <blogic@openwrt.org>
2013-09-06 01:31:16 +02:00
Jo-Philipp Wich
334a067a74 Fix rpcd includes in plugin.h 2013-09-05 17:00:23 +02:00
Jo-Philipp Wich
b86774de65 Set umask to 0077 on daemon startup to prevent libuci from making world-readable directories 2013-09-05 16:14:30 +02:00
Jo-Philipp Wich
fa53571f2b Use common /var/run/rpcd base directory to store runtime information 2013-09-05 15:14:00 +02:00
Jo-Philipp Wich
b4649c9fda main: only purge uci savedirs if not reloading 2013-09-05 14:38:01 +02:00
Jo-Philipp Wich
fc1b008e08 uci: expose rpc_uci_purge_savedirs() helper 2013-09-05 14:38:01 +02:00
Jo-Philipp Wich
524032c291 main: store session data to disk on receipt of SIGUSR1 or SIGHUP. On HUP terminate self and re-exec 2013-09-05 14:37:56 +02:00
Jo-Philipp Wich
aa2afdb739 session: add support for saving and restoring session data to disk 2013-09-04 17:08:56 +02:00
Jo-Philipp Wich
e0afdb10ae Move includes into subdirectory 2013-09-04 12:46:11 +02:00
Jo-Philipp Wich
b3a5c08e08 uci: use per-session save directory and register session destroy callback to purge leftover deltas 2013-09-03 13:40:47 +02:00
Jo-Philipp Wich
ad8e937f97 luci2: change ops->access to ops->session_access to accomodate for changed plugin api 2013-09-03 12:47:06 +02:00
Jo-Philipp Wich
059a6df1fd plugin: expose rpc_session_create_cb() and rpc_session_destroy_cb() in plugin ops; rename access to session_access 2013-09-03 12:47:06 +02:00
Jo-Philipp Wich
60b9c9d919 session: introduce api to register session create and destroy callbacks 2013-09-03 12:47:04 +02:00
Jo-Philipp Wich
11f37e2889 Fold plugin specific headers files into the plugins .c file 2013-09-02 17:29:06 +02:00
Jo-Philipp Wich
07c2f0a9b1 Rename from "luci-rpcd" to "rpcd" 2013-09-02 17:23:30 +02:00
Jo-Philipp Wich
84642137f0 Add CMake definitions for plugins 2013-09-02 15:24:00 +02:00
Jo-Philipp Wich
7434b2bf6c luci2: convert to plugin library 2013-09-02 15:23:09 +02:00
Jo-Philipp Wich
c849d04fc8 file: convert to plugin library 2013-09-02 15:23:09 +02:00
Jo-Philipp Wich
bc100538d3 iwinfo: convert to plugin library 2013-09-02 15:23:09 +02:00
Jo-Philipp Wich
3d358bb3a1 Introduce shared object plugin api 2013-09-02 15:23:04 +02:00
Jo-Philipp Wich
0b4d4aeeac Register dummy stderr callback when ivoking plugins calls to avoid filling the ustream with unread data. 2013-09-01 22:42:17 +02:00
Jo-Philipp Wich
3cac366777 Link json-c 2013-09-01 22:22:42 +02:00
Jo-Philipp Wich
90e8e9ca00 Rework plugin support to use incremental json parsing and rpc_exec() framework for invocation 2013-09-01 22:22:40 +02:00
Jo-Philipp Wich
768553b3fe luci2: change rpc_exec() callsites to accomodate for extra stdin_cb argument, change finish callbacks to emit proper return code 2013-09-01 22:07:29 +02:00
Jo-Philipp Wich
a95079e0e7 Extend rpc_exec() to allow feeding childs stdin via callbacks, allow finish callback to override the ubus return code 2013-09-01 22:03:15 +02:00
Jo-Philipp Wich
a86ef267a4 Add initial plugin api support 2013-08-30 20:33:23 +02:00
Jo-Philipp Wich
a00f2d08a2 luci2: change luci2.ui.menu call to return acl levels for each menu item 2013-08-16 17:02:19 +02:00
Jo-Philipp Wich
f74be70327 luci2: add luci2.ui namespace 2013-08-13 17:16:56 +02:00
Jo-Philipp Wich
97384dd72a uci: refactor revert code to avoid illegal pointer access 2013-08-12 14:50:09 +02:00
Jo-Philipp Wich
c2a7fcf947 uci: implement config level ACLs 2013-08-12 13:53:09 +02:00
Jo-Philipp Wich
c6985dd5a6 session: expose rpc_session_access() function for testing session ACLs in other rpcd subsystems 2013-08-12 13:51:51 +02:00
Jo-Philipp Wich
743901cfca session: fix acl dumping if last object of previous scope is equal to first object of next one 2013-08-10 21:56:06 +02:00
Jo-Philipp Wich
c6e81f4b69 sessions: add scopes for acls, default to "ubus" scope 2013-08-08 18:53:59 +02:00
Jo-Philipp Wich
c2c39eeb30 luci2: fix incorrect buffer length in luci2.opkg config_set call 2013-08-05 13:19:38 +02:00
Jo-Philipp Wich
2ab4dc45d1 luci2: add backup_list, backup_config_get and backup_config_set calls 2013-08-05 13:18:32 +02:00