Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_UNRESTRICTED_AUTH (3)

Name

CURLOPT_UNRESTRICTED_AUTH - send credentials to other hosts too

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
long goahead);

Description

curl_easy_setopt options                          CURLOPT_UNRESTRICTED_AUTH(3)



NAME
       CURLOPT_UNRESTRICTED_AUTH - send credentials to other hosts too

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
                                 long goahead);

DESCRIPTION
       Set  the  long  gohead parameter to 1L to make libcurl continue to send
       authentication (user+password) credentials  when  following  locations,
       even when hostname changed. This option is meaningful only when setting
       CURLOPT_FOLLOWLOCATION(3).

       Further, when this option is not used or set to 0L,  libcurl  will  not
       send  custom  set  nor  internally generated Authentication: headers on
       requests done to other hosts than the one used for the initial URL.

       By default, libcurl will only send credentials and Authentication head-
       ers  to  the  initial  host name as given in the original URL, to avoid
       leaking username + password to other sites.

       This option should be used with caution: when curl follows redirects it
       blindly  fetches the next URL as instructed by the server. Setting CUR-
       LOPT_UNRESTRICTED_AUTH(3) to 1L will therefore also make curl trust the
       server  and  send  possibly  sensitive credentials to a host the server
       points out.

DEFAULT
       0

PROTOCOLS
       HTTP

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
         curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
         curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 1L);
         curl_easy_perform(curl);
       }

AVAILABILITY
       Along with HTTP

RETURN VALUE
       Returns CURLE_OK if HTTP 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_FOLLOWLOCATION(3), CURLOPT_USERPWD(3),



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source      was      downloaded       from        https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

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



libcurl 7.83.1                  April 19, 2022
                                                  CURLOPT_UNRESTRICTED_AUTH(3)