Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

CURLOPT_PATH_AS_IS (3)

Name

CURLOPT_PATH_AS_IS - do not handle dot dot sequences

Synopsis

#include <curl/curl.h>

CURLcode   curl_easy_setopt(CURL   *handle,   CURLOPT_PATH_AS_IS,  long
leaveit);

Description

CURLOPT_PATH_AS_IS(3)      curl_easy_setopt options      CURLOPT_PATH_AS_IS(3)



NAME
       CURLOPT_PATH_AS_IS - do not handle dot dot sequences

SYNOPSIS
       #include <curl/curl.h>

       CURLcode   curl_easy_setopt(CURL   *handle,   CURLOPT_PATH_AS_IS,  long
       leaveit);

DESCRIPTION
       Set the long leaveit to 1, to explicitly tell libcurl to not alter  the
       given path before passing it on to the server.

       This  instructs libcurl to NOT squash sequences of "/../" or "/./" that
       may exist in the URL's path part and that is  supposed  to  be  removed
       according to RFC 3986 section 5.2.4.

       Some  server implementations are known to (erroneously) require the dot
       dot sequences to remain in the path and some clients want to pass these
       on in order to try out server implementations.

       By default libcurl will merge such sequences before using the path.

DEFAULT
       0

PROTOCOLS
       All

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/../../etc/password");

         curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 1L);

         curl_easy_perform(curl);
       }

AVAILABILITY
       Added in 7.42.0

RETURN VALUE
       Returns  CURLE_OK  if the option is supported, and CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
SEE ALSO
       CURLOPT_STDERR(3), CURLOPT_DEBUGFUNCTION(3), CURLOPT_URL(3),



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was    downloaded    from     https://github.com/curl/curl/ar-
       chive/curl-7_64_0.zip

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.42.0                    17 Jun 2014            CURLOPT_PATH_AS_IS(3)