mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
846678541b
When the parser is not allowed to guess scheme, it should consider the word ending at the first colon to be the scheme, independently of number of slashes. The parser now checks that the scheme is known before it counts slashes, to improve the error messge for URLs with unknown schemes and maybe no slashes. When following redirects, no scheme guessing is allowed and therefore this change effectively prevents redirects to unknown schemes such as "data". Fixes #9503
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
#ifndef HEADER_CURL_URLAPI_INT_H
|
|
#define HEADER_CURL_URLAPI_INT_H
|
|
/***************************************************************************
|
|
* _ _ ____ _
|
|
* Project ___| | | | _ \| |
|
|
* / __| | | | |_) | |
|
|
* | (__| |_| | _ <| |___
|
|
* \___|\___/|_| \_\_____|
|
|
*
|
|
* Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
*
|
|
* This software is licensed as described in the file COPYING, which
|
|
* you should have received as part of this distribution. The terms
|
|
* are also available at https://curl.se/docs/copyright.html.
|
|
*
|
|
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
* copies of the Software, and permit persons to whom the Software is
|
|
* furnished to do so, under the terms of the COPYING file.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
* SPDX-License-Identifier: curl
|
|
*
|
|
***************************************************************************/
|
|
#include "curl_setup.h"
|
|
|
|
size_t Curl_is_absolute_url(const char *url, char *buf, size_t buflen,
|
|
bool guess_scheme);
|
|
|
|
#ifdef DEBUGBUILD
|
|
CURLUcode Curl_parse_port(struct Curl_URL *u, struct dynbuf *host,
|
|
bool has_scheme);
|
|
#endif
|
|
|
|
#endif /* HEADER_CURL_URLAPI_INT_H */
|