Simon Goldschmidt
d1bf1ee0da
httpd + makefsdata:
...
- added delayed open/read functionality (so that SSI code can delay sending of a file until internal data is available);
- clean up fs-handling: additional read is not required with our current fs implementation;
- kill oldest connection when running out of http_state memory;
- splitted SSI state into its own struct so that non-SSI pages don't consume too much memory (SSI buffer can get quit big);
- added support for HTTP/1.1 persistent connections (use the '-11' switch of makefsdata; not available for SSI files since we cannot calculate the file length in advance);
- splitted the unreadably-long function http_send_data into multiple smaller functions;
2011-09-04 19:26:46 +02:00
Simon Goldschmidt
7413328273
Fix that connections are closed with RST if the HTTP requests didn't fit into the first packet (RST would be sent because not all data has been recved by the httpd - now we ensure all data has been read by waiting for the first double-CRLF before parsing the request)
2011-09-02 22:02:45 +02:00
goldsimon
32b341c04a
Fix compiler warnings in debug macros
2011-07-06 08:37:01 +00:00
goldsimon
cf57b51527
Adapted include path to inet_chksum.c
2011-07-06 07:15:13 +00:00
goldsimon
b73187713f
httpd: move some variables from rwdata- to rodata- or bss-section
2011-03-27 13:07:48 +00:00
kieranm
c67a905dd9
Fix compile error in httpd.c
2011-02-03 12:44:15 +00:00
goldsimon
61cd545508
Improved debug output on sending data
2010-11-20 17:29:35 +00:00
goldsimon
a679e2aec6
- strip '?' from all uris before passing them to fs_open;
...
- http_close_conn must handle hs==NULL correctly (when called from http_poll);
- added LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR to call tcp_abort when tcp_close fails with out-of-memory error;
- httpd_init checks if the memp pool MEMP_HTTPD_STATE is big enough if HTTPD_USE_MEM_POOL==1
2010-07-19 14:26:36 +00:00
goldsimon
c0b51ff573
Fixed HTTP header for 400 (Bad Request) and 501 (Not Implemented)
2010-07-07 08:17:12 +00:00
goldsimon
5afec09b38
Fixed compilation for LWIP_HTTPD_POST_MANUAL_WND==0
2010-07-06 20:24:36 +00:00
goldsimon
19de161358
- added LWIP_HTTPD_SSI_INCLUDE_TAG (default on): when off, don't include the SSI tag in the output sent to clients (so SSI tags can be used anywhere, even in input boxes);
...
- fixed copy/nocopy for SSI files;
- added LWIP_HTTPD_SSI_MULTIPART (default off): when on, SSI functions have one more argument that is used as state for an SSI tag to return more than LWIP_HTTPD_MAX_TAG_INSERT_LEN bytes (the handler function is then called multiple times);
- added LWIP_HTTPD_POST_MANUAL_WND (default off): when on, post callbacks can throttle RX speed by manually sending window updates (i.e. tcp_recved is called manually by calling httpd_post_data_recved);
- added LWIP_HTTPD_FILE_STATE (default off): when on, fs_open/fs_close call application defined functions fs_state_init/fs_state_free (fs_state_init returns a void pointer that is passed to every call to an SSI handler);
- compacted the code a bit by moving the code that calls tcp_write() in a loop to its own function;
- error files may have the extension shtml, too;
- fixed that returning default 404 page did not work any more;
2010-07-05 14:32:24 +00:00
goldsimon
4adc78384b
Minor: added newlines in console output
2010-07-05 14:21:50 +00:00
goldsimon
c7acce523a
fixed signed/unsigned comparision, fixed indentation
2010-05-17 12:19:42 +00:00
goldsimon
3a06d130c3
performance improvements:
...
- don't stop sending after inserting a tag (leads to delayed ACKs);
- enqueue FIN in last data packet;
fix usage of tcp_close() after correcting close vs. shutdown
2010-05-17 11:20:59 +00:00
goldsimon
2de3924493
Added missing #if LWIP_HTTPD_CUSTOM_FILES
2010-05-17 11:07:43 +00:00
goldsimon
debf0134df
Fixed compilation for LWIP_HTTPD_DYNAMIC_HEADERS==1, fixed a few warnings, changed the init code a bit
2010-05-16 16:18:39 +00:00
goldsimon
3e59a70f02
Added LWIP_HTTPD_CUSTOM_FILES to open files that are not included in fsdata.c
2010-05-16 16:15:15 +00:00
goldsimon
4b47d17a37
-f argument handler didn't copy the full filename ... :-)
2010-04-01 13:02:58 +00:00
goldsimon
62ea62ffc3
Fixed compiler warnings
2010-04-01 12:57:45 +00:00
goldsimon
30d352cec7
Don't include any directory starting with a dot (to not include my ".svn" directories), added parameter "-f:<filename>" to output to another file than the default "fsdata.c"
2010-04-01 12:49:08 +00:00
goldsimon
2689478bbb
Fixed compilation under WIN32 (htons etc. was duplicate)
2010-04-01 12:25:46 +00:00
goldsimon
9db401aa63
Added HTTPD_USE_CUSTUM_FSDATA to include "fsdata_custom.c" instead of "fsdata.c" for the file system (to prevent changing the file included in CVS)
2010-04-01 12:19:18 +00:00
goldsimon
57c1f7a16d
Fixed compilation with LWIP_UDP/LWIP_TCP disabled
2010-03-26 16:10:32 +00:00
goldsimon
c2f3fcc72a
Set LWIP_HTTPD_STRNSTR_PRIVATE on by default, prevent old-style function declaration
2010-03-26 14:16:04 +00:00
goldsimon
9349f269e6
Remove duplicate prototype of httpd_init()
2010-03-26 14:10:50 +00:00
goldsimon
fbee0f5c56
Don't limit maximum body length in post, added TRACE to some debug outputs
2010-03-26 13:42:37 +00:00
goldsimon
321578fd14
Fixed compilation: removed extra tokens after #endif, which MSVC doesn't complain about :-(
2010-03-25 10:32:12 +00:00
goldsimon
71b0d509dc
minor coding style: strnstr: added brackets
2010-03-22 15:48:23 +00:00
goldsimon
7ea6692cdb
Don't call tcp_close right after all data is enqueue, since this may result in resetting the connection (because of task #10088 )
2010-03-22 12:26:40 +00:00
goldsimon
75d9fdc5c7
Initialize the listen pcb's prio correctly, added missing cast and include, http_poll: don't check for pcb->state
2010-03-22 10:07:36 +00:00
goldsimon
0035c0f119
Added support for POST, HTTP/0.9 and extended status files (e.g. "/501.html")
2010-03-21 15:42:59 +00:00
goldsimon
298991e83b
Added option LWIP_HTTPD_SUPPORT_EXTSTATUS
2010-03-20 13:50:26 +00:00
goldsimon
f779310da6
Support request that are spanned over multiple packets/pbufs (disabled by default to save space), use memcpy instead of snprintf
2010-03-20 13:35:53 +00:00
goldsimon
93a0e58ea2
Added support for precalculated checksum and (pregenerated) HTTP/1.1 headers ("connection: close" and "content-length")
2010-03-18 06:34:35 +00:00
goldsimon
111004caa9
Fixed compilation for CGI, SSI and DYNAMIC_HEADERS, renamed variables, added comments
2010-03-18 06:31:18 +00:00
goldsimon
05c30ba213
Speed up generating big files
2010-03-14 13:25:49 +00:00
goldsimon
3a30b8350d
Use tcp_mss(pcb) instead of pcb->mss; only call tcp_output from http_poll
2010-03-13 15:02:22 +00:00
goldsimon
3f79779a0f
Added connection timing, changed default definition of HTTP_IS_DATA_VOLATILE() to not copy data when sending from unmodified files
2010-03-12 19:26:57 +00:00
goldsimon
b83a115953
Fixed compilation warnings (missing casts, includes, etc.)
2010-03-10 11:27:11 +00:00
goldsimon
e97f6e1909
Improved code size & memory footprint when LWIP_HTTPD_SSI==0 && LWIP_HTTPD_DYNAMIC_HEADERS==0
2010-03-08 18:58:21 +00:00
goldsimon
6bb0cded4f
For LWIP_HTTPD_DYNAMIC_HEADERS==1, skip get_http_headers() if http_header_included
2010-02-24 11:51:05 +00:00
goldsimon
2a41542edb
LWIP_HTTPD_DYNAMIC_HEADERS defaults to 0
2010-02-20 17:48:57 +00:00
goldsimon
0b541d8f0a
HTTPD_DEBUG defaults to off
2010-02-20 17:48:43 +00:00
goldsimon
1f93022b83
Moved some parts of the HTTP-header related code to a new file to share it between httpd.c and makefsdata.c, regenerated fsdata.c
2010-02-19 16:20:25 +00:00
goldsimon
4ec673b17d
Merged httpd from TI Luminary: added basic SSI and CGI support, added support for dynamic HTTP header generation
2010-02-17 21:19:17 +00:00
goldsimon
892859455c
bug #28659 : Missing casts
2010-01-25 08:20:46 +00:00
goldsimon
faf826ad6d
bug #26523 : Compiler Warnings
2010-01-24 10:09:57 +00:00
goldsimon
d20a5e8b29
Fixed warnings and wrong asserts
2010-01-21 07:30:17 +00:00
goldsimon
9b45317f54
Fixed makefsdata portability (don't use backslash in include)
2010-01-20 20:51:05 +00:00
goldsimon
379e17565c
Moved 3 apps from unixsim/apps to contrib/apps (since they are by no means unix-specific)
2010-01-20 19:12:26 +00:00