diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 000000000..c05d3a5a2 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,22 @@ +curl (7.32.0-1) unstable; urgency=low + + From this version the threaded DNS resolver will be used. This allows for + asynchronous DNS queries and also fixes possible issues related to handling + time outs of DNS lookups. + + The threaded resolver was chosen instead of the event-based one (which uses + the c-ares library) because c-ares currently lacks somewhat important + features, such as support for the Name Service Switch system. + + -- Alessandro Ghedini Mon, 12 Aug 2013 11:08:09 +0200 + +curl (7.28.1-1) experimental; urgency=low + + From this version the CURLOPT_SSL_VERIFYHOST option will stop accepting "1" + as a valid value. From the documentation: + + > When the value is 1, libcurl will return a failure. It was previously (in + > 7.28.0 and earlier) a debug option of some sorts, but it is no longer + > supported due to frequently leading to programmer mistakes. + + -- Alessandro Ghedini Mon, 26 Nov 2012 17:46:27 +0100 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 000000000..511e95794 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,9 @@ +Adding New Patches +================== + +Note that when adding new patches they must be applied *before* 90_gnutls.patch +and 99_nss.patch. This is needed by curl's package byzantine build process, +which builds the source multiple times with different TLS libraries. + +This basically means that when adding new patches to the debian/patches/series +file, they must be listed before the aformentioned patches. diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..00d8cd9a7 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +curl (7.68.0-ok1) yangtze; urgency=medium + + * Build for openKylin. + + -- openKylinBot Mon, 25 Apr 2022 22:03:04 +0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..48082f72f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..47593c1de --- /dev/null +++ b/debian/control @@ -0,0 +1,260 @@ +Source: curl +Section: web +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Alessandro Ghedini +Build-Depends: debhelper (>= 12), + autoconf, + automake, + ca-certificates, + dh-exec, + dpkg-dev (>= 1.17.14~), + groff-base, + libbrotli-dev, + libgnutls28-dev, + libidn2-0-dev, + libkrb5-dev, + libldap2-dev, + libnghttp2-dev, + libnss3-dev, + libpsl-dev, + librtmp-dev (>= 2.4+20131018.git79459a2-0), + libssh-dev, + libssl-dev (>= 1.1), + libtool, + openssh-server , + python3:native, + quilt, + stunnel4 , + zlib1g-dev +Build-Conflicts: autoconf2.13, automake1.4 +Standards-Version: 4.5.0 +Vcs-Git: https://salsa.debian.org/debian/curl.git +Vcs-Browser: https://salsa.debian.org/debian/curl +Homepage: http://curl.haxx.se + +Package: curl +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libcurl4 (= ${binary:Version}) +Multi-Arch: foreign +Description: command line tool for transferring data with URL syntax + curl is a command line tool for transferring data with URL syntax, supporting + DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, + POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form + based upload, proxies, cookies, user+password authentication (Basic, Digest, + NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a + busload of other useful tricks. + +Package: libcurl4 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: ca-certificates +Pre-Depends: ${misc:Pre-Depends} +Conflicts: libcurl3 +Replaces: libcurl3 +Multi-Arch: same +Description: easy-to-use client-side URL transfer library (OpenSSL flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + SSL support is provided by OpenSSL. + +Package: libcurl3-gnutls +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: ca-certificates +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: easy-to-use client-side URL transfer library (GnuTLS flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + SSL support is provided by GnuTLS. + +Package: libcurl3-nss +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: ca-certificates +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: easy-to-use client-side URL transfer library (NSS flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + SSL support is provided by NSS. + +Package: libcurl4-openssl-dev +Architecture: any +Section: libdevel +Provides: libcurl-dev, + libcurl-ssl-dev, + libcurl3-openssl-dev, + libcurl4-dev, + libcurl3-dev +Conflicts: libcurl4-gnutls-dev, libcurl4-nss-dev, libssl-dev (<< 1.1), libssl1.0-dev +Depends: ${misc:Depends}, libcurl4 (= ${binary:Version}) +Suggests: libcurl4-doc, + libidn11-dev, + libkrb5-dev, + libldap2-dev, + librtmp-dev, + libssh2-1-dev, + libssl-dev (>= 1.1), + pkg-config, + zlib1g-dev +Multi-Arch: same +Description: development files and documentation for libcurl (OpenSSL flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + This package provides the development files (ie. includes, static library, + manual pages) that allow one to build software which uses libcurl. + . + SSL support is provided by OpenSSL. + +Package: libcurl4-gnutls-dev +Architecture: any +Section: libdevel +Provides: libcurl-dev, + libcurl-ssl-dev, + libcurl3-gnutls-dev, + libcurl4-dev +Conflicts: libcurl4-openssl-dev, libcurl4-nss-dev +Depends: ${misc:Depends}, libcurl3-gnutls (= ${binary:Version}) +Suggests: libcurl4-doc, + libgnutls28-dev, + libidn11-dev, + libkrb5-dev, + libldap2-dev, + librtmp-dev, + libssh2-1-dev, + pkg-config, + zlib1g-dev +Multi-Arch: same +Description: development files and documentation for libcurl (GnuTLS flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + This package provides the development files (ie. includes, static library, + manual pages) that allow one to build software which uses libcurl. + . + SSL support is provided by GnuTLS. + +Package: libcurl4-nss-dev +Architecture: any +Section: libdevel +Provides: libcurl-dev, + libcurl-ssl-dev, + libcurl3-nss-dev, + libcurl4-dev +Conflicts: libcurl4-openssl-dev, libcurl4-gnutls-dev +Depends: ${misc:Depends}, libcurl3-nss (= ${binary:Version}) +Suggests: libcurl4-doc, + libidn11-dev, + libkrb5-dev, + libldap2-dev, + libnss3-dev, + librtmp-dev, + libssh2-1-dev, + pkg-config, + zlib1g-dev +Multi-Arch: same +Description: development files and documentation for libcurl (NSS flavour) + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + This package provides the development files (ie. includes, static library, + manual pages) that allow one to build software which uses libcurl. + . + SSL support is provided by NSS. + +Package: libcurl4-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Replaces: libcurl4-openssl-dev (<< 7.30.0-0), + libcurl4-gnutls-dev (<< 7.30.0-0), + libcurl4-nss-dev (<< 7.30.0-0) +Breaks: libcurl4-openssl-dev (<< 7.30.0-0), + libcurl4-gnutls-dev (<< 7.30.0-0), + libcurl4-nss-dev (<< 7.30.0-0) +Description: documentation for libcurl + libcurl is an easy-to-use client-side URL transfer library, supporting DICT, + FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, + RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + . + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more! + . + libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, + fast, thoroughly documented and is already used by many known, big and + successful companies and numerous applications. + . + This package provides the documentation files for libcurl. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..bc39b6a02 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,241 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: curl +Source: http://curl.haxx.se + +Files: * +Copyright: 1996-2015, Daniel Stenberg +License: curl + +Files: lib/vtls/sectransp.* +Copyright: 2012-2014, Nick Zitzmann + 2012-2019, Daniel Stenberg +License: curl + +Files: lib/curl_rtmp.* +Copyright: 2010, Howard Chu +License: curl + +Files: lib/vtls/schannel.* +Copyright: 2012-2014, Marc Hoersken + 2012, Mark Salisbury + 2012-2015, Daniel Stenberg +License: curl + +Files: lib/inet_pton.c + lib/inet_ntop.c +Copyright: 1996-2001 Internet Software Consortium +License: ISC + +Files: lib/krb5.c + lib/security.c +Copyright: 2004-2015 Daniel Stenberg + 1995-1999 Kungliga Tekniska Högskolan +License: BSD-3-Clause + +Files: lib/md4.c +Copyright: 2001, Solar Designer +License: public-domain + +Files: lib/openldap.* +Copyright: 2011-2015, Daniel Stenberg + 2010, Howard Chu +License: curl + +Files: lib/vtls/polarssl.* +Copyright: 2010-2011, Hoi-Ho Chan + 2012-2015, Daniel Stenberg +License: curl + +Files: lib/socks_gssapi.c + lib/socks_sspi.* +Copyright: 2009, 2011, Markus Moeller, + 2012-2015, Daniel Stenberg, +License: curl + +Files: tests/certs/scripts/genroot.sh + tests/certs/scripts/genserv.sh +Copyright: 2000-2009, EdelWeb for EdelKey and OpenEvidence +License: curl + +Files: tests/server/tftpd.c +Copyright: 1983 Regents of the University of California +License: BSD-4-Clause + +Files: tests/server/fake_ntlm.c +Copyright: 2010, Mandy Wu + 2011-2013, Daniel Stenberg +License: curl + +Files: docs/examples/fopen.c +Copyright: 2003, Simtec Electronics +License: BSD-3-Clause + +Files: docs/examples/rtsp.c +Copyright: 2011, Jim Hollinger +License: BSD-3-Clause + +Files: docs/examples/curlgtk.c +Copyright: 2003, The OpenEvidence Project +License: curl + +Files: docs/examples/curlx.c +Copyright: 2003, The OpenEvidence Project +License: other + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, the following disclaimer, + and the original OpenSSL and SSLeay Licences below. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, the following disclaimer + and the original OpenSSL and SSLeay Licences below in + the documentation and/or other materials provided with the + distribution. + . + 3. All advertising materials mentioning features or use of this + software must display the following acknowledgments: + "This product includes software developed by the Openevidence Project + for use in the OpenEvidence Toolkit. (http://www.openevidence.org/)" + This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + This product includes cryptographic software written by Eric Young + (eay@cryptsoft.com). This product includes software written by Tim + Hudson (tjh@cryptsoft.com)." + . + 4. The names "OpenEvidence Toolkit" and "OpenEvidence Project" must not be + used to endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openevidence-core@openevidence.org. + . + 5. Products derived from this software may not be called "OpenEvidence" + nor may "OpenEvidence" appear in their names without prior written + permission of the OpenEvidence Project. + . + 6. Redistributions of any form whatsoever must retain the following + acknowledgments: + "This product includes software developed by the OpenEvidence Project + for use in the OpenEvidence Toolkit (http://www.openevidence.org/) + This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + This product includes cryptographic software written by Eric Young + (eay@cryptsoft.com). This product includes software written by Tim + Hudson (tjh@cryptsoft.com)." + . + THIS SOFTWARE IS PROVIDED BY THE OpenEvidence PROJECT ``AS IS'' AND ANY + EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenEvidence PROJECT OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: src/macos/src/macos_main.cpp +Copyright: 2001, Eric Lavigne +License: other + Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions: - The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it. - The origin of this software must not be misrepresented, either by explicit claim or by omission. - You are allowed to distributed modified copies of the software, in source and binary form, provided they are marked plainly as altered versions, and are not misrepresented as being the original software. + +Files: debian/* +Copyright: 2000-2010, Domenico Andreoli + 2010-2011, Ramakrishnan Muthukrishnan + 2011, Alessandro Ghedini +License: curl + +License: curl + All rights reserved. + . + Permission to use, copy, modify, and distribute this software for any purpose + with or without fee is hereby granted, provided that the above copyright + notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE + OR OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall not + be used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization of the copyright holder. + +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD-4-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + 4. Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/debian/curl.install b/debian/curl.install new file mode 100755 index 000000000..6c48bc8f8 --- /dev/null +++ b/debian/curl.install @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec +usr/bin/curl + usr/share/zsh/* diff --git a/debian/curl.manpages b/debian/curl.manpages new file mode 100644 index 000000000..d6f76b7ba --- /dev/null +++ b/debian/curl.manpages @@ -0,0 +1 @@ +docs/curl.1 diff --git a/debian/libcurl3-gnutls.install b/debian/libcurl3-gnutls.install new file mode 100644 index 000000000..58c341383 --- /dev/null +++ b/debian/libcurl3-gnutls.install @@ -0,0 +1 @@ +usr/lib/*/libcurl-gnutls.so.4* diff --git a/debian/libcurl3-gnutls.links b/debian/libcurl3-gnutls.links new file mode 100755 index 000000000..43fb7847c --- /dev/null +++ b/debian/libcurl3-gnutls.links @@ -0,0 +1,3 @@ +#!/bin/sh + +echo usr/lib/$DEB_HOST_MULTIARCH/libcurl-gnutls.so.4 usr/lib/$DEB_HOST_MULTIARCH/libcurl-gnutls.so.3 diff --git a/debian/libcurl3-gnutls.lintian-overrides b/debian/libcurl3-gnutls.lintian-overrides new file mode 100644 index 000000000..4775db986 --- /dev/null +++ b/debian/libcurl3-gnutls.lintian-overrides @@ -0,0 +1 @@ +libcurl3-gnutls: package-name-doesnt-match-sonames libcurl-gnutls4 diff --git a/debian/libcurl3-gnutls.symbols b/debian/libcurl3-gnutls.symbols new file mode 100644 index 000000000..c645b12d2 --- /dev/null +++ b/debian/libcurl3-gnutls.symbols @@ -0,0 +1,87 @@ +libcurl-gnutls.so.4 libcurl3-gnutls #MINVER# +* Build-Depends-Package: libcurl4-gnutls-dev + CURL_GNUTLS_3@CURL_GNUTLS_3 7.16.2 + HIDDEN@HIDDEN 7.16.2 + curl_easy_cleanup@CURL_GNUTLS_3 7.16.2 + curl_easy_duphandle@CURL_GNUTLS_3 7.16.2 + curl_easy_escape@CURL_GNUTLS_3 7.16.2 + curl_easy_getinfo@CURL_GNUTLS_3 7.16.2 + curl_easy_init@CURL_GNUTLS_3 7.16.2 + curl_easy_pause@CURL_GNUTLS_3 7.18.0 + curl_easy_perform@CURL_GNUTLS_3 7.16.2 + curl_easy_recv@CURL_GNUTLS_3 7.18.2 + curl_easy_reset@CURL_GNUTLS_3 7.16.2 + curl_easy_send@CURL_GNUTLS_3 7.18.2 + curl_easy_setopt@CURL_GNUTLS_3 7.16.2 + curl_easy_strerror@CURL_GNUTLS_3 7.16.2 + curl_easy_unescape@CURL_GNUTLS_3 7.16.2 + curl_easy_upkeep@CURL_GNUTLS_3 7.63.0 + curl_escape@CURL_GNUTLS_3 7.16.2 + curl_formadd@CURL_GNUTLS_3 7.16.2 + curl_formfree@CURL_GNUTLS_3 7.16.2 + curl_formget@CURL_GNUTLS_3 7.16.2 + curl_free@CURL_GNUTLS_3 7.16.2 + curl_getdate@CURL_GNUTLS_3 7.16.2 + curl_getenv@CURL_GNUTLS_3 7.16.2 + curl_global_cleanup@CURL_GNUTLS_3 7.16.2 + curl_global_init@CURL_GNUTLS_3 7.16.2 + curl_global_init_mem@CURL_GNUTLS_3 7.16.2 + curl_global_sslset@CURL_GNUTLS_3 7.56.1 + curl_jmpenv@CURL_GNUTLS_3 7.16.2 + curl_maprintf@CURL_GNUTLS_3 7.16.2 + curl_mfprintf@CURL_GNUTLS_3 7.16.2 + curl_mime_addpart@CURL_GNUTLS_3 7.56.1 + curl_mime_data@CURL_GNUTLS_3 7.56.1 + curl_mime_data_cb@CURL_GNUTLS_3 7.56.1 + curl_mime_encoder@CURL_GNUTLS_3 7.56.1 + curl_mime_filedata@CURL_GNUTLS_3 7.56.1 + curl_mime_filename@CURL_GNUTLS_3 7.56.1 + curl_mime_free@CURL_GNUTLS_3 7.56.1 + curl_mime_headers@CURL_GNUTLS_3 7.56.1 + curl_mime_init@CURL_GNUTLS_3 7.56.1 + curl_mime_name@CURL_GNUTLS_3 7.56.1 + curl_mime_subparts@CURL_GNUTLS_3 7.56.1 + curl_mime_type@CURL_GNUTLS_3 7.56.1 + curl_mprintf@CURL_GNUTLS_3 7.16.2 + curl_msnprintf@CURL_GNUTLS_3 7.16.2 + curl_msprintf@CURL_GNUTLS_3 7.16.2 + curl_multi_add_handle@CURL_GNUTLS_3 7.16.2 + curl_multi_assign@CURL_GNUTLS_3 7.16.2 + curl_multi_cleanup@CURL_GNUTLS_3 7.16.2 + curl_multi_fdset@CURL_GNUTLS_3 7.16.2 + curl_multi_info_read@CURL_GNUTLS_3 7.16.2 + curl_multi_init@CURL_GNUTLS_3 7.16.2 + curl_multi_perform@CURL_GNUTLS_3 7.16.2 + curl_multi_poll@CURL_GNUTLS_3 7.66.0 + curl_multi_remove_handle@CURL_GNUTLS_3 7.16.2 + curl_multi_setopt@CURL_GNUTLS_3 7.16.2 + curl_multi_socket@CURL_GNUTLS_3 7.16.2 + curl_multi_socket_action@CURL_GNUTLS_3 7.16.3 + curl_multi_socket_all@CURL_GNUTLS_3 7.16.2 + curl_multi_strerror@CURL_GNUTLS_3 7.16.2 + curl_multi_timeout@CURL_GNUTLS_3 7.16.2 + curl_multi_wait@CURL_GNUTLS_3 7.28.0 + curl_multi_wakeup@CURL_GNUTLS_3 7.68.0 + curl_mvaprintf@CURL_GNUTLS_3 7.16.2 + curl_mvfprintf@CURL_GNUTLS_3 7.16.2 + curl_mvprintf@CURL_GNUTLS_3 7.16.2 + curl_mvsnprintf@CURL_GNUTLS_3 7.16.2 + curl_mvsprintf@CURL_GNUTLS_3 7.16.2 + curl_pushheader_byname@CURL_GNUTLS_3 7.44.0 + curl_pushheader_bynum@CURL_GNUTLS_3 7.44.0 + curl_share_cleanup@CURL_GNUTLS_3 7.16.2 + curl_share_init@CURL_GNUTLS_3 7.16.2 + curl_share_setopt@CURL_GNUTLS_3 7.16.2 + curl_share_strerror@CURL_GNUTLS_3 7.16.2 + curl_slist_append@CURL_GNUTLS_3 7.16.2 + curl_slist_free_all@CURL_GNUTLS_3 7.16.2 + curl_strequal@CURL_GNUTLS_3 7.16.2 + curl_strnequal@CURL_GNUTLS_3 7.16.2 + curl_unescape@CURL_GNUTLS_3 7.16.2 + curl_url@CURL_GNUTLS_3 7.63.0 + curl_url_cleanup@CURL_GNUTLS_3 7.63.0 + curl_url_dup@CURL_GNUTLS_3 7.63.0 + curl_url_get@CURL_GNUTLS_3 7.63.0 + curl_url_set@CURL_GNUTLS_3 7.63.0 + curl_version@CURL_GNUTLS_3 7.16.2 + curl_version_info@CURL_GNUTLS_3 7.16.2 diff --git a/debian/libcurl3-nss.install b/debian/libcurl3-nss.install new file mode 100644 index 000000000..a71e50d90 --- /dev/null +++ b/debian/libcurl3-nss.install @@ -0,0 +1 @@ +usr/lib/*/libcurl-nss.so.4* diff --git a/debian/libcurl3-nss.links b/debian/libcurl3-nss.links new file mode 100755 index 000000000..e7ccd090e --- /dev/null +++ b/debian/libcurl3-nss.links @@ -0,0 +1,3 @@ +#!/bin/sh + +echo usr/lib/$DEB_HOST_MULTIARCH/libcurl-nss.so.4 usr/lib/$DEB_HOST_MULTIARCH/libcurl-nss.so.3 diff --git a/debian/libcurl3-nss.lintian-overrides b/debian/libcurl3-nss.lintian-overrides new file mode 100644 index 000000000..7df15a2ed --- /dev/null +++ b/debian/libcurl3-nss.lintian-overrides @@ -0,0 +1 @@ +libcurl3-nss: package-name-doesnt-match-sonames libcurl-nss4 diff --git a/debian/libcurl3-nss.symbols b/debian/libcurl3-nss.symbols new file mode 100644 index 000000000..bcf943904 --- /dev/null +++ b/debian/libcurl3-nss.symbols @@ -0,0 +1,87 @@ +libcurl-nss.so.4 libcurl3-nss #MINVER# +* Build-Depends-Package: libcurl4-nss-dev + CURL_NSS_3@CURL_NSS_3 7.23.1 + HIDDEN@HIDDEN 7.23.1 + curl_easy_cleanup@CURL_NSS_3 7.23.1 + curl_easy_duphandle@CURL_NSS_3 7.23.1 + curl_easy_escape@CURL_NSS_3 7.23.1 + curl_easy_getinfo@CURL_NSS_3 7.23.1 + curl_easy_init@CURL_NSS_3 7.23.1 + curl_easy_pause@CURL_NSS_3 7.23.1 + curl_easy_perform@CURL_NSS_3 7.23.1 + curl_easy_recv@CURL_NSS_3 7.23.1 + curl_easy_reset@CURL_NSS_3 7.23.1 + curl_easy_send@CURL_NSS_3 7.23.1 + curl_easy_setopt@CURL_NSS_3 7.23.1 + curl_easy_strerror@CURL_NSS_3 7.23.1 + curl_easy_unescape@CURL_NSS_3 7.23.1 + curl_easy_upkeep@CURL_NSS_3 7.63.0 + curl_escape@CURL_NSS_3 7.23.1 + curl_formadd@CURL_NSS_3 7.23.1 + curl_formfree@CURL_NSS_3 7.23.1 + curl_formget@CURL_NSS_3 7.23.1 + curl_free@CURL_NSS_3 7.23.1 + curl_getdate@CURL_NSS_3 7.23.1 + curl_getenv@CURL_NSS_3 7.23.1 + curl_global_cleanup@CURL_NSS_3 7.23.1 + curl_global_init@CURL_NSS_3 7.23.1 + curl_global_init_mem@CURL_NSS_3 7.23.1 + curl_global_sslset@CURL_NSS_3 7.56.1 + curl_jmpenv@CURL_NSS_3 7.23.1 + curl_maprintf@CURL_NSS_3 7.23.1 + curl_mfprintf@CURL_NSS_3 7.23.1 + curl_mime_addpart@CURL_NSS_3 7.56.1 + curl_mime_data@CURL_NSS_3 7.56.1 + curl_mime_data_cb@CURL_NSS_3 7.56.1 + curl_mime_encoder@CURL_NSS_3 7.56.1 + curl_mime_filedata@CURL_NSS_3 7.56.1 + curl_mime_filename@CURL_NSS_3 7.56.1 + curl_mime_free@CURL_NSS_3 7.56.1 + curl_mime_headers@CURL_NSS_3 7.56.1 + curl_mime_init@CURL_NSS_3 7.56.1 + curl_mime_name@CURL_NSS_3 7.56.1 + curl_mime_subparts@CURL_NSS_3 7.56.1 + curl_mime_type@CURL_NSS_3 7.56.1 + curl_mprintf@CURL_NSS_3 7.23.1 + curl_msnprintf@CURL_NSS_3 7.23.1 + curl_msprintf@CURL_NSS_3 7.23.1 + curl_multi_add_handle@CURL_NSS_3 7.23.1 + curl_multi_assign@CURL_NSS_3 7.23.1 + curl_multi_cleanup@CURL_NSS_3 7.23.1 + curl_multi_fdset@CURL_NSS_3 7.23.1 + curl_multi_info_read@CURL_NSS_3 7.23.1 + curl_multi_init@CURL_NSS_3 7.23.1 + curl_multi_perform@CURL_NSS_3 7.23.1 + curl_multi_poll@CURL_NSS_3 7.66.0 + curl_multi_remove_handle@CURL_NSS_3 7.23.1 + curl_multi_setopt@CURL_NSS_3 7.23.1 + curl_multi_socket@CURL_NSS_3 7.23.1 + curl_multi_socket_action@CURL_NSS_3 7.23.1 + curl_multi_socket_all@CURL_NSS_3 7.23.1 + curl_multi_strerror@CURL_NSS_3 7.23.1 + curl_multi_timeout@CURL_NSS_3 7.23.1 + curl_multi_wait@CURL_NSS_3 7.28.0 + curl_multi_wakeup@CURL_NSS_3 7.68.0 + curl_mvaprintf@CURL_NSS_3 7.23.1 + curl_mvfprintf@CURL_NSS_3 7.23.1 + curl_mvprintf@CURL_NSS_3 7.23.1 + curl_mvsnprintf@CURL_NSS_3 7.23.1 + curl_mvsprintf@CURL_NSS_3 7.23.1 + curl_pushheader_byname@CURL_NSS_3 7.44.0 + curl_pushheader_bynum@CURL_NSS_3 7.44.0 + curl_share_cleanup@CURL_NSS_3 7.23.1 + curl_share_init@CURL_NSS_3 7.23.1 + curl_share_setopt@CURL_NSS_3 7.23.1 + curl_share_strerror@CURL_NSS_3 7.23.1 + curl_slist_append@CURL_NSS_3 7.23.1 + curl_slist_free_all@CURL_NSS_3 7.23.1 + curl_strequal@CURL_NSS_3 7.23.1 + curl_strnequal@CURL_NSS_3 7.23.1 + curl_unescape@CURL_NSS_3 7.23.1 + curl_url@CURL_NSS_3 7.63.0 + curl_url_cleanup@CURL_NSS_3 7.63.0 + curl_url_dup@CURL_NSS_3 7.63.0 + curl_url_get@CURL_NSS_3 7.63.0 + curl_url_set@CURL_NSS_3 7.63.0 + curl_version@CURL_NSS_3 7.23.1 + curl_version_info@CURL_NSS_3 7.23.1 diff --git a/debian/libcurl4-doc.docs b/debian/libcurl4-doc.docs new file mode 100644 index 000000000..024d7acaf --- /dev/null +++ b/debian/libcurl4-doc.docs @@ -0,0 +1,14 @@ +README +docs/BINDINGS.md +docs/BUGS +docs/CONTRIBUTE.md +docs/FAQ +docs/FEATURES +docs/HISTORY.md +docs/INTERNALS.md +docs/KNOWN_BUGS +docs/RESOURCES +docs/THANKS +docs/TODO +docs/VERSIONS +docs/TheArtOfHttpScripting diff --git a/debian/libcurl4-doc.examples b/debian/libcurl4-doc.examples new file mode 100644 index 000000000..684a743a4 --- /dev/null +++ b/debian/libcurl4-doc.examples @@ -0,0 +1 @@ +docs/examples/* diff --git a/debian/libcurl4-doc.links b/debian/libcurl4-doc.links new file mode 100644 index 000000000..ea9601b0d --- /dev/null +++ b/debian/libcurl4-doc.links @@ -0,0 +1,10 @@ +/usr/share/man/man3/curl_strequal.3 /usr/share/man/man3/curl_strnequal.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_maprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mfprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_msnprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_msprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mvaprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mvfprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mvprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mvsnprintf.3 +/usr/share/man/man3/curl_mprintf.3 /usr/share/man/man3/curl_mvsprintf.3 diff --git a/debian/libcurl4-doc.manpages b/debian/libcurl4-doc.manpages new file mode 100644 index 000000000..6b1911659 --- /dev/null +++ b/debian/libcurl4-doc.manpages @@ -0,0 +1,2 @@ +docs/libcurl/*.3 +docs/libcurl/opts/*.3 diff --git a/debian/libcurl4-gnutls-dev.install b/debian/libcurl4-gnutls-dev.install new file mode 100644 index 000000000..368183ad7 --- /dev/null +++ b/debian/libcurl4-gnutls-dev.install @@ -0,0 +1,7 @@ +usr/bin/curl-config +usr/lib/*/libcurl-gnutls.a +usr/lib/*/libcurl-gnutls.la +usr/lib/*/libcurl-gnutls.so +usr/lib/*/pkgconfig/libcurl.pc +usr/include +../../docs/libcurl/libcurl.m4 usr/share/aclocal diff --git a/debian/libcurl4-gnutls-dev.links b/debian/libcurl4-gnutls-dev.links new file mode 100755 index 000000000..dc79fcc0c --- /dev/null +++ b/debian/libcurl4-gnutls-dev.links @@ -0,0 +1,5 @@ +#!/bin/sh + +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-gnutls.a /usr/lib/$DEB_HOST_MULTIARCH/libcurl.a +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-gnutls.la /usr/lib/$DEB_HOST_MULTIARCH/libcurl.la +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-gnutls.so /usr/lib/$DEB_HOST_MULTIARCH/libcurl.so diff --git a/debian/libcurl4-gnutls-dev.manpages b/debian/libcurl4-gnutls-dev.manpages new file mode 100644 index 000000000..ad4b9b5e0 --- /dev/null +++ b/debian/libcurl4-gnutls-dev.manpages @@ -0,0 +1 @@ +docs/curl-config.1 diff --git a/debian/libcurl4-nss-dev.install b/debian/libcurl4-nss-dev.install new file mode 100644 index 000000000..12cf51252 --- /dev/null +++ b/debian/libcurl4-nss-dev.install @@ -0,0 +1,7 @@ +usr/bin/curl-config +usr/lib/*/libcurl-nss.a +usr/lib/*/libcurl-nss.la +usr/lib/*/libcurl-nss.so +usr/lib/*/pkgconfig/libcurl.pc +usr/include +../../docs/libcurl/libcurl.m4 usr/share/aclocal diff --git a/debian/libcurl4-nss-dev.links b/debian/libcurl4-nss-dev.links new file mode 100755 index 000000000..77458b660 --- /dev/null +++ b/debian/libcurl4-nss-dev.links @@ -0,0 +1,5 @@ +#!/bin/sh + +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-nss.a /usr/lib/$DEB_HOST_MULTIARCH/libcurl.a +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-nss.la /usr/lib/$DEB_HOST_MULTIARCH/libcurl.la +echo /usr/lib/$DEB_HOST_MULTIARCH/libcurl-nss.so /usr/lib/$DEB_HOST_MULTIARCH/libcurl.so diff --git a/debian/libcurl4-nss-dev.manpages b/debian/libcurl4-nss-dev.manpages new file mode 100644 index 000000000..ad4b9b5e0 --- /dev/null +++ b/debian/libcurl4-nss-dev.manpages @@ -0,0 +1 @@ +docs/curl-config.1 diff --git a/debian/libcurl4-openssl-dev.install b/debian/libcurl4-openssl-dev.install new file mode 100644 index 000000000..93facb64f --- /dev/null +++ b/debian/libcurl4-openssl-dev.install @@ -0,0 +1,7 @@ +usr/bin/curl-config +usr/lib/*/libcurl.a +usr/lib/*/libcurl.la +usr/lib/*/libcurl.so +usr/lib/*/pkgconfig/libcurl.pc +usr/include +../../docs/libcurl/libcurl.m4 usr/share/aclocal diff --git a/debian/libcurl4-openssl-dev.manpages b/debian/libcurl4-openssl-dev.manpages new file mode 100644 index 000000000..ad4b9b5e0 --- /dev/null +++ b/debian/libcurl4-openssl-dev.manpages @@ -0,0 +1 @@ +docs/curl-config.1 diff --git a/debian/libcurl4.install b/debian/libcurl4.install new file mode 100644 index 000000000..2a9d1c3d5 --- /dev/null +++ b/debian/libcurl4.install @@ -0,0 +1 @@ +usr/lib/*/libcurl.so.4* diff --git a/debian/libcurl4.symbols b/debian/libcurl4.symbols new file mode 100644 index 000000000..c58b54422 --- /dev/null +++ b/debian/libcurl4.symbols @@ -0,0 +1,87 @@ +libcurl.so.4 libcurl4 #MINVER# +* Build-Depends-Package: libcurl4-openssl-dev + CURL_OPENSSL_4@CURL_OPENSSL_4 7.16.2 + HIDDEN@HIDDEN 7.16.2 + curl_easy_cleanup@CURL_OPENSSL_4 7.16.2 + curl_easy_duphandle@CURL_OPENSSL_4 7.16.2 + curl_easy_escape@CURL_OPENSSL_4 7.16.2 + curl_easy_getinfo@CURL_OPENSSL_4 7.16.2 + curl_easy_init@CURL_OPENSSL_4 7.16.2 + curl_easy_pause@CURL_OPENSSL_4 7.18.0 + curl_easy_perform@CURL_OPENSSL_4 7.16.2 + curl_easy_recv@CURL_OPENSSL_4 7.18.2 + curl_easy_reset@CURL_OPENSSL_4 7.16.2 + curl_easy_send@CURL_OPENSSL_4 7.18.2 + curl_easy_setopt@CURL_OPENSSL_4 7.16.2 + curl_easy_strerror@CURL_OPENSSL_4 7.16.2 + curl_easy_unescape@CURL_OPENSSL_4 7.16.2 + curl_easy_upkeep@CURL_OPENSSL_4 7.63.0 + curl_escape@CURL_OPENSSL_4 7.16.2 + curl_formadd@CURL_OPENSSL_4 7.16.2 + curl_formfree@CURL_OPENSSL_4 7.16.2 + curl_formget@CURL_OPENSSL_4 7.16.2 + curl_free@CURL_OPENSSL_4 7.16.2 + curl_getdate@CURL_OPENSSL_4 7.16.2 + curl_getenv@CURL_OPENSSL_4 7.16.2 + curl_global_cleanup@CURL_OPENSSL_4 7.16.2 + curl_global_init@CURL_OPENSSL_4 7.16.2 + curl_global_init_mem@CURL_OPENSSL_4 7.16.2 + curl_global_sslset@CURL_OPENSSL_4 7.56.1 + curl_jmpenv@CURL_OPENSSL_4 7.16.2 + curl_maprintf@CURL_OPENSSL_4 7.16.2 + curl_mfprintf@CURL_OPENSSL_4 7.16.2 + curl_mime_addpart@CURL_OPENSSL_4 7.56.1 + curl_mime_data@CURL_OPENSSL_4 7.56.1 + curl_mime_data_cb@CURL_OPENSSL_4 7.56.1 + curl_mime_encoder@CURL_OPENSSL_4 7.56.1 + curl_mime_filedata@CURL_OPENSSL_4 7.56.1 + curl_mime_filename@CURL_OPENSSL_4 7.56.1 + curl_mime_free@CURL_OPENSSL_4 7.56.1 + curl_mime_headers@CURL_OPENSSL_4 7.56.1 + curl_mime_init@CURL_OPENSSL_4 7.56.1 + curl_mime_name@CURL_OPENSSL_4 7.56.1 + curl_mime_subparts@CURL_OPENSSL_4 7.56.1 + curl_mime_type@CURL_OPENSSL_4 7.56.1 + curl_mprintf@CURL_OPENSSL_4 7.16.2 + curl_msnprintf@CURL_OPENSSL_4 7.16.2 + curl_msprintf@CURL_OPENSSL_4 7.16.2 + curl_multi_add_handle@CURL_OPENSSL_4 7.16.2 + curl_multi_assign@CURL_OPENSSL_4 7.16.2 + curl_multi_cleanup@CURL_OPENSSL_4 7.16.2 + curl_multi_fdset@CURL_OPENSSL_4 7.16.2 + curl_multi_info_read@CURL_OPENSSL_4 7.16.2 + curl_multi_init@CURL_OPENSSL_4 7.16.2 + curl_multi_perform@CURL_OPENSSL_4 7.16.2 + curl_multi_poll@CURL_OPENSSL_4 7.66.0 + curl_multi_remove_handle@CURL_OPENSSL_4 7.16.2 + curl_multi_setopt@CURL_OPENSSL_4 7.16.2 + curl_multi_socket@CURL_OPENSSL_4 7.16.2 + curl_multi_socket_action@CURL_OPENSSL_4 7.16.3 + curl_multi_socket_all@CURL_OPENSSL_4 7.16.2 + curl_multi_strerror@CURL_OPENSSL_4 7.16.2 + curl_multi_timeout@CURL_OPENSSL_4 7.16.2 + curl_multi_wait@CURL_OPENSSL_4 7.28.0 + curl_multi_wakeup@CURL_OPENSSL_4 7.68.0 + curl_mvaprintf@CURL_OPENSSL_4 7.16.2 + curl_mvfprintf@CURL_OPENSSL_4 7.16.2 + curl_mvprintf@CURL_OPENSSL_4 7.16.2 + curl_mvsnprintf@CURL_OPENSSL_4 7.16.2 + curl_mvsprintf@CURL_OPENSSL_4 7.16.2 + curl_pushheader_byname@CURL_OPENSSL_4 7.44.0 + curl_pushheader_bynum@CURL_OPENSSL_4 7.44.0 + curl_share_cleanup@CURL_OPENSSL_4 7.16.2 + curl_share_init@CURL_OPENSSL_4 7.16.2 + curl_share_setopt@CURL_OPENSSL_4 7.16.2 + curl_share_strerror@CURL_OPENSSL_4 7.16.2 + curl_slist_append@CURL_OPENSSL_4 7.16.2 + curl_slist_free_all@CURL_OPENSSL_4 7.16.2 + curl_strequal@CURL_OPENSSL_4 7.16.2 + curl_strnequal@CURL_OPENSSL_4 7.16.2 + curl_unescape@CURL_OPENSSL_4 7.16.2 + curl_url@CURL_OPENSSL_4 7.63.0 + curl_url_cleanup@CURL_OPENSSL_4 7.63.0 + curl_url_dup@CURL_OPENSSL_4 7.63.0 + curl_url_get@CURL_OPENSSL_4 7.63.0 + curl_url_set@CURL_OPENSSL_4 7.63.0 + curl_version@CURL_OPENSSL_4 7.16.2 + curl_version_info@CURL_OPENSSL_4 7.16.2 diff --git a/debian/patches/04_workaround_as_needed_bug.patch b/debian/patches/04_workaround_as_needed_bug.patch new file mode 100644 index 000000000..00fa7f764 --- /dev/null +++ b/debian/patches/04_workaround_as_needed_bug.patch @@ -0,0 +1,38 @@ +Description: Work around libtool --as-needed reordering bug +Origin: vendor +Bug-Debian: http://bugs.debian.org/347650 +Forwarded: not-needed +Author: Alessandro Ghedini +Reviewed-by: Alessandro Ghedini +Last-Update: 2016-08-03 + +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -7312,6 +7312,11 @@ + arg=$func_stripname_result + ;; + ++ -Wl,--as-needed|-Wl,--no-as-needed) ++ deplibs="$arg $deplibs" ++ continue ++ ;; ++ + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result +@@ -7703,6 +7708,15 @@ + lib= + found=false + case $deplib in ++ -Wl,--as-needed|-Wl,--no-as-needed) ++ if test "$linkmode,$pass" = "prog,link"; then ++ compile_deplibs="$deplib $compile_deplibs" ++ finalize_deplibs="$deplib $finalize_deplibs" ++ else ++ deplibs="$deplib $deplibs" ++ fi ++ continue ++ ;; + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then diff --git a/debian/patches/06_always-disable-valgrind.patch b/debian/patches/06_always-disable-valgrind.patch new file mode 100644 index 000000000..2b8dbca3c --- /dev/null +++ b/debian/patches/06_always-disable-valgrind.patch @@ -0,0 +1,17 @@ +Description: Always disable valgrind tests +Origin: vendor +Bug-Debian: http://bugs.debian.org/690968 +Forwarded: not-needed +Last-Update: 2012-10-22 + +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -68,7 +68,7 @@ + if CROSSCOMPILING + TEST = @echo "NOTICE: we can't run the tests when cross-compiling!" + else # if not cross-compiling: +-TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl ++TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl -n + TEST_Q = -a -s + TEST_AM = -a -am + TEST_F = -a -p -r diff --git a/debian/patches/07_do-not-disable-debug-symbols.patch b/debian/patches/07_do-not-disable-debug-symbols.patch new file mode 100644 index 000000000..c3b179c45 --- /dev/null +++ b/debian/patches/07_do-not-disable-debug-symbols.patch @@ -0,0 +1,98 @@ +Description: Do not disable debug symbols without --enable-debug +Origin: vendor +Bug-Debian: http://bugs.debian.org/693110 +Forwarded: not-needed +Author: Alessandro Ghedini +Reviewed-by: Alessandro Ghedini +Last-Update: 2012-11-16 + +--- a/m4/curl-compilers.m4 ++++ b/m4/curl-compilers.m4 +@@ -115,7 +115,6 @@ + flags_dbg_all="$flags_dbg_all -gdwarf-2" + flags_dbg_all="$flags_dbg_all -gvms" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -Os -O3 -O4" + flags_opt_yes="-Os" + flags_opt_off="-O0" +@@ -139,7 +138,6 @@ + compiler_id="DEC_C" + flags_dbg_all="-g -g0 -g1 -g2 -g3" + flags_dbg_yes="-g2" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -O4" + flags_opt_yes="-O1" + flags_opt_off="-O0" +@@ -175,7 +173,6 @@ + flags_dbg_all="$flags_dbg_all -gdwarf-2" + flags_dbg_all="$flags_dbg_all -gvms" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -Os -Og -Ofast" + flags_opt_yes="-O2" + flags_opt_off="-O0" +@@ -220,7 +217,6 @@ + compiler_id="IBM_C" + flags_dbg_all="-g -g0 -g1 -g2 -g3" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -O4 -O5" + flags_opt_all="$flags_opt_all -qnooptimize" + flags_opt_all="$flags_opt_all -qoptimize=0" +@@ -254,7 +250,6 @@ + compiler_id="INTEL_UNIX_C" + flags_dbg_all="-g -g0" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -Os" + flags_opt_yes="-O2" + flags_opt_off="-O0" +@@ -292,7 +287,6 @@ + compiler_id="LCC" + flags_dbg_all="-g" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="" + flags_opt_yes="" + flags_opt_off="" +@@ -318,7 +312,6 @@ + compiler_id="SGI_MIPS_C" + flags_dbg_all="-g -g0 -g1 -g2 -g3" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast" + flags_opt_yes="-O2" + flags_opt_off="-O0" +@@ -345,7 +338,6 @@ + compiler_id="SGI_MIPSPRO_C" + flags_dbg_all="-g -g0 -g1 -g2 -g3" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast" + flags_opt_yes="-O2" + flags_opt_off="-O0" +@@ -389,7 +381,6 @@ + compiler_id="TINY_C" + flags_dbg_all="-g -b" + flags_dbg_yes="-g" +- flags_dbg_off="" + flags_opt_all="" + flags_opt_yes="" + flags_opt_off="" +@@ -413,7 +404,6 @@ + compiler_id="WATCOM_UNIX_C" + flags_dbg_all="-g1 -g1+ -g2 -g3" + flags_dbg_yes="-g2" +- flags_dbg_off="" + flags_opt_all="-O0 -O1 -O2 -O3" + flags_opt_yes="-O2" + flags_opt_off="-O0" +@@ -421,7 +411,6 @@ + compiler_id="WATCOM_WINDOWS_C" + flags_dbg_all="" + flags_dbg_yes="" +- flags_dbg_off="" + flags_opt_all="" + flags_opt_yes="" + flags_opt_off="" diff --git a/debian/patches/08_enable-zsh.patch b/debian/patches/08_enable-zsh.patch new file mode 100644 index 000000000..3a85e380a --- /dev/null +++ b/debian/patches/08_enable-zsh.patch @@ -0,0 +1,20 @@ +Description: Enable zsh completion generation +Origin: vendor +Forwarded: not-needed +Author: Alessandro Ghedini +Reviewed-by: Alessandro Ghedini +Last-Update: 2016-08-03 + +--- a/Makefile.am ++++ b/Makefile.am +@@ -178,8 +178,8 @@ + + bin_SCRIPTS = curl-config + +-SUBDIRS = lib src +-DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs ++SUBDIRS = lib src scripts ++DIST_SUBDIRS = $(SUBDIRS) tests packages include docs + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libcurl.pc diff --git a/debian/patches/11_omit-directories-from-config.patch b/debian/patches/11_omit-directories-from-config.patch new file mode 100644 index 000000000..59940faea --- /dev/null +++ b/debian/patches/11_omit-directories-from-config.patch @@ -0,0 +1,53 @@ +Description: In order to (partially) multi-arch-ify curl-config, remove all + mention of @includedir@ and @libdir@ from the script. On Debian, the actual + header and library directories are architecture-dependent, but will always be + in the C compiler's default search path, so -I and -L options are not + necessary (and may be harmful in multi-arch environments.) +Origin: vendor +Bug-Debian: http://bugs.debian.org/731998 +Forwarded: not-needed +Author: Benjamin Moody +Reviewed-by: Alessandro Ghedini +Last-Update: 2017-01-10 + +--- a/curl-config.in ++++ b/curl-config.in +@@ -23,7 +23,6 @@ + + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-includedir=@includedir@ + cppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@ + + usage() +@@ -147,19 +146,11 @@ + else + CPPFLAG_CURL_STATICLIB="" + fi +- if test "X@includedir@" = "X/usr/include"; then +- echo "$CPPFLAG_CURL_STATICLIB" +- else +- echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@" +- fi ++ echo "$CPPFLAG_CURL_STATICLIB" + ;; + + --libs) +- if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then +- CURLLIBDIR="-L@libdir@ " +- else +- CURLLIBDIR="" +- fi ++ CURLLIBDIR="" + if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then + echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@ + else +@@ -172,7 +163,7 @@ + + --static-libs) + if test "X@ENABLE_STATIC@" != "Xno" ; then +- echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ ++ echo -Wl,-Bstatic -lcurl -Wl,-Bdynamic @LDFLAGS@ @LIBCURL_LIBS@ + else + echo "curl was built with static libraries disabled" >&2 + exit 1 diff --git a/debian/patches/90_gnutls.patch b/debian/patches/90_gnutls.patch new file mode 100644 index 000000000..372a3786d --- /dev/null +++ b/debian/patches/90_gnutls.patch @@ -0,0 +1,142 @@ +Description: Build with GnuTLS. +Origin: vendor +Forwarded: not-needed +Author: Ramakrishnan Muthukrishnan +Reviewed-by: Alessandro Ghedini +Last-Update: 2018-05-23 + +--- a/docs/examples/Makefile.am ++++ b/docs/examples/Makefile.am +@@ -48,9 +48,9 @@ + + # Dependencies + if USE_EXPLICIT_LIB_DEPS +-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@ ++LDADD = $(LIBDIR)/libcurl-gnutls.la @LIBCURL_LIBS@ + else +-LDADD = $(LIBDIR)/libcurl.la ++LDADD = $(LIBDIR)/libcurl-gnutls.la + endif + + # This might hold -Werror +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -31,7 +31,7 @@ + config-tpf.h mk-ca-bundle.pl mk-ca-bundle.vbs $(CMAKE_DIST) \ + firefox-db2pem.sh config-vxworks.h Makefile.vxworks checksrc.pl + +-lib_LTLIBRARIES = libcurl.la ++lib_LTLIBRARIES = libcurl-gnutls.la + + if BUILD_UNITTESTS + noinst_LTLIBRARIES = libcurlu.la +@@ -83,43 +83,43 @@ + AM_LDFLAGS = + AM_CFLAGS = + +-libcurl_la_CPPFLAGS_EXTRA = +-libcurl_la_LDFLAGS_EXTRA = +-libcurl_la_CFLAGS_EXTRA = ++libcurl_gnutls_la_CPPFLAGS_EXTRA = ++libcurl_gnutls_la_LDFLAGS_EXTRA = ++libcurl_gnutls_la_CFLAGS_EXTRA = + + if CURL_LT_SHLIB_USE_VERSION_INFO +-libcurl_la_LDFLAGS_EXTRA += $(VERSIONINFO) ++libcurl_gnutls_la_LDFLAGS_EXTRA += $(VERSIONINFO) + endif + + if CURL_LT_SHLIB_USE_NO_UNDEFINED +-libcurl_la_LDFLAGS_EXTRA += -no-undefined ++libcurl_gnutls_la_LDFLAGS_EXTRA += -no-undefined + endif + + if CURL_LT_SHLIB_USE_MIMPURE_TEXT +-libcurl_la_LDFLAGS_EXTRA += -mimpure-text ++libcurl_gnutls_la_LDFLAGS_EXTRA += -mimpure-text + endif + + if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS +-libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers ++libcurl_gnutls_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers + else + # if symbol-hiding is enabled, hide them! + if DOING_CURL_SYMBOL_HIDING +-libcurl_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*' ++libcurl_gnutls_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*' + endif + endif + + if USE_CPPFLAG_CURL_STATICLIB +-libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB ++libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB + endif + + if DOING_CURL_SYMBOL_HIDING +-libcurl_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS +-libcurl_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) ++libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS ++libcurl_gnutls_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) + endif + +-libcurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA) +-libcurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) +-libcurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA) ++libcurl_gnutls_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_gnutls_la_CPPFLAGS_EXTRA) ++libcurl_gnutls_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_gnutls_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) ++libcurl_gnutls_la_CFLAGS = $(AM_CFLAGS) $(libcurl_gnutls_la_CFLAGS_EXTRA) + + libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS + libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS) +@@ -128,7 +128,7 @@ + # Makefile.inc provides the CSOURCES and HHEADERS defines + include Makefile.inc + +-libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) ++libcurl_gnutls_la_SOURCES = $(CSOURCES) $(HHEADERS) + libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) + + CHECKSRC = $(CS_$(V)) +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -61,9 +61,9 @@ + LIBS = $(BLANK_AT_MAKETIME) + + if USE_EXPLICIT_LIB_DEPS +-curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ ++curl_LDADD = $(top_builddir)/lib/libcurl-gnutls.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ + else +-curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ ++curl_LDADD = $(top_builddir)/lib/libcurl-gnutls.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ + endif + + curl_LDFLAGS = @LIBMETALINK_LDFLAGS@ +--- a/tests/libtest/Makefile.am ++++ b/tests/libtest/Makefile.am +@@ -57,11 +57,11 @@ + LIBS = $(BLANK_AT_MAKETIME) + + if USE_EXPLICIT_LIB_DEPS +-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@ +-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@ ++SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @LIBCURL_LIBS@ ++TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @LIBCURL_LIBS@ + else +-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ +-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ ++SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ ++TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ + endif + + # Dependencies (may need to be overridden) +--- a/lib/libcurl.vers.in ++++ b/lib/libcurl.vers.in +@@ -6,7 +6,7 @@ + _save*; + }; + +-CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@4 ++CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@3 + { + global: curl_*; + local: *; diff --git a/debian/patches/99_nss.patch b/debian/patches/99_nss.patch new file mode 100644 index 000000000..b35f24666 --- /dev/null +++ b/debian/patches/99_nss.patch @@ -0,0 +1,131 @@ +Description: Build with NSS. +Origin: vendor +Forwarded: not-needed +Author: Ramakrishnan Muthukrishnan +Reviewed-by: Alessandro Ghedini +Last-Update: 2015-08-12 + +--- a/docs/examples/Makefile.am ++++ b/docs/examples/Makefile.am +@@ -48,9 +48,9 @@ + + # Dependencies + if USE_EXPLICIT_LIB_DEPS +-LDADD = $(LIBDIR)/libcurl-gnutls.la @LIBCURL_LIBS@ ++LDADD = $(LIBDIR)/libcurl-nss.la @LIBCURL_LIBS@ + else +-LDADD = $(LIBDIR)/libcurl-gnutls.la ++LDADD = $(LIBDIR)/libcurl-nss.la + endif + + # This might hold -Werror +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -31,7 +31,7 @@ + config-tpf.h mk-ca-bundle.pl mk-ca-bundle.vbs $(CMAKE_DIST) \ + firefox-db2pem.sh config-vxworks.h Makefile.vxworks checksrc.pl + +-lib_LTLIBRARIES = libcurl-gnutls.la ++lib_LTLIBRARIES = libcurl-nss.la + + if BUILD_UNITTESTS + noinst_LTLIBRARIES = libcurlu.la +@@ -83,43 +83,43 @@ + AM_LDFLAGS = + AM_CFLAGS = + +-libcurl_gnutls_la_CPPFLAGS_EXTRA = +-libcurl_gnutls_la_LDFLAGS_EXTRA = +-libcurl_gnutls_la_CFLAGS_EXTRA = ++libcurl_nss_la_CPPFLAGS_EXTRA = ++libcurl_nss_la_LDFLAGS_EXTRA = ++libcurl_nss_la_CFLAGS_EXTRA = + + if CURL_LT_SHLIB_USE_VERSION_INFO +-libcurl_gnutls_la_LDFLAGS_EXTRA += $(VERSIONINFO) ++libcurl_nss_la_LDFLAGS_EXTRA += $(VERSIONINFO) + endif + + if CURL_LT_SHLIB_USE_NO_UNDEFINED +-libcurl_gnutls_la_LDFLAGS_EXTRA += -no-undefined ++libcurl_nss_la_LDFLAGS_EXTRA += -no-undefined + endif + + if CURL_LT_SHLIB_USE_MIMPURE_TEXT +-libcurl_gnutls_la_LDFLAGS_EXTRA += -mimpure-text ++libcurl_nss_la_LDFLAGS_EXTRA += -mimpure-text + endif + + if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS +-libcurl_gnutls_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers ++libcurl_nss_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers + else + # if symbol-hiding is enabled, hide them! + if DOING_CURL_SYMBOL_HIDING +-libcurl_gnutls_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*' ++libcurl_nss_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*' + endif + endif + + if USE_CPPFLAG_CURL_STATICLIB +-libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB ++libcurl_nss_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB + endif + + if DOING_CURL_SYMBOL_HIDING +-libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS +-libcurl_gnutls_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) ++libcurl_nss_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS ++libcurl_nss_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) + endif + +-libcurl_gnutls_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_gnutls_la_CPPFLAGS_EXTRA) +-libcurl_gnutls_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_gnutls_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) +-libcurl_gnutls_la_CFLAGS = $(AM_CFLAGS) $(libcurl_gnutls_la_CFLAGS_EXTRA) ++libcurl_nss_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_nss_la_CPPFLAGS_EXTRA) ++libcurl_nss_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_nss_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) ++libcurl_nss_la_CFLAGS = $(AM_CFLAGS) $(libcurl_nss_la_CFLAGS_EXTRA) + + libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS + libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS) +@@ -128,7 +128,7 @@ + # Makefile.inc provides the CSOURCES and HHEADERS defines + include Makefile.inc + +-libcurl_gnutls_la_SOURCES = $(CSOURCES) $(HHEADERS) ++libcurl_nss_la_SOURCES = $(CSOURCES) $(HHEADERS) + libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) + + CHECKSRC = $(CS_$(V)) +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -61,9 +61,9 @@ + LIBS = $(BLANK_AT_MAKETIME) + + if USE_EXPLICIT_LIB_DEPS +-curl_LDADD = $(top_builddir)/lib/libcurl-gnutls.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ ++curl_LDADD = $(top_builddir)/lib/libcurl-nss.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ + else +-curl_LDADD = $(top_builddir)/lib/libcurl-gnutls.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ ++curl_LDADD = $(top_builddir)/lib/libcurl-nss.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ + endif + + curl_LDFLAGS = @LIBMETALINK_LDFLAGS@ +--- a/tests/libtest/Makefile.am ++++ b/tests/libtest/Makefile.am +@@ -57,11 +57,11 @@ + LIBS = $(BLANK_AT_MAKETIME) + + if USE_EXPLICIT_LIB_DEPS +-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @LIBCURL_LIBS@ +-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @LIBCURL_LIBS@ ++SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-nss.la @LIBCURL_LIBS@ ++TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-nss.la @LIBCURL_LIBS@ + else +-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ +-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-gnutls.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ ++SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl-nss.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ ++TESTUTIL_LIBS = $(top_builddir)/lib/libcurl-nss.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ + endif + + # Dependencies (may need to be overridden) diff --git a/debian/patches/git_tls13_gnutls.patch b/debian/patches/git_tls13_gnutls.patch new file mode 100644 index 000000000..57c84dcb4 --- /dev/null +++ b/debian/patches/git_tls13_gnutls.patch @@ -0,0 +1,172 @@ +From b8c82c9a33be5b135dd390f7fc08708826a862e8 Mon Sep 17 00:00:00 2001 +From: Dirkjan Bussink +Date: Sun, 12 Apr 2020 11:29:09 +0000 +Subject: [PATCH] Ensure TLS 1.3 works with GnuTLS + +When SRP is requested in the priority string, GnuTLS will disable +support for TLS 1.3. Before this change, curl would always add +SRP to +the priority list, effectively always disabling TLS 1.3 support. + +With this change, +SRP is only added to the priority list when SRP +authentication is also requested. This also allows updating the error +handling here to not have to retry without SRP. This is because SRP is +only added when requested and in that case a retry is not needed. +--- + lib/vtls/gtls.c | 81 +++++++++++++++++++++++++++---------------------- + 1 file changed, 45 insertions(+), 36 deletions(-) + +Index: curl-7.68.0/lib/vtls/gtls.c +=================================================================== +--- curl-7.68.0.orig/lib/vtls/gtls.c ++++ curl-7.68.0/lib/vtls/gtls.c +@@ -447,32 +447,32 @@ set_ssl_version_min_max(const char **pri + switch(ssl_version | ssl_version_max) { + case CURL_SSLVERSION_TLSv1_0 | CURL_SSLVERSION_MAX_TLSv1_0: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.0:" GNUTLS_SRP; ++ "+VERS-TLS1.0"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_0 | CURL_SSLVERSION_MAX_TLSv1_1: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.0:+VERS-TLS1.1:" GNUTLS_SRP; ++ "+VERS-TLS1.0:+VERS-TLS1.1"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_0 | CURL_SSLVERSION_MAX_TLSv1_2: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2:" GNUTLS_SRP; ++ "+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_1 | CURL_SSLVERSION_MAX_TLSv1_1: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.1:" GNUTLS_SRP; ++ "+VERS-TLS1.1"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_1 | CURL_SSLVERSION_MAX_TLSv1_2: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.1:+VERS-TLS1.2:" GNUTLS_SRP; ++ "+VERS-TLS1.1:+VERS-TLS1.2"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_2 | CURL_SSLVERSION_MAX_TLSv1_2: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.2:" GNUTLS_SRP; ++ "+VERS-TLS1.2"; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_3 | CURL_SSLVERSION_MAX_TLSv1_3: + #ifdef HAS_TLS13 + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.3:" GNUTLS_SRP; ++ "+VERS-TLS1.3"; + return CURLE_OK; + #else + failf(data, "GnuTLS: TLS 1.3 is not yet supported"); +@@ -480,35 +480,35 @@ set_ssl_version_min_max(const char **pri + #endif + case CURL_SSLVERSION_TLSv1_0 | CURL_SSLVERSION_MAX_DEFAULT: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2:" ++ "+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2" + #ifdef HAS_TLS13 +- "+VERS-TLS1.3:" ++ ":+VERS-TLS1.3" + #endif +- GNUTLS_SRP; ++ ; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_1 | CURL_SSLVERSION_MAX_DEFAULT: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.1:+VERS-TLS1.2:" ++ "+VERS-TLS1.1:+VERS-TLS1.2" + #ifdef HAS_TLS13 +- "+VERS-TLS1.3:" ++ ":+VERS-TLS1.3" + #endif +- GNUTLS_SRP; ++ ; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_2 | CURL_SSLVERSION_MAX_DEFAULT: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.2:" ++ "+VERS-TLS1.2" + #ifdef HAS_TLS13 +- "+VERS-TLS1.3:" ++ ":+VERS-TLS1.3" + #endif +- GNUTLS_SRP; ++ ; + return CURLE_OK; + case CURL_SSLVERSION_TLSv1_3 | CURL_SSLVERSION_MAX_DEFAULT: + *prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:-VERS-TLS-ALL:" +- "+VERS-TLS1.2:" ++ "+VERS-TLS1.2" + #ifdef HAS_TLS13 +- "+VERS-TLS1.3:" ++ ":+VERS-TLS1.3" + #endif +- GNUTLS_SRP; ++ ; + return CURLE_OK; + } + +@@ -760,11 +760,11 @@ gtls_connect_step1(struct connectdata *c + break; + case CURL_SSLVERSION_DEFAULT: + case CURL_SSLVERSION_TLSv1: +- prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0:" ++ prioritylist = GNUTLS_CIPHERS ":-VERS-SSL3.0" + #ifdef HAS_TLS13 +- "+VERS-TLS1.3:" ++ ":+VERS-TLS1.3" + #endif +- GNUTLS_SRP; ++ ; + break; + case CURL_SSLVERSION_TLSv1_0: + case CURL_SSLVERSION_TLSv1_1: +@@ -783,24 +783,33 @@ gtls_connect_step1(struct connectdata *c + failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION"); + return CURLE_SSL_CONNECT_ERROR; + } +- rc = gnutls_priority_set_direct(session, prioritylist, &err); +- if((rc == GNUTLS_E_INVALID_REQUEST) && err) { +- if(!strcmp(err, GNUTLS_SRP)) { +- /* This GnuTLS was probably compiled without support for SRP. +- * Note that fact and try again without it. */ +- int validprioritylen = curlx_uztosi(err - prioritylist); +- char *prioritycopy = strdup(prioritylist); +- if(!prioritycopy) +- return CURLE_OUT_OF_MEMORY; + ++#ifdef USE_TLS_SRP ++ /* Only add SRP to the cipher list if SRP is requested. Otherwise ++ * GnuTLS will disable TLS 1.3 support. */ ++ if(SSL_SET_OPTION(authtype) == CURL_TLSAUTH_SRP) { ++ size_t len = strlen(prioritylist); ++ ++ char *prioritysrp = malloc(len + sizeof(GNUTLS_SRP) + 1); ++ if(!prioritysrp) ++ return CURLE_OUT_OF_MEMORY; ++ strcpy(prioritysrp, prioritylist); ++ strcpy(prioritysrp + len, ":" GNUTLS_SRP); ++ ++ rc = gnutls_priority_set_direct(session, prioritysrp, &err); ++ free(prioritysrp); ++ ++ if((rc == GNUTLS_E_INVALID_REQUEST) && err) { + infof(data, "This GnuTLS does not support SRP\n"); +- if(validprioritylen) +- /* Remove the :+SRP */ +- prioritycopy[validprioritylen - 1] = 0; +- rc = gnutls_priority_set_direct(session, prioritycopy, &err); +- free(prioritycopy); + } + } ++ else { ++#endif ++ rc = gnutls_priority_set_direct(session, prioritylist, &err); ++#ifdef USE_TLS_SRP ++ } ++#endif ++ + if(rc != GNUTLS_E_SUCCESS) { + failf(data, "Error %d setting GnuTLS cipher list starting with %s", + rc, err); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 000000000..8c38f56f3 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,10 @@ +git_tls13_gnutls.patch +04_workaround_as_needed_bug.patch +06_always-disable-valgrind.patch +07_do-not-disable-debug-symbols.patch +08_enable-zsh.patch +11_omit-directories-from-config.patch + +# do not add patches below +90_gnutls.patch +99_nss.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..f5a171b17 --- /dev/null +++ b/debian/rules @@ -0,0 +1,119 @@ +#! /usr/bin/make -f + +# this will avoid unneded dependencies +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +# this will catch miss-linking. (e.g. undefined symbols) +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs + +# enable all hardening options (see #763372) +export DEB_BUILD_MAINT_OPTIONS := hardening=+all + +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +CONFIGURE_ARGS = -- --disable-dependency-tracking \ + --disable-symbol-hiding --enable-versioned-symbols \ + --enable-threaded-resolver --with-lber-lib=lber \ + --with-gssapi=/usr --with-libssh2 --with-nghttp2 \ + --includedir=/usr/include/$(DEB_HOST_MULTIARCH) \ + --with-zsh-functions-dir=/usr/share/zsh/vendor-completions + +# disable libssh2 on Ubuntu (see #888449) +ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) + CONFIGURE_ARGS += --without-libssh2 --with-libssh +endif + +%: + dh $@ + +override_dh_auto_configure: + mkdir -p debian/build debian/build-gnutls debian/build-nss + # pop the last patch (nss) + quilt pop + # pop the second last patch (gnutls) + quilt pop + # get the source without nss and gnutls patches + tar -cf - --exclude=debian/build* --exclude=.pc . \ + | tar -xf - -C debian/build + # push the second last patch which must be gnutls + quilt push + # get the source with gnutls patch applied + tar -cf - --exclude=debian/build* --exclude=.pc . \ + | tar -xf - -C debian/build-gnutls + # push the last patch which must be nss + quilt push + # get the source with nss patch applied + tar -cf - --exclude=debian/build* --exclude=.pc . \ + | tar -xf - -C debian/build-nss + # run buildconf and make sure to copy the patched ltmain.sh + for flavour in build build-gnutls build-nss; do \ + (cd debian/$$flavour && ./buildconf && cp ../../ltmain.sh .) \ + done + cd debian/build && dh_auto_configure ${CONFIGURE_ARGS} \ + --with-ca-path=/etc/ssl/certs \ + --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt + cd debian/build-gnutls && dh_auto_configure ${CONFIGURE_ARGS} \ + --with-ca-path=/etc/ssl/certs \ + --without-ssl --with-gnutls + cd debian/build-nss && dh_auto_configure ${CONFIGURE_ARGS} \ + --without-ssl --with-nss + +override_dh_auto_build: + cd debian/build && dh_auto_build + cd debian/build-gnutls && dh_auto_build + cd debian/build-nss && dh_auto_build + +override_dh_auto_test: + -cd debian/build && dh_auto_test + -cd debian/build-gnutls && dh_auto_test + -cd debian/build-nss && dh_auto_test + +override_dh_install: + ${MAKE} -C debian/build \ + DESTDIR=$(shell pwd)/debian/tmp install + ${MAKE} -C debian/build-gnutls \ + DESTDIR=$(shell pwd)/debian/tmp-gnutls install + ${MAKE} -C debian/build-nss \ + DESTDIR=$(shell pwd)/debian/tmp-nss install + dh_install -plibcurl3-gnutls -plibcurl4-gnutls-dev \ + --sourcedir=debian/tmp-gnutls + dh_install -plibcurl3-nss -plibcurl4-nss-dev \ + --sourcedir=debian/tmp-nss + dh_install -pcurl -plibcurl4 -plibcurl4-openssl-dev -plibcurl4-doc \ + --sourcedir=debian/tmp + sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` +# Modify curl-config to make it architecture-independent: +# 1. In --static-libs output, replace the output of krb5-config (which +# currently includes architecture-specific paths) with a call at +# runtime to krb5-config. Of course, this will only work correctly +# if the installed libkrb5-dev matches the architecture of the +# program you're linking, or if libkrb5-dev is made +# multiarch-compatible at some point in the future. For dynamic +# linking this has no impact. +# 2. In --configure output, replace the architecture-specific paths +# used for --libdir and --libexecdir with a literal backquoted call +# to dpkg-architecture. This is functionally equivalent to the way +# debhelper actually invokes configure, and indicates to the user +# (who runs curl-config --configure in order to learn about how the +# library was compiled) that they are in fact using a multi-arch +# package. +# 3. Likewise, replace the architecture name used for --build (and +# build_alias) with a literal backquoted call to dpkg-architecture. +# 4. In --configure output, remove +# -fdebug-prefix-map=/buildd/specific/random/path=. + sed -e "/-lcurl /s|`krb5-config --libs gssapi`|\`krb5-config --libs gssapi\`|" \ + -e "/--prefix/s|/$(DEB_HOST_MULTIARCH)'|/'\\\\\`dpkg-architecture -qDEB_HOST_MULTIARCH\\\\\`|g" \ + -e "/--prefix/s|=$(DEB_BUILD_GNU_TYPE)'|='\\\\\`dpkg-architecture -qDEB_BUILD_GNU_TYPE\\\\\`|g" \ + -e "/-fdebug-prefix-map=/s|\(-fdebug-prefix-map=\)/[^ ]*=.||" \ + -i `find . -name curl-config` + +override_dh_installchangelogs: + dh_installchangelogs CHANGES + +override_dh_compress: + dh_compress -X.pdf + +override_dh_auto_clean: + $(RM) -r debian/build* debian/tmp* + dh_auto_clean diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..cace44570 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +https://curl.haxx.se/download/curl-([\d\.]*).tar.gz