ftp/curl: Update to 7.87.0

- Update WWW
- Disable CA_BUNDLE option by default

ca_root_nss is not needed since we have caroot in the base system.

Changes:	https://curl.se/changes.html
Security:	CVE-2022-43551, CVE-2022-43552
This commit is contained in:
Po-Chuan Hsieh 2022-12-30 16:40:01 +08:00
parent 953b34185b
commit c63a8f65af
No known key found for this signature in database
GPG Key ID: 9A4BD10F002DD04B
4 changed files with 128 additions and 135 deletions

View File

@ -1,165 +1,157 @@
PORTNAME= curl
DISTVERSION= 7.86.0
PORTVERSION= 7.87.0
CATEGORIES= ftp net www
MASTER_SITES= https://curl.se/download/ \
https://github.com/curl/curl/releases/download/curl-${PORTVERSION:S|.|_|g}/
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Command line tool and library for transferring data with URLs
WWW= https://curl.se/
WWW= https://curl.se/ \
https://github.com/curl/curl
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
USES= cpe libtool localbase pathfix perl5 shebangfix tar:xz
CPE_VENDOR= haxx
USE_LDCONFIG= yes
USE_PERL5= build
CONFIGURE_ARGS= --disable-werror \
--enable-headers-api \
--with-fish-functions-dir=${LOCALBASE}/share/fish/completions \
--with-zsh-functions-dir=${LOCALBASE}/share/zsh/site-functions
CONFIGURE_ENV= LOCALBASE=${LOCALBASE} \
ac_cv_func_SSLv2_client_method=no
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
TEST_TARGET= test
USE_LDCONFIG= yes
CPE_VENDOR= haxx
SHEBANG_FILES= */*.pl
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-werror \
--with-fish-functions-dir=${LOCALBASE}/share/fish/completions \
--with-zsh-functions-dir=${LOCALBASE}/share/zsh/site-functions
CONFIGURE_ENV= ac_cv_func_SSLv2_client_method=no \
LOCALBASE=${LOCALBASE}
INSTALL_TARGET= install-strip
TEST_TARGET= test
OPTIONS_DEFINE= ALTSVC BROTLI CA_BUNDLE COOKIES CURL_DEBUG DEBUG DOCS \
EXAMPLES IDN IPV6 NTLM PROXY PSL STATIC TLS_SRP ZSTD
OPTIONS_DEFAULT= ALTSVC CA_BUNDLE COOKIES DICT FTP GOPHER \
GSSAPI_${${SSL_DEFAULT} == base :?BASE :NONE} HTTP \
HTTP2 IMAP LIBSSH2 NTLM OPENSSL POP3 PROXY PSL RTSP \
SMTP STATIC TELNET TFTP THREADED_RESOLVER TLS_SRP
OPTIONS_GROUP= PROTOCOL
OPTIONS_GROUP_PROTOCOL= DICT FTP GOPHER HTTP HTTP2 IMAP LDAP LDAPS LIBSSH2 MQTT \
POP3 RTMP RTSP SMB SMTP TELNET TFTP
OPTIONS_RADIO= SSL
OPTIONS_DEFINE= ALTSVC BROTLI CA_BUNDLE COOKIES CURL_DEBUG DEBUG DOCS EXAMPLES IDN IPV6 NTLM PROXY PSL STATIC TLS_SRP ZSTD
OPTIONS_GROUP= PROTOCOL
OPTIONS_RADIO= SSL
OPTIONS_SINGLE= GSSAPI RESOLV
OPTIONS_GROUP_PROTOCOL= DICT FTP GOPHER HTTP HTTP2 IMAP LDAP LDAPS LIBSSH2 MQTT POP3 RTMP RTSP SMB SMTP TELNET TFTP
OPTIONS_RADIO_SSL= GNUTLS OPENSSL WOLFSSL
OPTIONS_SINGLE= GSSAPI RESOLV
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_SINGLE_RESOLV= CARES THREADED_RESOLVER
OPTIONS_SUB= yes
ALTSVC_DESC= HTTP Alternative Services support
CA_BUNDLE_DESC= Enable CA bundle for OpenSSL/GnuTLS
COOKIES_DESC= Cookies support
CURL_DEBUG_DESC= cURL debug memory tracking
DICT_DESC= DICT (RFC 2229) support
HTTP2_DESC= HTTP/2 support (requires HTTP)
HTTP_DESC= HTTP/HTTPS support
IMAP_DESC= IMAP/IMAPS support
LIBSSH2_DESC= SCP/SFTP support via libssh2 (requires OPENSSL)
MQTT_DESC= MQTT support
POP3_DESC= POP3/POP3S support
RESOLV_DESC= DNS resolving options
SMB_DESC= SMB/CIFS support
SMTP_DESC= SMTP/SMTPS support
OPTIONS_DEFAULT=ALTSVC COOKIES GSSAPI_${${SSL_DEFAULT} == base :?BASE :NONE} DICT FTP GOPHER HTTP HTTP2 IMAP LIBSSH2 NTLM OPENSSL POP3 PROXY PSL RTSP SMTP STATIC TELNET TFTP THREADED_RESOLVER TLS_SRP
OPTIONS_SUB= yes
ALTSVC_DESC= HTTP Alternative Services support
CA_BUNDLE_DESC= Enable CA bundle for OpenSSL/GnuTLS
COOKIES_DESC= Cookies support
CURL_DEBUG_DESC=cURL debug memory tracking
DICT_DESC= DICT (RFC 2229) support
HTTP_DESC= HTTP/HTTPS support
HTTP2_DESC= HTTP/2 support (requires HTTP)
HTTP2_IMPLIES= HTTP
IMAP_DESC= IMAP/IMAPS support
LDAPS_IMPLIES= LDAP
LIBSSH2_DESC= SCP/SFTP support via libssh2 (requires OPENSSL)
LIBSSH2_IMPLIES=OPENSSL
MQTT_DESC= MQTT support
POP3_DESC= POP3/POP3S support
PROXY_IMPLIES= HTTP
RESOLV_DESC= DNS resolving options
RTSP_IMPLIES= HTTP
SMB_DESC= SMB/CIFS support
SMTP_DESC= SMTP/SMTPS support
THREADED_RESOLVER_DESC= Threaded DNS resolver
TLS_SRP_DESC= TLS-SRP (Secure Remote Password) support
TLS_SRP_DESC= TLS-SRP (Secure Remote Password) support
ALTSVC_CONFIGURE_ENABLE= alt-svc
BROTLI_LIB_DEPENDS= libbrotlidec.so:archivers/brotli
BROTLI_CONFIGURE_WITH= brotli
CARES_LIB_DEPENDS= libcares.so:dns/c-ares
CARES_USES= pkgconfig
CARES_CONFIGURE_ENABLE= ares
CA_BUNDLE_RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
CA_BUNDLE_CONFIGURE_WITH= ca-bundle=${LOCALBASE}/share/certs/ca-root-nss.crt
COOKIES_CONFIGURE_ENABLE= cookies
CURL_DEBUG_CONFIGURE_ENABLE= curldebug
DEBUG_CONFIGURE_ENABLE= debug
DICT_CONFIGURE_ENABLE= dict
FTP_CONFIGURE_ENABLE= ftp
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls \
libnettle.so:security/nettle
GNUTLS_CONFIGURE_WITH= gnutls
GOPHER_CONFIGURE_ENABLE= gopher
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= ${GSSAPI_CONFIGURE_ARGS} \
--with-gssapi=${GSSAPIBASEDIR}
GSSAPI_BASE_CPPFLAGS= ${GSSAPICPPFLAGS}
GSSAPI_BASE_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_BASE_LIBS= ${GSSAPILIBS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON= ${GSSAPI_CONFIGURE_ARGS} \
--with-gssapi=${GSSAPIBASEDIR}
GSSAPI_HEIMDAL_CPPFLAGS= ${GSSAPICPPFLAGS}
GSSAPI_HEIMDAL_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_HEIMDAL_LIBS= ${GSSAPILIBS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_MIT_CONFIGURE_ON= ${GSSAPI_CONFIGURE_ARGS} \
--with-gssapi=${GSSAPIBASEDIR}
GSSAPI_MIT_CPPFLAGS= ${GSSAPICPPFLAGS}
GSSAPI_MIT_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_MIT_LIBS= ${GSSAPILIBS}
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
HTTP2_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
HTTP2_USES= pkgconfig
HTTP2_CONFIGURE_WITH= nghttp2
HTTP_CONFIGURE_ENABLE= http
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
IDN_CONFIGURE_WITH= libidn2
IMAP_CONFIGURE_ENABLE= imap
IPV6_CONFIGURE_ENABLE= ipv6
LDAPS_IMPLIES= LDAP
LDAPS_CONFIGURE_ENABLE= ldaps
LDAP_USE= OPENLDAP=yes
LDAP_CONFIGURE_ENABLE= ldap
LIBSSH2_IMPLIES= OPENSSL
LIBSSH2_LIB_DEPENDS= libssh2.so:security/libssh2
LIBSSH2_CONFIGURE_WITH= libssh2
MQTT_CONFIGURE_ENABLE= mqtt
NTLM_CONFIGURE_ENABLE= ntlm
OPENSSL_USES= ssl
OPENSSL_CONFIGURE_WITH= openssl=${OPENSSLBASE}
OPENSSL_CPPFLAGS= -I${OPENSSLINC}
OPENSSL_LDFLAGS= -L${OPENSSLLIB}
POP3_CONFIGURE_ENABLE= pop3
PROXY_IMPLIES= HTTP
PROXY_CONFIGURE_ENABLE= proxy
PSL_LIB_DEPENDS= libpsl.so:dns/libpsl
PSL_CONFIGURE_WITH= libpsl
RTMP_LIB_DEPENDS= librtmp.so:multimedia/librtmp
RTMP_USES= pkgconfig
RTMP_CONFIGURE_WITH= librtmp
RTSP_IMPLIES= HTTP
RTSP_CONFIGURE_ENABLE= rtsp
SMB_CONFIGURE_ENABLE= smb
SMTP_CONFIGURE_ENABLE= smtp
STATIC_CONFIGURE_ENABLE= static
TELNET_CONFIGURE_ENABLE= telnet
TFTP_CONFIGURE_ENABLE= tftp
ALTSVC_CONFIGURE_ENABLE=alt-svc
BROTLI_CONFIGURE_WITH= brotli
BROTLI_LIB_DEPENDS= libbrotlidec.so:archivers/brotli
CA_BUNDLE_CONFIGURE_WITH= ca-bundle=${LOCALBASE}/share/certs/ca-root-nss.crt
CA_BUNDLE_RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
CARES_CONFIGURE_ENABLE= ares
CARES_LIB_DEPENDS= libcares.so:dns/c-ares
CARES_USES= pkgconfig
COOKIES_CONFIGURE_ENABLE= cookies
CURL_DEBUG_CONFIGURE_ENABLE= curldebug
DEBUG_CONFIGURE_ENABLE= debug
DICT_CONFIGURE_ENABLE= dict
FTP_CONFIGURE_ENABLE= ftp
GNUTLS_CONFIGURE_WITH= gnutls
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls \
libnettle.so:security/nettle
GOPHER_CONFIGURE_ENABLE=gopher
GSSAPI_BASE_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_BASE_CPPFLAGS= ${GSSAPICPPFLAGS}
GSSAPI_BASE_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_BASE_LIBS= ${GSSAPILIBS}
GSSAPI_BASE_USES= gssapi
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_HEIMDAL_CPPFLAGS=${GSSAPICPPFLAGS}
GSSAPI_HEIMDAL_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_HEIMDAL_LIBS= ${GSSAPILIBS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_MIT_CONFIGURE_ON=--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_MIT_CPPFLAGS= ${GSSAPICPPFLAGS}
GSSAPI_MIT_LDFLAGS= ${GSSAPILDFLAGS}
GSSAPI_MIT_LIBS= ${GSSAPILIBS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
HTTP_CONFIGURE_ENABLE= http
HTTP2_CONFIGURE_WITH= nghttp2
HTTP2_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
HTTP2_USES= pkgconfig
IDN_CONFIGURE_WITH= libidn2
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
IMAP_CONFIGURE_ENABLE= imap
IPV6_CONFIGURE_ENABLE= ipv6
LDAP_CONFIGURE_ENABLE= ldap
LDAP_USE= OPENLDAP=yes
LDAPS_CONFIGURE_ENABLE= ldaps
LIBSSH2_CONFIGURE_WITH= libssh2
LIBSSH2_LIB_DEPENDS= libssh2.so:security/libssh2
MQTT_CONFIGURE_ENABLE= mqtt
NTLM_CONFIGURE_ENABLE= ntlm
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_CPPFLAGS= -I${OPENSSLINC}
OPENSSL_LDFLAGS= -L${OPENSSLLIB}
OPENSSL_USES= ssl
POP3_CONFIGURE_ENABLE= pop3
PROXY_CONFIGURE_ENABLE= proxy
PSL_CONFIGURE_WITH= libpsl
PSL_LIB_DEPENDS= libpsl.so:dns/libpsl
RTMP_CONFIGURE_WITH= librtmp
RTMP_LIB_DEPENDS= librtmp.so:multimedia/librtmp
RTMP_USES= pkgconfig
RTSP_CONFIGURE_ENABLE= rtsp
SMB_CONFIGURE_ENABLE= smb
SMTP_CONFIGURE_ENABLE= smtp
STATIC_CONFIGURE_ENABLE=static
TELNET_CONFIGURE_ENABLE=telnet
TFTP_CONFIGURE_ENABLE= tftp
THREADED_RESOLVER_CONFIGURE_ENABLE= pthreads threaded-resolver
TLS_SRP_CONFIGURE_ENABLE= tls-srp
WOLFSSL_LIB_DEPENDS= libwolfssl.so:security/wolfssl
WOLFSSL_CONFIGURE_WITH= wolfssl
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
ZSTD_CONFIGURE_WITH= zstd
TLS_SRP_CONFIGURE_ENABLE= tls-srp
WOLFSSL_CONFIGURE_WITH= wolfssl
WOLFSSL_LIB_DEPENDS= libwolfssl.so:security/wolfssl
ZSTD_CONFIGURE_WITH= zstd
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
.include <bsd.port.pre.mk>
.if !${PORT_OPTIONS:MCA_BUNDLE} && (${PORT_OPTIONS:MGNUTLS} || \
${PORT_OPTIONS:MOPENSSL})
CONFIGURE_ARGS+= --with-ca-fallback
.if !${PORT_OPTIONS:MCA_BUNDLE} && (${PORT_OPTIONS:MGNUTLS} || ${PORT_OPTIONS:MOPENSSL})
CONFIGURE_ARGS+=--with-ca-fallback
.endif
.if ((!${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MOPENSSL}) || \
(${PORT_OPTIONS:MOPENSSL} && ${SSL_DEFAULT:Mlibressl*})) && \
${PORT_OPTIONS:MTLS_SRP}
.if ((!${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MOPENSSL}) || (${PORT_OPTIONS:MOPENSSL} && ${SSL_DEFAULT:Mlibressl*})) && ${PORT_OPTIONS:MTLS_SRP}
IGNORE= only supports TLS-SRP with either OpenSSL or GnuTLS
.endif
.if ${PORT_OPTIONS:MLDAPS} && !${PORT_OPTIONS:MGNUTLS} && \
!${PORT_OPTIONS:MOPENSSL} && !${PORT_OPTIONS:MWOLFSSL}
.if ${PORT_OPTIONS:MLDAPS} && !${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MOPENSSL} && !${PORT_OPTIONS:MWOLFSSL}
IGNORE= only supports LDAPS with SSL
.endif
.if ${PORT_OPTIONS:MGSSAPI_BASE} && exists(${LOCALBASE}/lib/libkrb5support.so)
BROKEN= the GSSAPI_BASE option is selected, but you have krb5 installed. This is incompatible. In order to build, either select GSSAPI_MIT, or temporarily deinstall krb5 to build curl, or build in poudriere
BROKEN= The GSSAPI_BASE option is selected, but you have krb5 installed. \
This is incompatible. In order to build, either select GSSAPI_MIT, \
or temporarily deinstall krb5 to build curl, or build in poudriere
.endif
post-patch:
@ -177,6 +169,6 @@ post-install-DOCS-on:
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
cd ${WRKSRC}/docs/examples/ && ${INSTALL_DATA} README.md Makefile.example makefile* *.c *.cpp ${STAGEDIR}${EXAMPLESDIR}/
cd ${WRKSRC}/docs/examples/ && ${INSTALL_DATA} Makefile.example Makefile.mk README.md *.c *.cpp ${STAGEDIR}${EXAMPLESDIR}/
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1668528014
SHA256 (curl-7.86.0.tar.xz) = 2d61116e5f485581f6d59865377df4463f2e788677ac43222b496d4e49fb627b
SIZE (curl-7.86.0.tar.xz) = 2518356
TIMESTAMP = 1671874820
SHA256 (curl-7.87.0.tar.xz) = ee5f1a1955b0ed413435ef79db28b834ea5f0fb7c8cfb1ce47175cc3bee08fff
SIZE (curl-7.87.0.tar.xz) = 2547932

View File

@ -9,5 +9,3 @@ TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, HTTP/2, cookies, user+password authentication
(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer
resume, proxy tunneling and more.
See also: https://github.com/curl/curl

View File

@ -117,6 +117,7 @@ man/man3/CURLOPT_BUFFERSIZE.3.gz
man/man3/CURLOPT_CAINFO.3.gz
man/man3/CURLOPT_CAINFO_BLOB.3.gz
man/man3/CURLOPT_CAPATH.3.gz
man/man3/CURLOPT_CA_CACHE_TIMEOUT.3.gz
man/man3/CURLOPT_CERTINFO.3.gz
man/man3/CURLOPT_CHUNK_BGN_FUNCTION.3.gz
man/man3/CURLOPT_CHUNK_DATA.3.gz
@ -510,10 +511,12 @@ share/aclocal/libcurl.m4
%%PORTDOCS%%%%DOCSDIR%%/CODE_OF_CONDUCT.md
%%PORTDOCS%%%%DOCSDIR%%/CODE_REVIEW.md
%%PORTDOCS%%%%DOCSDIR%%/CODE_STYLE.md
%%PORTDOCS%%%%DOCSDIR%%/CONNECTION-FILTERS.md
%%PORTDOCS%%%%DOCSDIR%%/CONTRIBUTE.md
%%PORTDOCS%%%%DOCSDIR%%/CURL-DISABLE.md
%%PORTDOCS%%%%DOCSDIR%%/DEPRECATE.md
%%PORTDOCS%%%%DOCSDIR%%/DYNBUF.md
%%PORTDOCS%%%%DOCSDIR%%/EARLY-RELEASE.md
%%PORTDOCS%%%%DOCSDIR%%/EXPERIMENTAL.md
%%PORTDOCS%%%%DOCSDIR%%/FAQ
%%PORTDOCS%%%%DOCSDIR%%/FEATURES.md
@ -554,6 +557,7 @@ share/aclocal/libcurl.m4
%%PORTDOCS%%%%DOCSDIR%%/options-in-versions
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/10-at-a-time.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile.example
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile.mk
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.md
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/altsvc.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/anyauthput.c
@ -612,7 +616,6 @@ share/aclocal/libcurl.m4
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/imap-ssl.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/imap-store.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/imap-tls.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/makefile.dj
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multi-app.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multi-debugcallback.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multi-double.c