Commit Graph

15 Commits

Author SHA1 Message Date
Jo-Philipp Wich
268dea84ec [package] uhttpd: various changes
- remove unused variables
	- simply ignore command line args which belong to not enabled features
	- resolve peer address at accept() time, should solve (#11850)
	- remove floating point operations where possible

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-13 17:10:56 +00:00
Jo-Philipp Wich
0eefc94876 [package] uhttpd: various fixes
- avoid closing descriptors before removing them from uloop (#11755, #11830)
    - do not auto-initialize ubus if no prefix is set (#11832)
    - remove extraneous client context pointer from cgi and lua states
    - code cleanups and debug message changes

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32651 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-09 00:08:20 +00:00
Jo-Philipp Wich
a2ba5e4cd5 [package] uhttpd: do not subscribe to epoll write events
Watch child read pipe end for data instead of relying on socket write
notification to process cgi data, should lower cpu consumption during
requests on weaker devices.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32640 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-06 17:29:25 +00:00
Jo-Philipp Wich
d787e8414b [package] uhttpd: finish inherited uloop in forked childs, fixes misdispatched events leading to race conditions and bad memory accesses
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32419 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-18 00:41:43 +00:00
Jo-Philipp Wich
61de624060 [package] uhttpd: remove some dead code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32028 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-02 15:08:54 +00:00
Jo-Philipp Wich
4c82a59515 [package] uhttpd: add explicit stdin eof notification for Lua and CGI childs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32027 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-02 14:56:24 +00:00
Jo-Philipp Wich
6e9f473afa [package] uhttpd:
- rewrite large parts of the server, use uloop event driven structure
	- support concurrent requests and make the upper limit configurable
	- implement initial version of HTTP-to-ubus JSON proxy and session.* namespace
	- add compile time support for debug information
	- code style changes
	- bump package revision

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31931 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-28 00:52:24 +00:00
Jo-Philipp Wich
c84a22dde3 [package] uhttpd: display errors in init script, code formatting changes, bump package version
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31572 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-03 17:19:22 +00:00
Jo-Philipp Wich
adae4ff72c uhttpd: added uhttpd.docroot
Passes the document-root to the Lua handler by placing it in uhttpd.docroot.

It could alternatively be placed in env.DOCUMENT_ROOT which would more closely
resemble the CGI protocol; but would mean that it is not available at the time
when the handler-chunk is loaded but rather not until the handler is called,
without any code savings.

Signed-off-by: David Favro <openwrt@meta-dynamic.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31571 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-03 17:19:20 +00:00
Jo-Philipp Wich
5d7a3d6461 Fixed: [PATCH 2/3] uhttpd URL-codec enhancements.
My apologies, the 2nd of those patches had a syntax error -- that's what
I get for making a last-minute edit, even to the comments, without
testing! :-p

Here is the corrected patch.

-- David

From d259cff104d2084455476b82e92a3a27524f4263 Mon Sep 17 00:00:00 2001
From: David Favro <openwrt@meta-dynamic.com>
Date: Fri, 27 Apr 2012 14:17:52 -0400
Subject: [PATCH] uhttpd URL-codec enhancements.

* uh_urlencode() and uh_urldecode() now return an error condition for
  buffer-overflow and malformed-encoding rather than normal return with corrupt
  or truncated data.  As HTTP request processing is currently implemented, this
  causes a 404 HTTP status returned to the client, while 400 is more
  appropriate.

* Exposed urlencode() to Lua.

* Lua's uhttpd.urlencode() and .urldecode() now raise an error condition for
  buffer-overflow and malformed-encoding rather than normal return with
  incorrect data.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31570 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-03 17:19:18 +00:00
Jo-Philipp Wich
33f40d7677 [package] uhttpd: fix a signal related race condition exposed by LuCI on fast machines
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-29 09:26:02 +00:00
Jo-Philipp Wich
f6156ab875 [package] uhttpd: block SIGCHLD until it is expected (#6957)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20513 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 14:31:35 +00:00
Jo-Philipp Wich
c111766893 [package] uhttpd: clear script timeout as soon as data is received from the child
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20501 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 01:47:36 +00:00
Jo-Philipp Wich
99e8e7cf2f [package] uhttpd:
- make script timeout configurable
	- catch SIGCHLD to properly interrupt select()
	- flag listen and client sockets as close-on-exec


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20500 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 00:00:33 +00:00
Jo-Philipp Wich
4ebe5e79c6 [package] add uhttpd (moved from LuCI trunk)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20428 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-25 15:46:16 +00:00