1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
This commit is contained in:
suyuan168 2022-04-15 10:24:38 +08:00
parent 341761b509
commit d6dd7d02c8
4 changed files with 393 additions and 0 deletions

164
curl/Config.in Normal file
View file

@ -0,0 +1,164 @@
if PACKAGE_libcurl
comment "SSL support"
choice
prompt "Selected SSL library"
default LIBCURL_WOLFSSL
config LIBCURL_MBEDTLS
bool "mbed TLS"
config LIBCURL_WOLFSSL
bool "wolfSSL"
config LIBCURL_OPENSSL
bool "OpenSSL"
config LIBCURL_GNUTLS
bool "GNUTLS"
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"
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
config LIBCURL_NGHTTP2
bool "HTTP2 protocol"
default y
comment "Miscellaneous"
config LIBCURL_PROXY
bool "Enable proxy support"
default y
config LIBCURL_CRYPTO_AUTH
bool "Enable cryptographic authentication"
default n
config LIBCURL_TLS_SRP
bool "Enable TLS-SRP authentication"
default n
config LIBCURL_LIBIDN2
bool "Enable IDN2 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 "Enable zlib support"
default n
config LIBCURL_ZSTD
bool "Enable zstd 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
config LIBCURL_NTLM
bool "Enable NTLM support"
depends on LIBCURL_CRYPTO_AUTH && !LIBCURL_NOSSL
default n
endif

183
curl/Makefile Normal file
View file

@ -0,0 +1,183 @@
#
# Copyright (C) 2007-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=curl
PKG_VERSION:=7.82.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://dl.uxnr.de/mirror/curl/ \
https://curl.askapache.com/download/ \
https://curl.se/download/
PKG_HASH:=0aaa12d7bd04b0966254f2703ce80dd5c38dbbd76af0297d3d690cdce58a583c
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:haxx:libcurl
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_IPV6 \
\
CONFIG_LIBCURL_WOLFSSL \
CONFIG_LIBCURL_GNUTLS \
CONFIG_LIBCURL_OPENSSL \
CONFIG_LIBCURL_MBEDTLS \
CONFIG_LIBCURL_NOSSL \
\
CONFIG_LIBCURL_LIBIDN2 \
CONFIG_LIBCURL_SSH2 \
CONFIG_LIBCURL_ZLIB \
CONFIG_LIBCURL_ZSTD \
\
CONFIG_LIBCURL_DICT \
CONFIG_LIBCURL_FILE \
CONFIG_LIBCURL_FTP \
CONFIG_LIBCURL_GOPHER \
CONFIG_LIBCURL_HTTP \
CONFIG_LIBCURL_IMAP \
CONFIG_LIBCURL_LDAP \
CONFIG_LIBCURL_LDAPS \
CONFIG_LIBCURL_POP3 \
CONFIG_LIBCURL_RTSP \
CONFIG_LIBCURL_NO_RTSP \
CONFIG_LIBCURL_SMB \
CONFIG_LIBCURL_NO_SMB \
CONFIG_LIBCURL_SMTP \
CONFIG_LIBCURL_TELNET \
CONFIG_LIBCURL_TFTP \
CONFIG_LIBCURL_NGHTTP2 \
\
CONFIG_LIBCURL_COOKIES \
CONFIG_LIBCURL_CRYPTO_AUTH \
CONFIG_LIBCURL_LIBCURL_OPTION \
CONFIG_LIBCURL_PROXY \
CONFIG_LIBCURL_THREADED_RESOLVER \
CONFIG_LIBCURL_TLS_SRP \
CONFIG_LIBCURL_UNIX_SOCKETS \
CONFIG_LIBCURL_VERBOSE \
CONFIG_LIBCURL_NTLM \
$(if $(CONFIG_LIBCURL_OPENSSL), \
CONFIG_OPENSSL_ENGINE \
CONFIG_OPENSSL_WITH_COMPRESSION \
CONFIG_OPENSSL_WITH_NPN)
include $(INCLUDE_DIR)/package.mk
define Package/curl/Default
SECTION:=net
CATEGORY:=Network
URL:=http://curl.se/
MAINTAINER:=Stan Grishin <stangri@melmac.ca>
endef
define Package/curl
$(call Package/curl/Default)
SUBMENU:=File Transfer
DEPENDS:=+libcurl
TITLE:=A client-side URL transfer utility
endef
define Package/libcurl
$(call Package/curl/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:= +LIBCURL_WOLFSSL:libwolfssl +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls +LIBCURL_MBEDTLS:libmbedtls
DEPENDS += +LIBCURL_ZLIB:zlib +LIBCURL_ZSTD:libzstd +LIBCURL_THREADED_RESOLVER:libpthread +LIBCURL_LDAP:libopenldap
DEPENDS += +LIBCURL_LIBIDN2:libidn2 +LIBCURL_SSH2:libssh2 +LIBCURL_NGHTTP2:libnghttp2 +ca-bundle
TITLE:=A client-side URL transfer library
MENU:=1
ABI_VERSION:=4
endef
define Package/libcurl/config
source "$(SOURCE)/Config.in"
endef
TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections
TARGET_CPPFLAGS += $(if $(CONFIG_LIBCURL_NTLM),,-DCURL_DISABLE_NTLM)
TARGET_LDFLAGS += -Wl,--gc-sections
CONFIGURE_ARGS += \
--disable-debug \
--disable-ares \
--enable-shared \
--enable-static \
--disable-manual \
--without-nss \
--without-librtmp \
--without-libidn \
--without-ca-path \
--without-libpsl \
--without-zstd \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
\
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
\
$(if $(CONFIG_LIBCURL_WOLFSSL),--with-wolfssl="$(STAGING_DIR)/usr",--without-wolfssl) \
$(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr",--without-gnutls) \
$(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr",--without-ssl) \
$(if $(CONFIG_LIBCURL_MBEDTLS),--with-mbedtls="$(STAGING_DIR)/usr",--without-mbedtls) \
\
$(if $(CONFIG_LIBCURL_LIBIDN2),--with-libidn2="$(STAGING_DIR)/usr",--without-libidn2) \
$(if $(CONFIG_LIBCURL_SSH2),--with-libssh2="$(STAGING_DIR)/usr",--without-libssh2) \
$(if $(CONFIG_LIBCURL_ZLIB),--with-zlib="$(STAGING_DIR)/usr",--without-zlib) \
$(if $(CONFIG_LIBCURL_ZSTD),--with-zstd="$(STAGING_DIR)/usr",--without-zstd) \
$(if $(CONFIG_LIBCURL_NGHTTP2),--with-nghttp2="$(STAGING_DIR)/usr",--without-nghttp2) \
\
$(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/InstallDev
$(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/curl-config $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/include/curl $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurl.{a,so*} $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libcurl.pc $(1)/usr/lib/pkgconfig/
$(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/curl-config
[ -n "$(TARGET_LDFLAGS)" ] && $(SED) 's#$(TARGET_LDFLAGS)##g' $(1)/usr/lib/pkgconfig/libcurl.pc || true
$(LN) $(STAGING_DIR)/usr/bin/curl-config $(2)/bin/
endef
define Package/curl/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/curl $(1)/usr/bin/
endef
define Package/libcurl/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurl.so.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libcurl))
$(eval $(call BuildPackage,curl))

View file

@ -0,0 +1,26 @@
From 471d5f44c5189bd78f8839ce8ac1b4b14f4b7d61 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 7 Mar 2022 08:40:47 +0100
Subject: [PATCH] wolfssl: fix compiler error without IPv6
Reported-by: Joseph Chen
Fixes #8550
Closes #8552
---
lib/vtls/wolfssl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/lib/vtls/wolfssl.c
+++ b/lib/vtls/wolfssl.c
@@ -462,9 +462,9 @@ wolfssl_connect_step1(struct Curl_easy *
const char * const hostname = SSL_HOST_NAME();
size_t hostname_len = strlen(hostname);
if((hostname_len < USHRT_MAX) &&
- (0 == Curl_inet_pton(AF_INET, hostname, &addr4)) &&
+ !Curl_inet_pton(AF_INET, hostname, &addr4)
#ifdef ENABLE_IPV6
- (0 == Curl_inet_pton(AF_INET6, hostname, &addr6))
+ && !Curl_inet_pton(AF_INET6, hostname, &addr6)
#endif
) {
size_t snilen;

View file

@ -0,0 +1,20 @@
--- a/Makefile.am
+++ b/Makefile.am
@@ -156,7 +156,7 @@ CLEANFILES = $(VC10_LIBVCXPROJ) $(VC10_S
bin_SCRIPTS = curl-config
SUBDIRS = lib src
-DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
+DIST_SUBDIRS = $(SUBDIRS) packages include
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libcurl.pc
@@ -270,8 +270,6 @@ cygwinbin:
# We extend the standard install with a custom hook:
install-data-hook:
(cd include && $(MAKE) install)
- (cd docs && $(MAKE) install)
- (cd docs/libcurl && $(MAKE) install)
# We extend the standard uninstall with a custom hook:
uninstall-hook: