gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 08/09: Merge tag 'curl-7_58_0' of https://github.co


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 08/09: Merge tag 'curl-7_58_0' of https://github.com/curl/curl
Date: Sat, 27 Jan 2018 15:14:37 +0100

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 05c26bd0550a6a316d27549af5e29697142bcfd0
Merge: cc5f34a99 d6c21c8ee
Author: ng0 <address@hidden>
AuthorDate: Sat Jan 27 14:11:46 2018 +0000

    Merge tag 'curl-7_58_0' of https://github.com/curl/curl
    
    curl 7.58.0

 RELEASE-NOTES                           |  39 +++++-----
 docs/THANKS                             |  22 ++++++
 docs/libcurl/libgnurl-env.3             |   4 +-
 docs/libcurl/opts/GNURLOPT_HTTPHEADER.3 |  12 +++-
 lib/http.c                              |  10 ++-
 lib/setopt.c                            |   2 +-
 lib/url.c                               |   8 ++-
 lib/urldata.h                           |   2 +-
 src/tool_cb_prg.c                       | 123 +++++++++++++++++++++++++++-----
 src/tool_cb_prg.h                       |   5 +-
 tests/data/Makefile.inc                 |   4 +-
 tests/data/test1454                     |  38 ++++++++++
 tests/data/test317                      |  94 ++++++++++++++++++++++++
 tests/data/test318                      |  95 ++++++++++++++++++++++++
 tests/runtests.pl                       |   3 +-
 15 files changed, 414 insertions(+), 47 deletions(-)

diff --cc docs/libcurl/opts/GNURLOPT_HTTPHEADER.3
index 4687a7573,000000000..927432c04
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPHEADER.3
@@@ -1,110 -1,0 +1,120 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
- .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, 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.haxx.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.
 +.\" *
 +.\" **************************************************************************
 +.\"
 +.TH CURLOPT_HTTPHEADER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_HTTPHEADER \- set custom HTTP headers
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist 
*headers);
 +.SH DESCRIPTION
 +Pass a pointer to a linked list of HTTP headers to pass to the server and/or
 +proxy in your HTTP request. The same list can be used for both host and proxy
 +requests!
 +
 +The linked list should be a fully valid list of \fBstruct curl_slist\fP
 +structs properly filled in. Use \fIcurl_slist_append(3)\fP to create the list
 +and \fIcurl_slist_free_all(3)\fP to clean up an entire list. If you add a
 +header that is otherwise generated and used by libcurl internally, your added
 +one will be used instead. If you add a header with no content as in 'Accept:'
 +(no data on the right side of the colon), the internally used header will get
 +disabled. With this option you can add new headers, replace internal headers
 +and remove internal headers. To add a header with no content (nothing to the
 +right side of the colon), use the form 'MyHeader;' (note the ending
 +semicolon).
 +
 +The headers included in the linked list \fBmust not\fP be CRLF-terminated,
 +because libcurl adds CRLF after each header item. Failure to comply with this
 +will result in strange bugs because the server will most likely ignore part of
 +the headers you specified.
 +
 +The first line in a request (containing the method, usually a GET or POST) is
 +not a header and cannot be replaced using this option. Only the lines
 +following the request-line are headers. Adding this method line in this list
 +of headers will only cause your request to send an invalid header. Use
 +\fICURLOPT_CUSTOMREQUEST(3)\fP to change the method.
 +
 +When this option is passed to \fIcurl_easy_setopt(3)\fP, libcurl will not copy
 +the entire list so you \fBmust\fP keep it around until you no longer use this
 +\fIhandle\fP for a transfer before you call \fIcurl_slist_free_all(3)\fP on
 +the list.
 +
 +Pass a NULL to this option to reset back to no custom headers.
 +
 +The most commonly replaced headers have "shortcuts" in the options
 +\fICURLOPT_COOKIE(3)\fP, \fICURLOPT_USERAGENT(3)\fP and
 +\fICURLOPT_REFERER(3)\fP. We recommend using those.
 +
 +There's an alternative option that sets or replaces headers only for requests
 +that are sent with CONNECT to a proxy: \fICURLOPT_PROXYHEADER(3)\fP. Use
 +\fICURLOPT_HEADEROPT(3)\fP to control the behavior.
 +.SH SECURITY CONCERNS
 +By default, this option makes libcurl send the given headers in all HTTP
 +requests done by this handle. You should therefore use this option with
 +caution if you for example connect to the remote site using a proxy and a
 +CONNECT request, you should to consider if that proxy is supposed to also get
 +the headers. They may be private or otherwise sensitive to leak.
 +
 +Use \fICURLOPT_HEADEROPT(3)\fP to make the headers only get sent to where you
 +intend them to get sent.
++
++Custom headers are sent in all requests done by the easy handles, which
++implies that if you tell libcurl to follow redirects
++(\fICURLOPT_FOLLOWLOCATION(3)\fP), the same set of custom headers will be sent
++in the subsequent request. Redirects can of course go to other hosts and thus
++those servers will get all the contents of your custom headers too.
++
++Starting in 7.58.0, libcurl will specifically prevent "Authorization:" headers
++from being sent to other hosts than the first used one, unless specifically
++permitted with the \fICURLOPT_UNRESTRICTED_AUTH(3)\fP option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +HTTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +
 +struct curl_slist *list = NULL;
 +
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  list = curl_slist_append(list, "Shoesize: 10");
 +  list = curl_slist_append(list, "Accept:");
 +
 +  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
 +
 +  curl_easy_perform(curl);
 +
 +  curl_slist_free_all(list); /* free the list again */
 +}
 +.fi
 +
 +.SH AVAILABILITY
 +As long as HTTP is enabled
 +.SH RETURN VALUE
 +Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_CUSTOMREQUEST "(3), " CURLOPT_HEADEROPT "(3), "
 +.BR CURLOPT_PROXYHEADER "(3), " CURLOPT_HEADER "(3)"

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]