summaryrefslogtreecommitdiff
path: root/package/network
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-02-02 09:02:24 +0000
committerJohn Crispin <john@openwrt.org>2015-02-02 09:02:24 +0000
commit83693349fc5a68c944ed0c7e6f2ba14cee0e82d8 (patch)
tree934e90837fe7911436b03c4f160ddf42def5f46c /package/network
parent043f462be49fbf8cbe7f6752df0ba9889c732ef2 (diff)
downloadmtk-20170518-83693349fc5a68c944ed0c7e6f2ba14cee0e82d8.zip
mtk-20170518-83693349fc5a68c944ed0c7e6f2ba14cee0e82d8.tar.gz
mtk-20170518-83693349fc5a68c944ed0c7e6f2ba14cee0e82d8.tar.bz2
cURL: implement new functionality with cleanup and fixes
remove obsolete configuration settings --disable-thread --enable-nonblocking --without-krb4 remove SSPI support only supported on windows correct --with/without-ca-path handling only supported with OpenSSL and PolarSSL correct LDAP/LDAPS protocol add dependency libopenldap added SCP/SFTP protocol default "No" depends on libssh2 added IDN support default "No" depends on libidn added SMB protocol (new in 7.40) default "No" require 'cryptographic authentication' and either 'GnuTLS' or 'OpenSSL' selected added Unix sockets support (new in 7.40) default "No" added error verbose messages default "No" changes to Makefile Increase PKG_RELEASE PKG_CONFIG_DEPENDS and CONFIGURE_ARGS extended for new functionality use "autoconf_bool" for all --enable/--disable options restructure for easier reading changes to Config.in extended for new functionality implement dependencies restructure and grouping for easier reading build tested on XUbuntu 14.10 x86 for x86 (generic) and ar71xx (WNDR3800) Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com> SVN-Revision: 44243
Diffstat (limited to 'package/network')
-rw-r--r--package/network/utils/curl/Config.in137
-rw-r--r--package/network/utils/curl/Makefile114
2 files changed, 155 insertions, 96 deletions
diff --git a/package/network/utils/curl/Config.in b/package/network/utils/curl/Config.in
index 87e5f99..11cfa39 100644
--- a/package/network/utils/curl/Config.in
+++ b/package/network/utils/curl/Config.in
@@ -1,111 +1,154 @@
if PACKAGE_libcurl
+comment "SSL support"
+
choice
- prompt "SSL library"
+ prompt "Selected SSL library"
default LIBCURL_POLARSSL
-config LIBCURL_POLARSSL
- bool "PolarSSL"
+ config LIBCURL_POLARSSL
+ bool "PolarSSL"
-config LIBCURL_CYASSL
- bool "CyaSSL"
+ config LIBCURL_CYASSL
+ bool "CyaSSL"
-config LIBCURL_AXTLS
- bool "axTLS"
+ config LIBCURL_AXTLS
+ bool "axTLS"
-config LIBCURL_OPENSSL
- bool "OpenSSL"
+ config LIBCURL_OPENSSL
+ bool "OpenSSL"
-config LIBCURL_GNUTLS
- bool "GNUTLS"
+ config LIBCURL_GNUTLS
+ bool "GNUTLS"
-config LIBCURL_NOSSL
- bool "No SSL support"
+ config LIBCURL_NOSSL
+ bool "No SSL support"
endchoice
-config LIBCURL_COOKIES
- bool "Enable cookies support"
- default y
-
-config LIBCURL_CRYPTO_AUTH
- bool "Enable cryptographic authentication"
- default n
+comment "Supported protocols"
config LIBCURL_DICT
- bool "Enable DICT support"
+ bool "DICT protocol"
default n
config LIBCURL_FILE
- bool "Enable FILE support"
+ bool "FILE protocol"
default y
config LIBCURL_FTP
- bool "Enable FTP support"
+ bool "FTP / FTPS protocol"
default y
config LIBCURL_GOPHER
- bool "Enable Gopher support"
+ bool "Gopher protocol"
default n
config LIBCURL_HTTP
- bool "Enable HTTP support"
+ bool "HTTP / HTTPS protocol"
+ default y
+
+config LIBCURL_COOKIES
+ bool "Enable Cookies support"
+ depends on LIBCURL_HTTP
default y
config LIBCURL_IMAP
- bool "Enable IMAP support"
+ bool "IMAP / IMAPS protocol"
default n
config LIBCURL_LDAP
- bool "Enable LDAP support"
+ bool "LDAP protocol"
default n
config LIBCURL_LDAPS
bool "Enable LDAPS support"
+ depends on LIBCURL_LDAP && !LIBCURL_NOSSL
+ default y
+
+config LIBCURL_POP3
+ bool "POP3 / POP3S protocol"
default n
-config LIBCURL_LIBCURL_OPTION
- bool "Enable --libcurl C code generation support"
+config LIBCURL_RTSP
+ bool "RTSP protocol"
+ depends on LIBCURL_HTTP
default n
+config LIBCURL_NO_RTSP
+ string "RTSP require HTTP protocol"
+ depends on !LIBCURL_HTTP
+ default "!"
-config LIBCURL_POP3
- bool "Enable POP3 support"
+config LIBCURL_SSH2
+ bool "SCP / SFTP protocol"
+ default n
+
+config LIBCURL_SMB
+ bool "SMB protocol (CIFS)"
+ depends on LIBCURL_CRYPTO_AUTH && (LIBCURL_GNUTLS || LIBCURL_OPENSSL)
+ default n
+config LIBCURL_NO_SMB
+ string "SMB require 'cryptographic authentication' and either 'GnuTLS' or 'OpenSSL'"
+ depends on !LIBCURL_CRYPTO_AUTH || (!LIBCURL_GNUTLS && !LIBCURL_OPENSSL)
+ default "!"
+
+config LIBCURL_SMTP
+ bool "SMTP / SMTPS protocol"
default n
+config LIBCURL_TELNET
+ bool "TELNET protocol"
+ default n
+
+config LIBCURL_TFTP
+ bool "TFTP protocol"
+ default n
+
+comment "Miscellaneous"
+
config LIBCURL_PROXY
bool "Enable proxy support"
default y
-config LIBCURL_RTSP
- bool "Enable RTSP support"
+config LIBCURL_CRYPTO_AUTH
+ bool "Enable cryptographic authentication"
default n
-config LIBCURL_SMTP
- bool "Enable SMTP support"
+config LIBCURL_TLS_SRP
+ bool "Enable TLS-SRP authentication"
default n
-config LIBCURL_SSPI
- bool "Enable SSPI"
+config LIBCURL_LIBIDN
+ bool "Enable IDN support"
default n
-config LIBCURL_TELNET
- bool "Enable TELNET support"
+config LIBCURL_THREADED_RESOLVER
+ bool "Enable threaded DNS resolver"
default n
+ help
+ Enable POSIX threaded asynchronous DNS resolution
-config LIBCURL_TFTP
- bool "Enable TFTP support"
+config LIBCURL_ZLIB
+ bool "Enable zlib support"
default n
-config LIBCURL_THREADED_RESOLVER
- bool "Enable threaded resolver"
+config LIBCURL_UNIX_SOCKETS
+ bool "Enable unix domain socket support"
default n
+ help
+ Enable HTTP over unix domain sockets.
+ To use this with the curl command line, you specify the socket path to the new --unix-domain option.
+ This feature is actually not limited to HTTP, you can do all the TCP-based protocols
+ except FTP over the unix domain socket, but it is only HTTP that is regularly used this way.
+ The reason FTP isn't supported is of course its use of two connections
+ which would be even weirder to do like this.
-config LIBCURL_TLS-SRP
- bool "Enable TLS-SRP authentication"
+config LIBCURL_LIBCURL_OPTION
+ bool "Enable generation of C code"
default n
-config LIBCURL_ZLIB
- bool "Use zlib"
+config LIBCURL_VERBOSE
+ bool "Enable verbose error strings"
default n
endif
diff --git a/package/network/utils/curl/Makefile b/package/network/utils/curl/Makefile
index 7274e2c..6da3a66 100644
--- a/package/network/utils/curl/Makefile
+++ b/package/network/utils/curl/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=curl
PKG_VERSION:=7.40.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://curl.haxx.se/download/ \
@@ -26,34 +26,45 @@ PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
-PKG_CONFIG_DEPENDS := \
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_IPV6 \
+ \
LIBCURL_AXTLS \
- LIBCURL_COOKIES \
- LIBCURL_CRYPTO_AUTH \
LIBCURL_CYASSL \
+ LIBCURL_GNUTLS \
+ LIBCURL_OPENSSL \
+ LIBCURL_POLARSSL \
+ LIBCURL_NOSSL \
+ \
+ LIBCURL_LIBIDN \
+ LIBCURL_SSH2 \
+ LIBCURL_ZLIB \
+ \
LIBCURL_DICT \
LIBCURL_FILE \
LIBCURL_FTP \
- LIBCURL_GNUTLS \
LIBCURL_GOPHER \
LIBCURL_HTTP \
LIBCURL_IMAP \
LIBCURL_LDAP \
LIBCURL_LDAPS \
- LIBCURL_LIBCURL_OPTION \
- LIBCURL_NOSSL \
- LIBCURL_OPENSSL \
- LIBCURL_POLARSSL \
LIBCURL_POP3 \
- LIBCURL_PROXY \
LIBCURL_RTSP \
+ LIBCURL_NO_RTSP \
+ LIBCURL_SMB \
+ LIBCURL_NO_SMB \
LIBCURL_SMTP \
- LIBCURL_SSPI \
LIBCURL_TELNET \
LIBCURL_TFTP \
+ \
+ LIBCURL_COOKIES \
+ LIBCURL_CRYPTO_AUTH \
+ LIBCURL_LIBCURL_OPTION \
+ LIBCURL_PROXY \
LIBCURL_THREADED_RESOLVER \
- LIBCURL_TLS-SRP \
- LIBCURL_ZLIB
+ LIBCURL_TLS_SRP \
+ LIBCURL_UNIX_SOCKETS \
+ LIBCURL_VERBOSE \
include $(INCLUDE_DIR)/package.mk
@@ -75,8 +86,9 @@ define Package/libcurl
$(call Package/curl/Default)
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+LIBCURL_POLARSSL:libpolarssl +LIBCURL_CYASSL:libcyassl +LIBCURL_AXTLS:libaxtls +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls +LIBCURL_ZLIB:zlib +LIBCURL_THREADED_RESOLVER:libpthread
- TITLE:=A client-side URL transfer library using $(if $(CONFIG_LIBCURL_POLARSSL),PolarSSL)$(if $(CONFIG_LIBCURL_OPENSSL),OpenSSL)$(if $(CONFIG_LIBCURL_GNUTLS),GNUTLS)$(if $(CONFIG_LIBCURL_NOSSL),no SSL)
+ DEPENDS:=+LIBCURL_POLARSSL:libpolarssl +LIBCURL_CYASSL:libcyassl +LIBCURL_AXTLS:libaxtls +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls
+ DEPENDS += +LIBCURL_ZLIB:zlib +LIBCURL_THREADED_RESOLVER:libpthread +LIBCURL_LDAP:libopenldap +LIBCURL_LIBIDN:libidn +LIBCURL_SSH2:libssh2
+ TITLE:=A client-side URL transfer library
MENU:=1
endef
@@ -88,47 +100,51 @@ endef
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
+ --disable-debug \
+ --disable-ares \
--enable-shared \
--enable-static \
- --disable-thread \
- --enable-nonblocking \
- --disable-ares \
- --disable-debug \
--disable-manual \
- --disable-verbose \
--without-ca-bundle \
- $(if $(CONFIG_LIBCURL_NOSSL),,--with-ca-path=/etc/ssl/certs/) \
- --without-krb4 \
- --without-libidn \
--without-nss \
- --without-libssh2 \
+ --without-libmetalink \
+ --without-librtmp \
+ \
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
- $(if $(CONFIG_LIBCURL_AXTLS),--with-axtls="$(STAGING_DIR)/usr",--without-axtls) \
- $(if $(CONFIG_LIBCURL_COOKIES),--enable,--disable)-cookies \
- $(if $(CONFIG_LIBCURL_CRYPTO_AUTH),--enable,--disable)-crypto-auth \
- $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr",--without-cyassl) \
- $(if $(CONFIG_LIBCURL_DICT),--enable,--disable)-dict \
- $(if $(CONFIG_LIBCURL_FILE),--enable,--disable)-file \
- $(if $(CONFIG_LIBCURL_FTP),--enable,--disable)-ftp \
- $(if $(CONFIG_LIBCURL_GOPHER),--enable,--disable)-gopher \
- $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr",--without-gnutls) \
- $(if $(CONFIG_LIBCURL_HTTP),--enable,--disable)-http \
- $(if $(CONFIG_LIBCURL_IMAP),--enable,--disable)-imap \
- $(if $(CONFIG_LIBCURL_LDAP),--enable,--disable)-ldap \
- $(if $(CONFIG_LIBCURL_LDAPS),--enable,--disable)-ldaps \
- $(if $(CONFIG_LIBCURL_LIBCURL_OPTION),--enable,--disable)-libcurl-option \
- $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr",--without-ssl) \
- $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr",--without-polarssl) \
- $(if $(CONFIG_LIBCURL_POP3),--enable,--disable)-pop3 \
- $(if $(CONFIG_LIBCURL_PROXY),--enable,--disable)-proxy \
- $(if $(CONFIG_LIBCURL_RTSP),--enable,--disable)-rtsp \
- $(if $(CONFIG_LIBCURL_TELNET),--enable,--disable)-telnet \
- $(if $(CONFIG_LIBCURL_TFTP),--enable,--disable)-tftp \
- $(if $(CONFIG_LIBCURL_SMTP),--enable,--disable)-smtp \
- $(if $(CONFIG_LIBCURL_SSPI),--enable,--disable)-sspi \
- $(if $(CONFIG_LIBCURL_THREADED_RESOLVER),--enable,--disable)-threaded-resolver \
- $(if $(CONFIG_LIBCURL_TLS-SRP),--enable,--disable)-tls-srp \
+ \
+ $(if $(CONFIG_LIBCURL_AXTLS),--with-axtls="$(STAGING_DIR)/usr" --without-ca-path,--without-axtls) \
+ $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr" --without-ca-path,--without-cyassl) \
+ $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr" --without-ca-path,--without-gnutls) \
+ $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-ssl) \
+ $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-polarssl) \
+ \
+ $(if $(CONFIG_LIBCURL_LIBIDN),--with-libidn="$(STAGING_DIR)/usr",--without-libidn) \
+ $(if $(CONFIG_LIBCURL_SSH2),--with-libssh2="$(STAGING_DIR)/usr",--without-libssh2) \
$(if $(CONFIG_LIBCURL_ZLIB),--with-zlib="$(STAGING_DIR)/usr",--without-zlib) \
+ \
+ $(call autoconf_bool,CONFIG_LIBCURL_DICT,dict) \
+ $(call autoconf_bool,CONFIG_LIBCURL_FILE,file) \
+ $(call autoconf_bool,CONFIG_LIBCURL_FTP,ftp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_GOPHER,gopher) \
+ $(call autoconf_bool,CONFIG_LIBCURL_HTTP,http) \
+ $(call autoconf_bool,CONFIG_LIBCURL_IMAP,imap) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LDAP,ldap) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LDAPS,ldaps) \
+ $(call autoconf_bool,CONFIG_LIBCURL_POP3,pop3) \
+ $(call autoconf_bool,CONFIG_LIBCURL_RTSP,rtsp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_SMB,smb) \
+ $(call autoconf_bool,CONFIG_LIBCURL_SMTP,smtp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TELNET,telnet) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TFTP,tftp) \
+ \
+ $(call autoconf_bool,CONFIG_LIBCURL_COOKIES,cookies) \
+ $(call autoconf_bool,CONFIG_LIBCURL_CRYPTO_AUTH,crypto-auth) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LIBCURL_OPTION,libcurl-option) \
+ $(call autoconf_bool,CONFIG_LIBCURL_PROXY,proxy) \
+ $(call autoconf_bool,CONFIG_LIBCURL_THREADED_RESOLVER,threaded-resolver) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TLS_SRP,tls-srp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_UNIX_SOCKETS,unix-sockets) \
+ $(call autoconf_bool,CONFIG_LIBCURL_VERBOSE,verbose) \
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \