summaryrefslogtreecommitdiff
path: root/uhttpd.c
Commit message (Collapse)AuthorAgeFilesLines
* Use safe uh_realpath()Jo-Philipp Wich2014-09-221-2/+2
| | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
* back out early if the first client socket read doesn't yield a valid HTTP ↵Jo-Philipp Wich2012-10-301-0/+21
| | | | method signature
* move plugin initialization into separate functionsJo-Philipp Wich2012-10-151-61/+96
|
* support multiple index files in the configuration and the command line argsJo-Philipp Wich2012-10-151-3/+18
|
* #ifdef linux-specific tcp keepalive optionsFelix Fietkau2012-10-041-4/+11
|
* define _XOPEN_SOURCE and _BSD_SOURCE globally, increase _XOPEN_SOURCE to ↵Felix Fietkau2012-10-041-2/+0
| | | | include strdup et al on mac os x
* add more missing ifdefsFelix Fietkau2012-10-041-0/+4
|
* add an ifdef around a potentially unused variableFelix Fietkau2012-10-041-0/+2
|
* [package] uhttpd: various changesjow2012-07-131-56/+67
| | | | | | | | | - 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/package/uhttpd/src@32704 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: various fixesjow2012-07-091-41/+37
| | | | | | | | | - 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/package/uhttpd/src@32651 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: do not dispatch pipe error events, fixes use after free ↵jow2012-07-071-2/+6
| | | | | | for cgi and lua scripts git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@32644 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: do not subscribe to epoll write eventsjow2012-07-061-3/+20
| | | | | | | | 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/package/uhttpd/src@32640 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: fix wrongly applied sizeof() leading to writing beyound ↵jow2012-05-301-2/+2
| | | | | | end of buffer and subsequent data corruption (#11557) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@32005 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2012-05-281-234/+348
| | | | | | | | | | | - 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/package/uhttpd/src@31931 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: display errors in init script, code formatting changes, ↵jow2012-05-031-159/+168
| | | | | | bump package version git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@31572 3c298f89-4303-0410-b956-a3cf2f4a3e73
* uhttpd: added uhttpd.docrootjow2012-05-031-1/+1
| | | | | | | | | | | | | 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/package/uhttpd/src@31571 3c298f89-4303-0410-b956-a3cf2f4a3e73
* Fixed: [PATCH 2/3] uhttpd URL-codec enhancements.jow2012-05-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/package/uhttpd/src@31570 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: cope with variable number of spaces in header lines (#11079)jow2012-03-041-3/+6
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@30806 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: support building against openssl instead of cyassl, minor ↵jow2011-07-181-1/+16
| | | | | | cleanups (#7827) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@27686 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: unblock signals in CGI childs, solves hanging ssh logout ↵jow2011-07-171-1/+1
| | | | | | after server restart from within LuCI and similar problems git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@27628 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: substitute "+" with space when using the -d flag, lazyload ↵jow2011-01-281-40/+60
| | | | | | tls support git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@25220 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: protect tcp receive operations with select, make tcp ↵jow2011-01-091-14/+21
| | | | | | keep-alive optional (#8272) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@24952 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: allow lowercase http header fields (#8513)jow2010-12-241-2/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@24823 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: redirect to same location with trailing slash appended if ↵jow2010-11-101-2/+1
| | | | | | directories are requested git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@23952 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: revert unrelated change in previous commitjow2010-10-051-3/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@23261 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: add /etc/uhttpd.key and /etc/uhttpd.crt to conffile hintsjow2010-10-051-1/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@23260 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: break tight loop when receiving eof during header reading ↵jow2010-09-091-0/+4
| | | | | | (#7904) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@22988 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-08-181-25/+35
| | | | | | | | | - 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/package/uhttpd/src@22692 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-08-141-184/+230
| | | | | | | | | - 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/package/uhttpd/src@22630 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: fix segmentation fault triggered by invalid header linejow2010-08-121-1/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@22607 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-08-111-7/+0
| | | | | | | | - 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/package/uhttpd/src@22602 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: add option to reject requests from RFC1918 IPs to public ↵jow2010-08-111-1/+14
| | | | | | server IPs (DNS rebinding countermeasure) git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@22589 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-07-231-9/+79
| | | | | | | | | | | - fix a compile warning - support custom index file names - support custom error pages (or cgi handler) - add option to disable directory listings - add REDIRECT_STATUS for CGI requests, fixes php-cgi git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@22366 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-06-121-0/+1
| | | | | | | | - fix incorrect parsing of multiple listen options (#7458) - support PEM certificates for SSL git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@21762 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-04-241-2/+2
| | | | | | | | | - 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/package/uhttpd/src@21121 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-04-151-17/+37
| | | | | | | | | - 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/package/uhttpd/src@20883 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-04-031-0/+2
| | | | | | | | | - 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/package/uhttpd/src@20668 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: fix parameter parsing issue on avr32 and most likely ixp4xxjow2010-03-281-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@20532 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd: block SIGCHLD until it is expected (#6957)jow2010-03-271-1/+9
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@20513 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] uhttpd:jow2010-03-271-1/+26
| | | | | | | | | - 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/package/uhttpd/src@20500 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [package] add uhttpd (moved from LuCI trunk)jow2010-03-251-0/+899
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@20428 3c298f89-4303-0410-b956-a3cf2f4a3e73