From ecd8c5b936c1e17e4cf5b7cd1ae45216836bbbb7 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Sun, 24 Mar 2019 21:47:56 +0100 Subject: [PATCH] Fix bug #55702: SSI bug Apply patch from Stanislav --- src/apps/http/httpd.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/apps/http/httpd.c b/src/apps/http/httpd.c index 6e53b484..cd7d9fdb 100644 --- a/src/apps/http/httpd.c +++ b/src/apps/http/httpd.c @@ -1301,6 +1301,22 @@ http_send_data_ssi(struct altcp_pcb *pcb, struct http_state *hs) ssi->tag_state = TAG_NONE; } +#if LWIP_HTTPD_DYNAMIC_FILE_READ && !LWIP_HTTPD_SSI_INCLUDE_TAG + if ((ssi->tag_state == TAG_NONE) && + (ssi->parsed - hs->file < ssi->tag_index)) { + for(u16_t i = 0;i < ssi->tag_index;i++) { + ssi->tag_insert[i] = http_ssi_tag_desc[ssi->tag_type].lead_in[i]; + } + ssi->tag_insert_len = ssi->tag_index; + hs->file += ssi->parsed - hs->file; + hs->left -= ssi->parsed - hs->file; + ssi->tag_end = hs->file; + ssi->tag_index = 0; + ssi->tag_state = TAG_SENDING; + break; + } +#endif + /* Move on to the next character in the buffer */ ssi->parse_left--; ssi->parsed++;