- 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
- 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
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
- 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
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
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
* Fixed output-buffer-overflow bug in uh_urlencode() and uh_urldecode() [tested
input-buffer index against output-buffer length]. In reality, this would not
typically cause an overflow on decode, where the output string would be
expected to be shorter than the input string; and uh_urlencode() seems to have
been unreferenced in the source.
* Fixed bug: uh_urlencode() and uh_urldecode() both read one extra byte from the
input-string. While this could manifest in C code, the result was most
egregious when called from Lua, where it caused an extra null byte to be
embedded at the end of the output string.
* uh_urlencode() cleanup: removed redundant bitwise-and.
Signed-off-by: David Favro <openwrt@meta-dynamic.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31569 3c298f89-4303-0410-b956-a3cf2f4a3e73
- fix parsing of interpreter entries in the config file, fixes serving of static files as .cgi with X-Wrt
- better cope with connection aborts, especially during header transfer
- fix return value checking of TLS reads and writes, solves some blocking issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22692 3c298f89-4303-0410-b956-a3cf2f4a3e73
- more robust handling of network failures on static file serving
- support unlimited amount of authentication realms, listener and client sockets
- support for interpreters (.php => /usr/bin/php-cgi)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22630 3c298f89-4303-0410-b956-a3cf2f4a3e73
- abort file serving if client connection is lost (#7742)
- don't send bad request headers twice
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22602 3c298f89-4303-0410-b956-a3cf2f4a3e73
- ignore authentication realms that refer to user accounts with no password set yet (X-Wrt compatibility)
- fix off-by-one in CGI header parsing, fixes cgi programs that emit bad header lines (AsteriskGUI compatibility)
- bump version
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21121 3c298f89-4303-0410-b956-a3cf2f4a3e73
- make network timeout configurable, increase default to 30 seconds (#7067)
- follow symlinks in docroot and add option to disable that
- fix mimetype detection for files with combined extensions (.tar.gz, ...)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20883 3c298f89-4303-0410-b956-a3cf2f4a3e73
- cope with options instead of lists in uci config
- fix compilation without tls (#7050)
- bump to rev 7
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20668 3c298f89-4303-0410-b956-a3cf2f4a3e73
- 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