CURLOPT_PATH_AS_IS: added
--path-as-is is the command line option Added docs in curl.1 and CURLOPT_PATH_AS_IS.3 Added test in test 1241
This commit is contained in:
@@ -2613,6 +2613,9 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
|
||||
break;
|
||||
#endif
|
||||
|
||||
case CURLOPT_PATH_AS_IS:
|
||||
data->set.path_as_is = (0 != va_arg(param, long))?TRUE:FALSE;
|
||||
break;
|
||||
default:
|
||||
/* unknown tag and its companion, just ignore: */
|
||||
result = CURLE_UNKNOWN_OPTION;
|
||||
@@ -4036,7 +4039,7 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data,
|
||||
path[0] = '/';
|
||||
rebuild_url = TRUE;
|
||||
}
|
||||
else {
|
||||
else if(!data->set.path_as_is) {
|
||||
/* sanitise paths and remove ../ and ./ sequences according to RFC3986 */
|
||||
char *newp = Curl_dedotdotify(path);
|
||||
if(!newp)
|
||||
|
||||
@@ -1617,7 +1617,7 @@ struct UserDefined {
|
||||
|
||||
bool ssl_enable_npn; /* TLS NPN extension? */
|
||||
bool ssl_enable_alpn; /* TLS ALPN extension? */
|
||||
|
||||
bool path_as_is; /* allow dotdots? */
|
||||
long expect_100_timeout; /* in milliseconds */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user