curl: show ipfs and ipns as supported "protocols"
They are accepted schemes in URLs passed to curl (the tool, not the library). Also makes curl-config show the same list. Co-Authored-by: Jay Satiro Reported-by: Chara White Bug: https://curl.se/mail/archive-2023-12/0026.html Closes #12508
This commit is contained in:
parent
907eea0804
commit
102de7aa8d
@ -1565,6 +1565,8 @@ if(NOT CURL_DISABLE_INSTALL)
|
|||||||
# Clear list and try to detect available protocols
|
# Clear list and try to detect available protocols
|
||||||
set(_items)
|
set(_items)
|
||||||
_add_if("HTTP" NOT CURL_DISABLE_HTTP)
|
_add_if("HTTP" NOT CURL_DISABLE_HTTP)
|
||||||
|
_add_if("IPFS" NOT CURL_DISABLE_HTTP)
|
||||||
|
_add_if("IPNS" NOT CURL_DISABLE_HTTP)
|
||||||
_add_if("HTTPS" NOT CURL_DISABLE_HTTP AND SSL_ENABLED)
|
_add_if("HTTPS" NOT CURL_DISABLE_HTTP AND SSL_ENABLED)
|
||||||
_add_if("FTP" NOT CURL_DISABLE_FTP)
|
_add_if("FTP" NOT CURL_DISABLE_FTP)
|
||||||
_add_if("FTPS" NOT CURL_DISABLE_FTP AND SSL_ENABLED)
|
_add_if("FTPS" NOT CURL_DISABLE_FTP AND SSL_ENABLED)
|
||||||
|
|||||||
@ -4661,7 +4661,7 @@ AC_SUBST(SUPPORT_FEATURES)
|
|||||||
|
|
||||||
dnl For supported protocols in pkg-config file
|
dnl For supported protocols in pkg-config file
|
||||||
if test "x$CURL_DISABLE_HTTP" != "x1"; then
|
if test "x$CURL_DISABLE_HTTP" != "x1"; then
|
||||||
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP"
|
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP IPFS IPNS"
|
||||||
if test "x$SSL_ENABLED" = "x1"; then
|
if test "x$SSL_ENABLED" = "x1"; then
|
||||||
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
|
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -173,12 +173,30 @@ void tool_version_info(void)
|
|||||||
printf("Release-Date: %s\n", LIBCURL_TIMESTAMP);
|
printf("Release-Date: %s\n", LIBCURL_TIMESTAMP);
|
||||||
#endif
|
#endif
|
||||||
if(built_in_protos[0]) {
|
if(built_in_protos[0]) {
|
||||||
|
const char *insert = NULL;
|
||||||
|
/* we have ipfs and ipns support if libcurl has http support */
|
||||||
|
for(builtin = built_in_protos; *builtin; ++builtin) {
|
||||||
|
if(insert) {
|
||||||
|
/* update insertion so ipfs will be printed in alphabetical order */
|
||||||
|
if(strcmp(*builtin, "ipfs") < 0)
|
||||||
|
insert = *builtin;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if(!strcmp(*builtin, "http")) {
|
||||||
|
insert = *builtin;
|
||||||
|
}
|
||||||
|
}
|
||||||
printf("Protocols:");
|
printf("Protocols:");
|
||||||
for(builtin = built_in_protos; *builtin; ++builtin) {
|
for(builtin = built_in_protos; *builtin; ++builtin) {
|
||||||
/* Special case: do not list rtmp?* protocols.
|
/* Special case: do not list rtmp?* protocols.
|
||||||
They may only appear together with "rtmp" */
|
They may only appear together with "rtmp" */
|
||||||
if(!curl_strnequal(*builtin, "rtmp", 4) || !builtin[0][4])
|
if(!curl_strnequal(*builtin, "rtmp", 4) || !builtin[0][4])
|
||||||
printf(" %s", *builtin);
|
printf(" %s", *builtin);
|
||||||
|
if(insert && insert == *builtin) {
|
||||||
|
printf(" ipfs ipns");
|
||||||
|
insert = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
puts(""); /* newline */
|
puts(""); /* newline */
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user