e6903e4e7e
Although we for sure don't support HTTPS we need to recognize it. Nowadays it has become pretty usual to redirect HTTP URLs to HTTPS URLs in order to force privacy (thanks, NSA !). So far our redirection handler didn't recognize an HTTPS URL as abslute URLs and therefore appended it to the curent URL. This led to an endless redirection loop. Now we recognize the HTTPS redirection and generate a minimal document on the fly to inform the user of (for us unrachable) the redirection target. HTML links with HTTPS URLs are treated just like fragment-only links meaning that they get simply completely ignored.
43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
const char http_http[8] =
|
|
/* "http://" */
|
|
{0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, };
|
|
const char http_https[9] =
|
|
/* "https://" */
|
|
{0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, };
|
|
const char http_200[5] =
|
|
/* "200 " */
|
|
{0x32, 0x30, 0x30, 0x20, };
|
|
const char http_301[5] =
|
|
/* "301 " */
|
|
{0x33, 0x30, 0x31, 0x20, };
|
|
const char http_302[5] =
|
|
/* "302 " */
|
|
{0x33, 0x30, 0x32, 0x20, };
|
|
const char http_get[5] =
|
|
/* "GET " */
|
|
{0x47, 0x45, 0x54, 0x20, };
|
|
const char http_10[9] =
|
|
/* "HTTP/1.0" */
|
|
{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, };
|
|
const char http_11[9] =
|
|
/* "HTTP/1.1" */
|
|
{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x31, };
|
|
const char http_content_type[15] =
|
|
/* "content-type: " */
|
|
{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };
|
|
const char http_location[11] =
|
|
/* "location: " */
|
|
{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };
|
|
const char http_host[7] =
|
|
/* "Host: " */
|
|
{0x48, 0x6f, 0x73, 0x74, 0x3a, 0x20, };
|
|
const char http_crnl[3] =
|
|
/* "\r\n" */
|
|
{0xd, 0xa, };
|
|
const char http_html[6] =
|
|
/* ".html" */
|
|
{0x2e, 0x68, 0x74, 0x6d, 0x6c, };
|
|
const char http_redirect[19] =
|
|
/* "<body>Redirect to " */
|
|
{0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, };
|