diff --git a/package/network/utils/curl/Config.in b/package/network/utils/curl/Config.in index 87e5f99f57..11cfa39e95 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 +comment "Supported protocols" + +config LIBCURL_DICT + bool "DICT protocol" + default n + +config LIBCURL_FILE + bool "FILE protocol" + default y + +config LIBCURL_FTP + bool "FTP / FTPS protocol" + default y + +config LIBCURL_GOPHER + bool "Gopher protocol" + default n + +config LIBCURL_HTTP + bool "HTTP / HTTPS protocol" + default y + config LIBCURL_COOKIES - bool "Enable cookies support" + bool "Enable Cookies support" + depends on LIBCURL_HTTP + default y + +config LIBCURL_IMAP + bool "IMAP / IMAPS protocol" + default n + +config LIBCURL_LDAP + 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_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_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_CRYPTO_AUTH bool "Enable cryptographic authentication" default n -config LIBCURL_DICT - bool "Enable DICT support" - default n - -config LIBCURL_FILE - bool "Enable FILE support" - default y - -config LIBCURL_FTP - bool "Enable FTP support" - default y - -config LIBCURL_GOPHER - bool "Enable Gopher support" - default n - -config LIBCURL_HTTP - bool "Enable HTTP support" - default y - -config LIBCURL_IMAP - bool "Enable IMAP support" - default n - -config LIBCURL_LDAP - bool "Enable LDAP support" - default n - -config LIBCURL_LDAPS - bool "Enable LDAPS support" - default n - -config LIBCURL_LIBCURL_OPTION - bool "Enable --libcurl C code generation support" - default n - -config LIBCURL_POP3 - bool "Enable POP3 support" - default n - -config LIBCURL_PROXY - bool "Enable proxy support" - default y - -config LIBCURL_RTSP - bool "Enable RTSP support" - default n - -config LIBCURL_SMTP - bool "Enable SMTP support" - default n - -config LIBCURL_SSPI - bool "Enable SSPI" - default n - -config LIBCURL_TELNET - bool "Enable TELNET support" - default n - -config LIBCURL_TFTP - bool "Enable TFTP support" - default n - -config LIBCURL_THREADED_RESOLVER - bool "Enable threaded resolver" - default n - -config LIBCURL_TLS-SRP +config LIBCURL_TLS_SRP bool "Enable TLS-SRP authentication" default n +config LIBCURL_LIBIDN + bool "Enable IDN support" + default n + +config LIBCURL_THREADED_RESOLVER + bool "Enable threaded DNS resolver" + default n + help + Enable POSIX threaded asynchronous DNS resolution + config LIBCURL_ZLIB - bool "Use zlib" + bool "Enable zlib support" + default n + +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_LIBCURL_OPTION + bool "Enable generation of C code" + default n + +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 7274e2cb11..6da3a66a02 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) \