ubus: add CORS header support
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 27 May 2014 12:40:58 +0000 (14:40 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 10 Jun 2014 10:33:59 +0000 (12:33 +0200)
commitb965b8cc10f094ec0408d57b1bc9aeee0bca501c
tree2f3b7f753b0b3f414032f978243da8945def7a18
parentdabd7dea6445aaa0e5b8d9add1872fa7393b3a85
ubus: add CORS header support

In order to support cross-domain AJAX requests to the /ubus endpoint
we need to implement the Cross-Origin Resource Sharing (CORS) spec
in the ubus plugin.

- Implement a new option "-X" to enable CORS support in ubus
- Implement rudimentary support for "OPTIONS" HTTP requests
- Implement essential CORS headers the ubus plugin

The current CORS response headers merely reflect the request headers
sent by the client, this way any requesting origin is automatically
allowed. Cross-domain cookies (Access-Control-Allow-Credentials) are
unconditionally enabled.

Restricting permitted origins and toggle the credential accepting can
be made configurable in a future commit to allow more fine grained
control over permitted AJAX clients.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
client.c
main.c
ubus.c
uhttpd.h
utils.c