Community maintained packages for difos.
Find a file
Jo-Philipp Wich 9e434da4e0 cgi-io: implement exec action
Implement a new "cgi-exec" applet which allows to invoke remote commands
and stream their stdandard output back to the client via HTTP. This is
needed in cases where large amounts of data or binary encoded contents
such as tar archives need to be transferred, which are unsuitable to be
transported via ubus directly.

The exec call is guarded by the same ACL semantics as rpcd's file plugin,
means in order to be able to execute a command remotely, the ubus session
identified by the given session ID must have read access to the "exec"
function of the "cgi-io" scope and an explicit "exec" permission rule for
the invoked command in the "file" scope.

In order to initiate a transfer, a POST request in x-www-form-urlencoded
format must be sent to the applet, with one field "sessionid" holding
the login session and another field "command" specifiying the commandline
to invoke.

Further optional fields are "filename" which - if present - will cause
the download applet to set a Content-Dispostition header and "mimetype"
which allows to let the applet respond with a specific type instead of
the default "application/octet-stream".

Below is an example for the required ACL rules to grant exec access to
both the "date" and "iptables" commands. The "date" rule specifies the
base name of the executable and thus allows invocation with arbitrary
parameters while the latter "iptables" rule merely allows one specific
set of arguments which must appear exactly in the given order.

    ubus call session grant '{
        "ubus_rpc_session": "...",
        "scope": "cgi-io",
        "objects": [
            [ "exec", "read" ]
        ]
    }'

    ubus call session grant '{
        "ubus_rpc_session": "...",
        "scope": "file",
        "objects": [
            [ "/bin/date", "exec" ],
            [ "/usr/sbin/iptables -n -v -L", "exec" ]
        ]
   }'

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b2a890f6ad)
2019-12-18 17:11:11 +01:00
.circleci circleci: skip compiling packages not enabled 2019-11-06 14:26:00 +00:00
.github github: adapt templates 2018-01-27 11:24:43 +08:00
.keys build: move gpg keys into .keys directory 2018-04-30 13:14:25 -07:00
admin syslog-ng: Update to version 3.24.1 2019-11-05 23:14:00 +01:00
devel meson: add new package 2019-12-10 12:02:56 +01:00
fonts/dejavu-fonts-ttf [dejavu-fonts] add license info and myself as maintainer 2017-02-22 18:39:54 +01:00
ipv6/tayga treewide: run "make check FIXUP=1" 2017-08-29 21:41:14 -07:00
kernel cifsd: update to git (2019-11-22) 2019-11-22 14:09:23 +01:00
lang golang: Update to 1.13.5 2019-12-09 23:28:07 +01:00
libs libmodbus: update to 3.1.6 2019-12-17 14:35:54 +00:00
mail dovecot: update to 2.3.8 2019-11-10 18:32:04 +01:00
multimedia motion: fix streaming 2019-12-05 10:09:14 -08:00
net cgi-io: implement exec action 2019-12-18 17:11:11 +01:00
sound treewide: Replace MD5SUM with HASH 2019-11-03 10:31:55 -08:00
utils collectd: add vmem uci config 2019-12-12 22:07:29 +02:00
.travis.yml travis: don't need git cloning progress 2018-07-03 10:31:44 +08:00
.travis_do.sh travis: fail on bad hash message 2018-07-17 20:35:00 +08:00
CONTRIBUTING.md CONTRIBUTING.md: update Identifier for Licenses 2019-04-18 12:07:48 +02:00
LICENSE Add GPLv2 pro-forma license 2014-06-16 08:14:04 +02:00
README.md README.md - update links to current docs pages 2018-08-31 15:08:17 -04:00

OpenWrt packages feed

Description

This is the OpenWrt "packages"-feed containing community-maintained build scripts, options and patches for applications, modules and libraries used within OpenWrt.

Installation of pre-built packages is handled directly by the opkg utility within your running OpenWrt system or by using the OpenWrt SDK on a build system.

Usage

This repository is intended to be layered on-top of an OpenWrt buildroot. If you do not have an OpenWrt buildroot installed, see the documentation at: OpenWrt Buildroot Installation on the OpenWrt support site.

This feed is enabled by default. To install all its package definitions, run:

./scripts/feeds update packages
./scripts/feeds install -a -p packages

License

See LICENSE file.

Package Guidelines

See CONTRIBUTING.md file.