#endif
#elif defined(USE_WIN32_IDN)
- /* prototype for curl_win32_idn_to_ascii() */
- bool curl_win32_idn_to_ascii(const char *in, char **out);
+ /* prototype for Curl_win32_idn_to_ascii() */
+ bool Curl_win32_idn_to_ascii(const char *in, char **out);
+
+#elif defined(USE_ICU_IDNA)
+#include <unicode/uidna.h>
#endif /* USE_LIBIDN2 */
+ #include "doh.h"
#include "urldata.h"
#include "netrc.h"
#include "curl_memory.h"
#include "memdebug.h"
- /* Count of the backend ssl objects to allocate */
- #ifdef USE_SSL
- # ifndef CURL_DISABLE_PROXY
- # define SSL_BACKEND_CNT 4
- # else
- # define SSL_BACKEND_CNT 2
- # endif
- #endif
+#if defined(USE_ICU_IDNA)
+#define MAX_DOMAIN_NAME_LEN 256
+#endif /* USE_ICU_IDNA */
+
static void conn_free(struct connectdata *conn);
/* Some parts of the code (e.g. chunked encoding) assume this buffer has at
allocated by libidn */
host->encalloc = NULL;
}
-#elif defined(USE_WIN32_IDN)
+#elif defined(USE_WIN32_IDN) || defined(USE_ICU_IDNA)
free(host->encalloc); /* must be freed with free() since this was
- allocated by curl_win32_idn_to_ascii */
+ allocated by Curl_win32_idn_to_ascii */
host->encalloc = NULL;
#else
(void)host;
--- /dev/null
- Version: 7.81.0
+Name: curl
+Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
++Version: 7.86.0
+Release: 0
+Group: Applications/Internet
+License: MIT
+URL: http://curl.haxx.se/
+#Source0: http://curl.haxx.se/download/%{name}-%{version}.tar.bz2
+Source0: %{name}-%{version}.tar.gz
+Source1001: %{name}.manifest
+BuildRequires: pkgconfig(icu-uc)
+BuildRequires: pkgconfig(openssl1.1)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: pkgconfig(libcares)
+BuildRequires: pkgconfig(libnghttp2)
+Provides: webclient
+
+
+%description
+curl is a client to get documents/files from servers, using any of the
+supported protocols. The command is designed to work without user
+interaction or any kind of interactivity.
+
+curl offers a busload of useful tricks like proxy support, user
+authentication, ftp upload, HTTP post, file transfer resume and more.
+
+%package -n libcurl
+Summary: A library for getting files from web servers
+Group: System/Libraries
+License: MIT
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
+%description -n libcurl
+This package provides a way for applications to use FTP, HTTP, Gopher and
+other servers for getting files.
+
+
+%package -n libcurl-devel
+Summary: Files needed for building applications with libcurl
+Group: Development/Libraries
+License: MIT
+Requires: libcurl = %{version}-%{release}
+Provides: curl-devel = %{version}-%{release}
+Obsoletes: curl-devel < %{version}-%{release}
+
+%description -n libcurl-devel
+libcurl is the core engine of curl; this packages contains all the libs,
+headers, and manual pages to develop applications using libcurl.
+
+%package -n libcurl-extension-dlp
+Summary: Extensions for Tizen OS
+Provides: libcurl-extension-dlp = %{version}-%{release}
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
+%description -n libcurl-extension-dlp
+libcurl extensions for Tinen OS.
+
+%prep
+%setup -q
+cp %{SOURCE1001} .
+
+#%patch01 -p1
+#%patch02 -p1
+
+%build
+
+export CPPFLAGS="-DHAVE_PK11_CREATEGENERICOBJECT -DHAVE_GETIFADDRS"
+CFLAGS+=" -fstack-protector-strong -Wl,-z,relro -D_FORTIFY_SOURCE=2 -fPIE -pie"
+CFLAGS+=" -DHAVE_GETIFADDRS"
+%if "%{tizen_profile_name}" == "tv"
+CFLAGS+=" -DTIZEN_TV_EXT"
+%endif
+%reconfigure --without-nss --without-gnutls --with-openssl --enable-ipv6 \
+--with-ca-path==/etc/ssl/certs \
+--with-ca-bundle=/etc/ssl/ca-bundle.pem \
+--with-icu-uc \
+--with-lber-lib=lber \
+--enable-manual --enable-versioned-symbols --enable-ares --enable-debug --enable-curldebug \
+--disable-static \
+--with-nghttp2 \
+--without-zsh-functions-dir \
+--enable-dlp \
+
+#--with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt
+
+sed -i -e 's,-L/usr/lib ,,g;s,-L/usr/lib64 ,,g;s,-L/usr/lib$,,g;s,-L/usr/lib64$,,g' \
+Makefile libcurl.pc
+# Remove bogus rpath
+sed -i \
+-e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
+-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags}
+
+%install
+rm -rf %{buildroot}
+
+rm -rf $RPM_BUILD_ROOT
+
+make DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" install
+
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl{,_extension_dlp}.la
+install -d $RPM_BUILD_ROOT/%{_datadir}/aclocal
+install -m 644 docs/libcurl/libcurl.m4 $RPM_BUILD_ROOT/%{_datadir}/aclocal
+
+
+# don't need curl's copy of the certs; use openssl's
+find ${RPM_BUILD_ROOT} -name ca-bundle.crt -exec rm -f '{}' \;
+rm -rf ${RPM_BUILD_ROOT}/usr/share/man
+
+%post -n libcurl -p /sbin/ldconfig
+
+%postun -n libcurl -p /sbin/ldconfig
+
+%files
+%{_bindir}/curl
+%license COPYING
+
+%files -n libcurl
+%manifest %{name}.manifest
+%{_libdir}/libcurl.so.*
+%license COPYING
+
+%files -n libcurl-devel
+%{_bindir}/curl-config*
+%{_includedir}/curl
+%{_libdir}/*.so
+%exclude %{_libdir}/libcurl_extension_dlp.so
+%{_libdir}/pkgconfig/*.pc
+%{_datadir}/aclocal/libcurl.m4
+
+%files -n libcurl-extension-dlp
+%manifest %{name}.manifest
+%{_libdir}/libcurl_extension_dlp.so.*
+%license COPYING