Unverified Commit 2d0e9b40 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

urlapi: add CURLUPART_ZONEID to set and get

The zoneid can be used with IPv6 numerical addresses.

Updated test 1560 to verify.

Closes #3834
parent 0eec8326
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@
 1.16 Try to URL encode given URL
 1.17 Add support for IRIs
 1.18 try next proxy if one doesn't work
 1.19 add CURLUPART_SCOPEID
 1.20 SRV and URI DNS records
 1.21 Have the URL API offer IDN decoding
 1.22 CURLINFO_PAUSE_STATE
@@ -373,11 +372,6 @@

 https://github.com/curl/curl/issues/896

1.19 add CURLUPART_SCOPEID

 Add support for CURLUPART_SCOPEID to curl_url_set() and curl_url_get(). It is
 only really used when the host name is an IPv6 numerical address.

1.20 SRV and URI DNS records

 Offer support for resolving SRV and URI DNS records for libcurl to know which
+6 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
.\" *                            | (__| |_| |  _ <| |___
.\" *                             \___|\___/|_| \_\_____|
.\" *
.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" * Copyright (C) 1998 - 2019, 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
@@ -76,6 +76,10 @@ Scheme cannot be URL decoded on get.
.IP CURLUPART_PASSWORD
.IP CURLUPART_OPTIONS
.IP CURLUPART_HOST
If the host part is an IPv6 numeric address, the zoneid will not be part of
the extracted host but is provided separately in \fICURLUPART_ZONEID\fP.
.IP CURLUPART_ZONEID
If the host name is a numeric IPv6 address, this field might also be set.
.IP CURLUPART_PORT
Port cannot be URL decoded on get.
.IP CURLUPART_PATH
@@ -104,7 +108,7 @@ If this function returns an error, no URL part is returned.
  }
.fi
.SH AVAILABILITY
Added in curl 7.62.0
Added in curl 7.62.0. CURLUPART_ZONEID was added in 7.65.0.
.SH "SEE ALSO"
.BR curl_url_cleanup "(3), " curl_url "(3), " curl_url_set "(3), "
.BR curl_url_dup "(3), "
+3 −1
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ Scheme cannot be URL decoded on set.
.IP CURLUPART_HOST
The host name can use IDNA. The string must then be encoded as your locale
says or UTF-8 (when winidn is used).
.IP CURLUPART_ZONEID
If the host name is a numeric IPv6 address, this field can also be set.
.IP CURLUPART_PORT
Port cannot be URL encoded on set. The given port number is provided as a
string and the decimal number must be between 1 and 65535. Anything else will
@@ -127,7 +129,7 @@ If this function returns an error, no URL part is returned.
  curl_url_cleanup(url);
.fi
.SH AVAILABILITY
Added in curl 7.62.0
Added in curl 7.62.0. CURLUPART_ZONEID was added in 7.65.0.
.SH "SEE ALSO"
.BR curl_url_cleanup "(3), " curl_url "(3), " curl_url_get "(3), "
.BR curl_url_dup "(3), "
+1 −0
Original line number Diff line number Diff line
@@ -764,6 +764,7 @@ CURLUPART_QUERY 7.62.0
CURLUPART_SCHEME                7.62.0
CURLUPART_URL                   7.62.0
CURLUPART_USER                  7.62.0
CURLUPART_ZONEID                7.65.0
CURLUSESSL_ALL                  7.17.0
CURLUSESSL_CONTROL              7.17.0
CURLUSESSL_NONE                 7.17.0
+2 −1
Original line number Diff line number Diff line
@@ -60,7 +60,8 @@ typedef enum {
  CURLUPART_PORT,
  CURLUPART_PATH,
  CURLUPART_QUERY,
  CURLUPART_FRAGMENT
  CURLUPART_FRAGMENT,
  CURLUPART_ZONEID /* added in 7.65.0 */
} CURLUPart;

#define CURLU_DEFAULT_PORT (1<<0)       /* return default port number */
Loading