Commit ee042a34 authored by Deomid Ryabkov's avatar Deomid Ryabkov Committed by rojer

Fix SSI parsing

    PUBLISHED_FROM=c918da948354def5815dfd6b832053f170212c6f
parent 63075f68
...@@ -4309,6 +4309,13 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp, ...@@ -4309,6 +4309,13 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp,
/* Silently ignore unknown SSI directive. */ /* Silently ignore unknown SSI directive. */
} }
len = 0; len = 0;
} else if (ch == '<') {
in_ssi_tag = 1;
if (len > 0) {
mg_send(nc, buf, (size_t) len);
}
len = 0;
buf[len++] = ch & 0xff;
} else if (in_ssi_tag) { } else if (in_ssi_tag) {
if (len == (int) btag.len && memcmp(buf, btag.p, btag.len) != 0) { if (len == (int) btag.len && memcmp(buf, btag.p, btag.len) != 0) {
/* Not an SSI tag */ /* Not an SSI tag */
...@@ -4318,13 +4325,6 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp, ...@@ -4318,13 +4325,6 @@ static void send_ssi_file(struct mg_connection *nc, const char *path, FILE *fp,
len = 0; len = 0;
} }
buf[len++] = ch & 0xff; buf[len++] = ch & 0xff;
} else if (ch == '<') {
in_ssi_tag = 1;
if (len > 0) {
mg_send(nc, buf, (size_t) len);
}
len = 0;
buf[len++] = ch & 0xff;
} else { } else {
buf[len++] = ch & 0xff; buf[len++] = ch & 0xff;
if (len == (int) sizeof(buf)) { if (len == (int) sizeof(buf)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment