goldsimon
ea2e628ac3
httpd: get_http_headers: refactor decision for add_content_len
2018-02-03 21:58:45 +01:00
goldsimon
1a75112b47
httpd: ensure hs->keepalive is 0 if content length is not sent
...
Connections for custom files without the persistent flag were not
closed without this change.
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-03 21:53:44 +01:00
goldsimon
053a5e6e13
httpd: get_http_headers: fix content length check for custom files
...
Headers are never included here or else get_http_headers would not
have been called.
As a result, custom files need to set FS_FILE_FLAGS_HEADER_PERSISTENT
in file->flags if file->len is the correct length of the file.
See also patch #9500
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-03 21:51:33 +01:00
goldsimon
d5d30d49f2
httpd: check that file data is present when dynamic read is disabled
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-02 21:31:36 +01:00
goldsimon
6706b3778e
httpd: add "struct file*" parameter to httpd_cgi_handler() callback
2018-02-02 09:29:52 +01:00
Giuseppe Modugno
ab281cb750
httpd: move httpd_cgi_handler() call
...
This patch moves in advance httpd_cgi_handler() call, before assigning
variables like hs->file and hs->left.
In this way, CGI handler could prepare the reply data and set the
"file properties", like file->data and file->len. At the exit, hs->file
and hs->left is correctly assigned.
The handler prototype says it can't access file pointer, however it is
simple to obtain it after setting LWIP_HTTPD_FILE_STATE that enables a
"file state" pointer. It is sufficient to assign file->state to file
itself in fs_open_custom().
For example, I have the request GET /login.cgi?user=admin&pwd=admin and
I have to reply with some JSON data. The answer depends on parameters
user and pwd passed in the query string.
2018-02-02 09:12:42 +01:00
goldsimon
eb51b683ed
fix copy & paste error in comment
2018-01-12 20:29:12 +01:00
Dirk Ziegelmeier
46cb0a796b
Forgot to add LWIP_ASSERT_CORE_LOCKED() to http_continue function
2018-01-12 13:35:20 +01:00
Dirk Ziegelmeier
653313cb37
Work on task #14780 : Add debug helper asserts to ensure threading/locking requirements are met
...
Add LWIP_ASSERT_CORE_LOCKED() to several more places
2018-01-12 13:15:36 +01:00
goldsimon
6b2ef1a89b
httpd: fix typo "kepalive" -> "keepalive"
2018-01-04 06:35:00 +01:00
goldsimon
2505c6019e
httpd: fix the names of some global variables
2017-12-18 20:01:24 +01:00
Mike Kleshov
db68c6df6a
httpd: make global variables static
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
2017-12-18 19:57:07 +01:00
Axel Lin
6cbee37a58
apps/httpd: Use LWIP_ARRAYSIZE at appropriate places
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2017-11-22 16:54:03 +01:00
Axel Lin
8b6bb1a503
apps/httpd: Fix build error when LWIP_HTTPD_TIMING=1
...
Include lwip/sys.h to fix below build error:
../../../../lwip/src/apps/httpd/httpd.c:470:23: error: implicit declaration of function ‘sys_now’ [-Werror=implicit-function-declaration]
u32_t ms_needed = sys_now() - hs->time_started;
^~~~~~~
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2017-11-19 14:17:52 +01:00
Dirk Ziegelmeier
1e0501c31a
Improve HTTPD documentation
2017-11-17 10:08:35 +01:00
goldsimon
da01bc4d15
httpd: ssi: support selecting ssi files by file flags, not by extension (at runtime) only
2017-11-16 22:29:44 +01:00
goldsimon
8bd670430a
httpd: ssi: move checking file extensions against g_pcSSIExtensions array into its own function guarded by LWIP_HTTPD_SSI_BY_FILE_EXTENSION
2017-11-16 22:24:17 +01:00
goldsimon
365e031340
httpd: fixed double-free for default 404 file () for LWIP_HTTPD_DYNAMIC_HEADERS==1
2017-11-13 21:04:24 +01:00
goldsimon
283fec0a36
fixed copy&paste bug introduced in last commit
2017-10-26 11:30:26 +02:00
goldsimon
0f685e4fb5
Fixed bug #52279 : httpd.c http_init_file() miss uri
2017-10-25 21:58:53 +02:00
Dirk Ziegelmeier
6164f0cd34
Reformat httpd* using astylerc
2017-09-17 17:58:36 +02:00
goldsimon
a1c7924cb6
task #14597 : cleanup pbuf_header usages (use pbuf_add_header/pbuf_remove_header instead)
2017-08-04 22:38:11 +02:00
goldsimon
f3c860958f
-Wconversion (still far from finished) and other minor compilation fixes...
2017-07-06 22:47:11 +02:00
goldsimon
07cc25a9df
httpd: remove unnecessary "\0" suffix for CRLF string constant (see bug #51232 )
2017-06-13 21:53:35 +02:00
goldsimon
a92e838687
httpd: include hooks header file so that redefined defines/functions can be defined there
2017-06-13 21:13:45 +02:00
goldsimon
ec9096be40
fixed typo in httpd debug message
2017-05-10 13:41:26 +02:00
goldsimon
39316bb9de
httpd: fixed bug #50915 (HTTP_IS_DATA_VOLATILE was wrong for LWIP_HTTPD_DYNAMIC_FILE_READ==1)
2017-05-03 09:57:12 +02:00
Dmitry
42eb98c9fc
Fix bugs in httpd with "LWIP_HTTPD_CUSTOM_FILES && LWIP_HTTPD_DYNAMIC_FILE_READ" when SSI tags (from '<' to '>' when they span from one read to the next or end at one read buffer) - bugs #50844 aqnd #50845
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
2017-04-24 22:33:17 +02:00
Dirk Ziegelmeier
3266511ebb
Improve documentation, add TLS stuff
2017-03-28 21:25:49 +02:00
Dirk Ziegelmeier
38651b8069
Cleanup #include structure of altcp_tls a bit
...
(as discussed with Simon today)
2017-03-28 20:31:25 +02:00
goldsimon
537c258efa
httpd/altcp: add forgotten functions
2017-03-28 14:04:40 +02:00
Dirk Ziegelmeier
060a47f88a
Add altcp to Filelists.mk
...
Some compile fixes in altcp_tcp.c and httpd.c
2017-03-22 22:57:50 +01:00
goldsimon
d386374449
httpd: add support for https
2017-03-22 22:42:09 +01:00
goldsimon
afaa7d9561
httpd: prepare for https: move initialization code to shared function
2017-03-22 22:41:24 +01:00
goldsimon
2f3b00efb4
httpd: convert to altcp API (a simple search & replace...)
2017-03-22 22:33:50 +01:00
goldsimon
05a595f745
httpd: LWIP_HTTPD_POST_MANUAL_WND: fixed double-free when httpd_post_data_recved is called nested from httpd_post_receive_data() (bug #50424 )
2017-03-01 22:08:05 +01:00
goldsimon
a9bfe7b72f
Fix compiling httpd for LWIP_HTTPD_SUPPORT_POST==1 (assigning int to u16_t)
2017-03-01 20:32:13 +01:00
goldsimon
1741edf159
make tcp apps depend on LWIP_CALLBACK_API, too
2017-02-28 12:19:16 +01:00
goldsimon
ea093d3a53
http_add_connection: add connections to the front to be faster (and really fix bug #50059 )
2017-02-09 13:08:17 +01:00
goldsimon
5743864744
Fixed bug #50059 (httpd LWIP_HTTPD_SUPPORT_11_KEEPALIVE vs. LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED)
2017-02-09 13:01:37 +01:00
Dirk Ziegelmeier
0ffaccaec3
Add missing #include in httpd.c for atoi()
2017-01-05 08:53:26 +01:00
goldsimon
fb07d47b82
more LWIP_NOASSERT fixes
2016-12-19 10:34:49 +01:00
Dirk Ziegelmeier
89cb7b7aa1
Try to remove #include <stdlib.h> from many files. Does not seem necessary any more and might cause problems when porting lwIP.
2016-12-08 11:05:01 +01:00
Dirk Ziegelmeier
f6e27940bd
Make lwIP compile with clang -Wdocumentation -> several documentation fixes
2016-10-09 12:21:39 +02:00
Dirk Ziegelmeier
461b3531c7
httpd.c: add missing default in case statement
2016-09-28 22:05:52 +02:00
Dirk Ziegelmeier
1f68b32485
Cleanup handling of non-standard functions in lwIP
...
- itoa
- strnicmp, stricmp/strcasecmp
- strnstr
Related to patch #9115 : httpd.c: strcasecmp for GCC and stricmp for Windows
2016-09-28 21:52:11 +02:00
goldsimon
14fb48cd7a
minor: whitespace cleanups
2016-08-19 09:41:34 +02:00
Dirk Ziegelmeier
c6831648e2
Document apps in doxygen module style, create more top-level categories to structure documentation
2016-07-26 19:30:05 +02:00
goldsimon
ca71eea56f
httpd: reverted accidentally committed change (came in with de9054cb7a7022f430c898bef29ec454b364b332 when fixing memp things)
2016-07-26 07:29:59 +02:00
sg
de9054cb7a
memp: cleaned up MEMP_MEM_MALLOC:
...
- support memp stats when MEMP_MEM_MALLOC==1 (bug #48442 );
- hide MEMP_MEM_MALLOC in memp.c instead of messing up the header file;
- make MEMP_OVERFLOW_CHECK work when MEMP_MEM_MALLOC==1
2016-07-21 22:17:32 +02:00