aboutsummaryrefslogtreecommitdiff
path: root/networking/httpd.c
AgeCommit message (Collapse)Author
2013-09-18httpd: make sire pfd[TO_CGI].revents is cleared before poll()Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-11httpd: treat errors from stdin correctly.Denys Vlasenko
Fron bug report: If a CGI or proxied connection is rudely aborted (SIG_{KILL,BUS,SEGV}) then httpd will spin madly the poll loop in: networking/httpd.c:1080 cgi_io_loop_and_exit() Upon investigation I found that pfd[0].revents == 0x0018 (POLLHUP|POLLERR), which leads to empty read, but the pfd[0].fd (STDIN_FILENO) is left open, and in the FD list given to poll() which immediately returns to once again inform the loop of (POLLHUP|POLLERR) condition of pfd[0].fd. This continues until pfd[FROM_CGI].revents != 0 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30Whitespace fixesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-25httpd: don't allow tabs and multiple spaces in request stringDenys Vlasenko
HTTP standard doesn't allow it and no sane clients should ever use it. function old new delta handle_incoming_and_exit 2795 2785 -10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14whitespace fixes. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-12su: do not change to home dir unless -lPascal Bellard
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-20fix build breakage found by randconfigDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-03httpd: emit correct content length on range requests past the end. Closes 4952Rob Walker
Signed-off-by: Rob Walker <rwalker@codeaurora.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-19httpd: make byte ranges which start at 0 work too. Closes 4766Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-04httpd: fix sendfile of files larger than 2 Gb. Closes 4754Denys Vlasenko
When built with "sendfile" support, httpd was unable to send large files (>2 GB) in one single connection, terminating it before the full file has been sent. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-01httpd: fix MD5-encrypted-in-httpd.conf password logicDenys Vlasenko
function old new delta check_user_passwd 467 492 +25 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-19httpd: don't drop/abuse QUERY_STRING when /cgi-bin/index.cgi is usedDenys Vlasenko
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-18libbb: remove is_directory's argument which is always NULLDenys Vlasenko
function old new delta send_cgi_and_exit 892 890 -2 ln_main 447 445 -2 handle_incoming_and_exit 2784 2780 -4 is_directory 66 59 -7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/6 up/down: 2/-19) Total: -15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-18httpd: remove redundant NULL assignment and save one strrchr. -8 bytesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-16httpd: fix /../ sanitization (had one extra semicolon). rewrote itDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-29httpd: small fixes to previous changePascal Bellard
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-29httpd: make it possible to use system passwords for authPascal Bellard
function old new delta check_user_passwd 320 467 +147 httpd_main 760 757 -3 Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-22nommu: fix cases where we mangle argv[0][0]Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-11wget: URL-decode user:password before base64-encoding it into auth hdr. ↵Denys Vlasenko
Closes 3625. function old new delta percent_decode_in_place - 152 +152 parse_url 304 317 +13 handle_incoming_and_exit 2795 2798 +3 httpd_main 763 760 -3 decodeString 152 - -152 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 2/1 up/down: 168/-155) Total: 13 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05*: remove "Options:" string from help textsDenys Vlasenko
function old new delta packed_usage 28706 28623 -83 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-13adduser: safe username passing to passwd/addgroupDenys Vlasenko
passwd: support creating SHA passwords random code shrink function old new delta crypt_make_pw_salt - 87 +87 adduser_main 883 904 +21 ... crypt_make_salt 99 89 -10 chpasswd_main 329 312 -17 packed_usage 28731 28691 -40 passwd_main 1070 1000 -70 cryptpw_main 310 224 -86 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 4/12 up/down: 154/-288) Total: -134 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11move remaining help text from include/usage.src.hPere Orga
Signed-off-by: Pere Orga <gotrunks@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-10http: document index.cgi usage. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-27httpd: don't send error messages with gzip encodingPeter Korsgaard
If CONFIG_FEATURE_HTTPD_GZIP is enabled and request contained 'Accept-Encoding: gzip', then errors were sent with 'Content-Encoding: gzip' even though they aren't. Fix it by clearing content_gzip before sending the headers. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-11httpd: send correct mtime for .gz filesDenys Vlasenko
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-29whitespace cleanupDenys Vlasenko
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-26httpd: simplified "gzip" testPeter Korsgaard
function old new delta handle_incoming_and_exit 2830 2807 -23 Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-25httpd: optional support for gzip-compressed pagesPeter Korsgaard
function old new delta send_file_and_exit 662 761 +99 handle_incoming_and_exit 2756 2830 +74 send_headers 603 654 +51 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 224/0) Total: 224 bytes Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-25httpd: cosmetic fixes, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-27remove recently added erroneous _and_die()Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-25*: make exec failure message more consistentDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-02httpd: fix proxy mode bug (annoying but harmless), better help textDenys Vlasenko
function old new delta cgi_io_loop_and_exit 594 635 +41 packed_usage 26815 26841 +26 handle_incoming_and_exit 2745 2739 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-02*: do not check for POLLIN/POLLOUT only, just in case it's POLHUP/POLERRDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-26reuse a few stringsBernhard Reutner-Fischer
text data bss dec hex filename 839040 453 6828 846321 ce9f1 busybox_old 839019 453 6828 846300 ce9dc busybox_unstripped Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12*: add/remove safe_, it seems we had a few incorrect usesDenys Vlasenko
function old new delta chat_main 1359 1361 +2 microcom_main 712 713 +1 ifplugd_main 1109 1110 +1 arpping 465 466 +1 acpid_main 440 441 +1 script_main 1069 1067 -2 cgi_io_loop_and_exit 594 591 -3 telnet_main 1475 1469 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/3 up/down: 6/-11) Total: -5 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-16httpd -m: output salted MD5 hash. By (forrest AT hifulltech.com)Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-11wget: check for close success; fix chunked; do not bother to send QUIT to ftpDenys Vlasenko
Also, random fixes to use %u for unsigned quantities. -14 bytes in wget. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-10httpd: shrink mime type matching code (suggested by Bernhard)Denys Vlasenko
function old new delta static.suffixTable 100 231 +131 send_file_and_exit 625 658 +33 handle_incoming_and_exit 2749 2745 -4 send_cgi_and_exit 936 901 -35 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 164/-39) Total: 125 bytes text data bss dec hex filename 824631 458 6956 832045 cb22d busybox_old 824550 458 6956 831964 cb1dc busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-08httpd: fix bug 601 "I:index.php does not run interpreter on DIR/ url"Denys Vlasenko
function old new delta parse_conf 1462 1485 +23 index_html - 11 +11 handle_incoming_and_exit 2762 2749 -13 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 34/-13) Total: 21 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-09telnetd: properly close fds in childDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-04fix debug messageBernhard Reutner-Fischer
Print the mime-type only after it has been set. Add possible TODOs: use TCP_CORK, parse_config()
2009-05-02httpd: speed up httpd.conf at the cost of 49 bytes of codeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-04-22httpd: fix small bug in parser. it crept in during cleanupDenis Vlasenko
2009-04-22httpd: allow empty lines in conf fileDenis Vlasenko
2009-04-22httpd: simplify insane conf file parserDenis Vlasenko
function old new delta bb_simplify_abs_path_inplace - 98 +98 parse_expr 824 832 +8 passwd_main 1025 1027 +2 evalvar 1374 1376 +2 parse_command 1463 1460 -3 bb_simplify_path 137 55 -82 parse_conf 1572 1422 -150 ------------------------------------------------------------------------------ (add/remove: 3/2 grow/shrink: 3/3 up/down: 126/-251) Total: -125 bytes
2009-04-21*: mass renaming of USE_XXXX to IF_XXXXDenis Vlasenko
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially badly named. It was not skipping anything!
2009-03-18httpd: add comment explaining why SERVER_NAME etc is not set.Denis Vlasenko
2009-02-05httpd: tiny optimizationDenis Vlasenko
2009-02-04httpd:Denis Vlasenko
Kill config options by making them always on: FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES This makes httpd.c remotely readable - it had ~125 #ifdefs, now it has ~100. The growth on a .config with all FEATURE_HTTPDs off is: function old new delta send_file_and_exit - 269 +269 parse_conf 683 763 +80 free_llist - 32 +32 httpd_main 427 454 +27 sighup_handler - 15 +15 handle_incoming_and_exit 1110 905 -205 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 2/1 up/down: 423/-205) Total: 218 bytes