url cleaning: leave // after http[s]: alone
This commit is contained in:
parent
09f3947b4c
commit
6c09952065
1 changed files with 14 additions and 0 deletions
14
lib/server.c
14
lib/server.c
|
@ -689,6 +689,17 @@ lws_unauthorised_basic_auth(struct lws *wsi)
|
|||
|
||||
int lws_clean_url(char *p)
|
||||
{
|
||||
if (p[0] == 'h' && p[1] == 't' && p[2] == 't' && p[3] == 'p') {
|
||||
p += 4;
|
||||
if (*p == 's')
|
||||
p++;
|
||||
if (*p == ':') {
|
||||
p++;
|
||||
if (*p == '/')
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
while (*p) {
|
||||
if (p[0] == '/' && p[1] == '/') {
|
||||
char *p1 = p;
|
||||
|
@ -997,7 +1008,10 @@ lws_http_action(struct lws *wsi)
|
|||
"%s%s%s/", oprot[!!lws_is_ssl(wsi)],
|
||||
lws_hdr_simple_ptr(wsi, WSI_TOKEN_HOST),
|
||||
uri_ptr);
|
||||
|
||||
lwsl_notice("%s\n", end);
|
||||
lws_clean_url((char *)end);
|
||||
lwsl_notice("%s\n", end);
|
||||
|
||||
n = lws_http_redirect(wsi, HTTP_STATUS_MOVED_PERMANENTLY,
|
||||
end, n, &p, end);
|
||||
|
|
Loading…
Add table
Reference in a new issue