From: "Tom G. Christensen" <tgc@jupiterrise.com>
To: Jeff King <peff@peff.net>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, git@vger.kernel.org
Subject: Re: [PATCH 0/4] dropping support for older curl
Date: Fri, 11 Aug 2017 00:23:42 +0200 [thread overview]
Message-ID: <fbd7e636-0087-9c2b-746f-e2413c6d2133@jupiterrise.com> (raw)
In-Reply-To: <20170810213236.dej4ibsag2lxf5w2@sigill.intra.peff.net>
On 10/08/17 23:32, Jeff King wrote:
> On Thu, Aug 10, 2017 at 10:33:18PM +0200, Tom G. Christensen wrote:
>
>>> You've totally ignored the argument I made back then[1], and which I
>>> reiterated in this thread. So I'll say it one more time: the more
>>> compelling reason is not the #ifdefs, but the fact that the older
>>> versions are totally untested.
>>
>> Perhaps you forgot but I stated in the original thread that I build RPMS for
>> RHEL/CentOS 3, 4, 5, 6 and 7. I still do and I run the testsuite every
>> single time.
>
> I didn't forget. I actually double-checked the patches you sent at the
> time, but I didn't see one for the CURLPROTO issue. And indeed, it is
> still broken for me:
>
> $ cd /path/to/curl/repo
> $ git checkout curl-7_15_5
> $ ./buildconf && ./configure --prefix=/tmp/foo && make install
> $ cd /path/to/git
> $ git checkout v2.14.0
> $ make CURLDIR=/tmp/foo V=1 http.o
> gcc -o http.o -c -MF ./.depend/http.o.d -MQ http.o -MMD -MP -g -O0 -Wall -Werror -Wdeclaration-after-statement -Wpointer-arith -Wstrict-prototypes -Wvla -Wold-style-declaration -Wold-style-definition -Wno-error -Wno-cpp -Wno-unused-value -Wno-strict-prototypes -I. -DUSE_LIBPCRE1 -DHAVE_ALLOCA_H -I/tmp/foo/include -DUSE_CURL_FOR_IMAP_SEND -DNO_GETTEXT -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_TRAILING_INCLUDE_SHA1_C="\"sha1dc_git.c\"" -DSHA1DC_CUSTOM_TRAILING_INCLUDE_SHA1_H="\"sha1dc_git.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='
> "/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http.c
> http.c: In function ‘get_curl_allowed_protocols’:
> http.c:685:24: error: ‘CURLPROTO_HTTP’ undeclared (first use in this function); did you mean ‘CURLPROXY_HTTP’?
> allowed_protocols |= CURLPROTO_HTTP;
> ^~~~~~~~~~~~~~
> CURLPROXY_HTTP
> [and so on]
>
>> I just built a pristine 2.14.0 on CentOS 5 with curl 7.15.5. No problems at
>> all neither with building nor with running the testsuite.
>
> As you can see, this does not compile for me. What's going on?
>
The call site for get_curl_allowed_protocols() in http.c is still
protected by an #if:
#if LIBCURL_VERSION_NUM >= 0x071304
curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS,
get_curl_allowed_protocols(0));
curl_easy_setopt(result, CURLOPT_PROTOCOLS,
get_curl_allowed_protocols(-1));
#else
warning("protocol restrictions not applied to curl redirects
because\n"
"your curl version is too old (>= 7.19.4)");
#endif
> I don't see how it could work, as CURLPROTO_HTTP is not defined at all
> in that version of curl.
Indeed but the #if will handle that.
> Can you please double-check that you're
> building against the correct version of curl, and that you are building
> the HTTP parts of Git (which _are_ optional, and the test suite will
> pass without them).
>
I use a mock buildroot and there is no other curl than the vendor
supplied 7.15.5 installed:
# pwd
/var/lib/mock/jrpms-el5-x86_64/root
# find . -name 'curlver.h'
./usr/include/curl/curlver.h
# grep LIBCURL_VERSION_NUM ./usr/include/curl/curlver.h
parsing and comparions by programs. The LIBCURL_VERSION_NUM define will
#define LIBCURL_VERSION_NUM 0x070f05
#
[root@c5-32bit-01 ~]# rpm -q git
git-2.14.1-1.el5.jr
[root@c5-32bit-01 ~]# ldd /usr/libexec/git-core/git-http-fetch |grep libcurl
libcurl.so.3 => /usr/lib/libcurl.so.3 (0x001e7000)
[root@c5-32bit-01 ~]# rpm -qf /usr/lib/libcurl.so.3
curl-7.15.5-17.el5_9
[root@c5-32bit-01 ~]# git --version
git version 2.14.1
[root@c5-32bit-01 ~]# git clone
https://github.com/tgc/tgcware-for-solaris.git
Cloning into 'tgcware-for-solaris'...
warning: protocol restrictions not applied to curl redirects because
your curl version is too old (>= 7.19.4)
remote: Counting objects: 2793, done.
remote: Total 2793 (delta 0), reused 0 (delta 0), pack-reused 2793
Receiving objects: 100% (2793/2793), 780.88 KiB | 639.00 KiB/s, done.
Resolving deltas: 100% (1233/1233), done.
[root@c5-32bit-01 ~]#
<snip>
> I also won't claim any absolutes. I think we all agree this is a
> cost/benefit tradeoff. But there are a lot of options for building on a
> very old system. For instance, building without http if you don't need
> it. Or building a more recent libcurl (and even linking statically for
> simplicity).
>
Of course that is always an option but it does complicate things.
> I'd find arguments against the latter more compelling if recent curl
> were hard to compile on old systems. I don't know whether that's the
> case (certainly on a modern system, it's much easier to get newer
> versions of curl to compile than older ones).
>
I have no experience with building curl on older Linux systems. I know
that I can build it on old Solaris releases but that is not quite the
same since there I am also building against recent versions of curls
dependecies (openssl etc.).
>> Also FWIW Red Hat continues to support RHEL 5 with the Extended Life-cycle
>> Support program until 2020-11-30.
>
> I saw that, too. But as I understand it, they provide no code updates:
> no bugfixes and no security updates. They just promise to answer the
> phone and help you with troubleshooting. It's possible my perception is
> wrong, though; I'm certainly not one of their customers.
>
I am refering to the Extended Life-cycle Support product (ELS), which
promises:
"the ELS Add-On delivers certain critical-impact security fixes and
selected urgent priority bug fixes and troubleshooting for the last
minor release"
The full description is here:
https://access.redhat.com/support/policy/updates/errata#Extended_Life_Cycle_Phase
-tgc
next prev parent reply other threads:[~2017-08-10 22:23 UTC|newest]
Thread overview: 173+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-09 12:00 [PATCH 0/4] dropping support for older curl Jeff King
2017-08-09 12:01 ` [PATCH 1/4] http: drop support for curl < 7.11.1 Jeff King
2017-08-09 12:01 ` [PATCH 2/4] http: drop support for curl < 7.16.0 Jeff King
2017-08-09 17:29 ` Stefan Beller
2017-08-09 21:13 ` Jeff King
2017-08-09 17:40 ` Junio C Hamano
2017-08-09 18:03 ` Nicolas Morey-Chaisemartin
2017-08-09 21:17 ` Jeff King
2017-08-09 21:29 ` Nicolas Morey-Chaisemartin
2017-08-09 21:49 ` Jeff King
2017-08-09 21:15 ` Jeff King
2017-08-09 12:02 ` [PATCH 3/4] http: drop support for curl < 7.19.4 Jeff King
2017-08-09 13:14 ` Ævar Arnfjörð Bjarmason
2017-08-09 13:38 ` Jeff King
2017-08-09 13:49 ` [PATCH 5/4] curl: remove ifdef'd code never used with curl >=7.19.4 Ævar Arnfjörð Bjarmason
2017-08-09 17:34 ` [PATCH 3/4] http: drop support for curl < 7.19.4 Stefan Beller
2017-08-09 21:19 ` Jeff King
2017-08-10 12:36 ` Mischa POSLAWSKY
2017-08-10 17:34 ` Jeff King
2017-08-09 12:02 ` [PATCH 4/4] http: #error on too-old curl Jeff King
2017-08-09 17:37 ` Stefan Beller
2017-08-09 21:42 ` [PATCH 0/4] dropping support for older curl Johannes Schindelin
2017-08-09 21:47 ` Jeff King
2017-08-10 9:01 ` Tom G. Christensen
2017-08-10 9:36 ` Johannes Schindelin
2017-08-10 21:33 ` Jeff King
2017-08-10 22:17 ` Junio C Hamano
2017-08-10 23:09 ` Jeff King
2017-08-11 0:17 ` Jeff King
[not found] ` <CAHVLzcnnrABmkYNg31Aq99NgBbyuCKEM60pHGygyjXbjmaUEYQ@mail.gmail.com>
2017-08-14 21:50 ` Johannes Schindelin
2017-08-10 20:33 ` Tom G. Christensen
2017-08-10 21:32 ` Jeff King
2017-08-10 22:23 ` Tom G. Christensen [this message]
2017-08-10 22:54 ` Jeff King
2017-08-10 23:17 ` Tom G. Christensen
2017-08-10 23:23 ` Jeff King
2017-08-10 23:36 ` Tom G. Christensen
2017-08-11 16:37 ` [PATCH 0/2] http: handle curl with vendor backports Tom G. Christensen
2017-08-11 22:15 ` Junio C Hamano
2017-08-12 6:20 ` Tom G. Christensen
2017-08-20 8:47 ` Jeff King
2017-08-20 16:28 ` Junio C Hamano
2017-08-23 15:41 ` Jeff King
2017-08-11 16:37 ` [PATCH 1/2] http: Fix handling of missing CURLPROTO_* Tom G. Christensen
2017-08-12 0:30 ` Junio C Hamano
2017-08-12 9:04 ` Tom G. Christensen
2017-08-20 8:59 ` Jeff King
2017-08-11 16:37 ` [PATCH 2/2] http: use a feature check to enable GSSAPI delegation control Tom G. Christensen
2017-08-09 23:39 ` [PATCH 0/4] dropping support for older curl Ævar Arnfjörð Bjarmason
[not found] ` <87zib8g8ub.fsf@gmail.com>
2017-08-10 10:04 ` Dropping support for older perl Tom G. Christensen
2021-07-21 22:22 ` [PATCH v2 0/5] drop support for ancient curl Ævar Arnfjörð Bjarmason
2021-07-21 22:22 ` [PATCH v2 1/5] http: drop support for curl < 7.11.1 Ævar Arnfjörð Bjarmason
2021-07-21 22:56 ` Junio C Hamano
2021-07-21 22:22 ` [PATCH v2 2/5] http: drop support for curl < 7.16.0 Ævar Arnfjörð Bjarmason
2021-07-21 22:22 ` [PATCH v2 3/5] http: drop support for curl < 7.19.4 Ævar Arnfjörð Bjarmason
2021-07-21 23:05 ` Junio C Hamano
2021-07-21 22:22 ` [PATCH v2 4/5] http: drop support for curl < 7.19.3 and < 7.16.4 (again) Ævar Arnfjörð Bjarmason
2021-07-21 23:17 ` Junio C Hamano
2021-07-21 22:22 ` [PATCH v2 5/5] http: rename CURLOPT_FILE to CURLOPT_WRITEDATA Ævar Arnfjörð Bjarmason
2021-07-21 23:19 ` Junio C Hamano
2021-07-21 22:39 ` [PATCH v2 0/5] drop support for ancient curl Junio C Hamano
2021-07-21 22:56 ` brian m. carlson
2021-07-22 7:09 ` Ævar Arnfjörð Bjarmason
2021-07-22 22:56 ` brian m. carlson
2021-07-23 7:17 ` Ævar Arnfjörð Bjarmason
2021-07-22 6:27 ` Bagas Sanjaya
2021-07-23 10:16 ` Jeff King
2021-07-23 16:21 ` Junio C Hamano
2021-07-23 16:49 ` Randall S. Becker
2021-07-24 1:19 ` Jeff King
2021-07-30 9:31 ` [PATCH v3 0/7] drop support for ancient curl, improve version checks Ævar Arnfjörð Bjarmason
2021-07-30 9:31 ` [PATCH v3 1/7] http: drop support for curl < 7.11.1 Ævar Arnfjörð Bjarmason
2021-07-30 9:31 ` [PATCH v3 2/7] http: drop support for curl < 7.16.0 Ævar Arnfjörð Bjarmason
2021-07-30 9:31 ` [PATCH v3 3/7] http: drop support for curl < 7.19.4 Ævar Arnfjörð Bjarmason
2021-07-30 9:31 ` [PATCH v3 4/7] http: drop support for curl < 7.19.3 and <= 7.16.4 (or <7.17.0) (again) Ævar Arnfjörð Bjarmason
2021-07-30 16:18 ` Junio C Hamano
2021-07-30 9:31 ` [PATCH v3 5/7] http: drop support for curl < 7.18.0 (again) Ævar Arnfjörð Bjarmason
2021-07-30 16:22 ` Junio C Hamano
2021-07-30 9:31 ` [PATCH v3 6/7] http: rename CURLOPT_FILE to CURLOPT_WRITEDATA Ævar Arnfjörð Bjarmason
2021-07-30 9:31 ` [PATCH v3 7/7] http: centralize the accounting of libcurl dependencies Ævar Arnfjörð Bjarmason
2021-07-30 16:47 ` Junio C Hamano
2021-07-30 17:59 ` [PATCH v4 0/5] drop support for ancient curl Ævar Arnfjörð Bjarmason
2021-07-30 17:59 ` [PATCH v4 1/5] http: drop support for curl < 7.11.1 Ævar Arnfjörð Bjarmason
2021-07-30 17:59 ` [PATCH v4 2/5] http: drop support for curl < 7.16.0 Ævar Arnfjörð Bjarmason
2021-09-10 22:28 ` Andrei Rybak
2021-09-11 14:32 ` Jeff King
2021-09-11 21:39 ` Junio C Hamano
2021-09-11 21:58 ` Jeff King
2021-07-30 17:59 ` [PATCH v4 3/5] http: drop support for curl < 7.19.4 Ævar Arnfjörð Bjarmason
2021-07-30 17:59 ` [PATCH v4 4/5] http: drop support for curl < 7.19.3 and < 7.17.0 (again) Ævar Arnfjörð Bjarmason
2021-07-30 17:59 ` [PATCH v4 5/5] http: rename CURLOPT_FILE to CURLOPT_WRITEDATA Ævar Arnfjörð Bjarmason
2021-07-30 19:03 ` [PATCH v4 0/5] drop support for ancient curl Junio C Hamano
2021-07-30 19:50 ` Junio C Hamano
2021-07-30 22:49 ` Junio C Hamano
2021-09-08 15:31 ` [PATCH 0/5] post-v2.33 "drop support for ancient curl" follow-up Ævar Arnfjörð Bjarmason
2021-09-08 15:31 ` [PATCH 1/5] http: drop support for curl < 7.18.0 (again) Ævar Arnfjörð Bjarmason
2021-09-09 22:58 ` Junio C Hamano
2021-09-08 15:31 ` [PATCH 2/5] http: correct curl version check for CURLOPT_PINNEDPUBLICKEY Ævar Arnfjörð Bjarmason
2021-09-08 19:22 ` Jeff King
2021-09-09 23:12 ` Junio C Hamano
2021-09-10 14:19 ` Jeff King
2021-09-10 14:30 ` Jeff King
2021-09-10 14:37 ` Ævar Arnfjörð Bjarmason
2021-09-10 15:28 ` Jeff King
2021-09-10 15:45 ` Daniel Stenberg
2021-09-10 19:41 ` Ævar Arnfjörð Bjarmason
2021-09-10 21:57 ` Daniel Stenberg
2021-09-08 15:31 ` [PATCH 3/5] http: correct version check for CURL_HTTP_VERSION_2_0 Ævar Arnfjörð Bjarmason
2021-09-08 19:27 ` Jeff King
2021-09-08 15:31 ` [PATCH 4/5] http: centralize the accounting of libcurl dependencies Ævar Arnfjörð Bjarmason
2021-09-08 19:31 ` Jeff King
2021-09-09 17:40 ` Junio C Hamano
2021-09-09 19:26 ` Jeff King
2021-09-08 15:31 ` [PATCH 5/5] http: don't hardcode the value of CURL_SOCKOPT_OK Ævar Arnfjörð Bjarmason
2021-09-09 23:15 ` Junio C Hamano
2021-09-09 23:22 ` Junio C Hamano
2021-09-08 19:32 ` [PATCH 0/5] post-v2.33 "drop support for ancient curl" follow-up Jeff King
2021-09-10 11:04 ` [PATCH v2 0/8] " Ævar Arnfjörð Bjarmason
2021-09-10 11:04 ` [PATCH v2 1/8] INSTALL: don't mention the "curl" executable at all Ævar Arnfjörð Bjarmason
2021-09-10 14:53 ` Jeff King
2021-09-10 11:04 ` [PATCH v2 2/8] INSTALL: mention that we need libcurl 7.19.4 or newer to build Ævar Arnfjörð Bjarmason
2021-09-10 14:54 ` Jeff King
2021-09-10 16:56 ` Junio C Hamano
2021-09-10 17:46 ` Jeff King
2021-09-10 11:04 ` [PATCH v2 3/8] Makefile: drop support for curl < 7.9.8 (again) Ævar Arnfjörð Bjarmason
2021-09-10 15:04 ` Jeff King
2021-09-10 11:04 ` [PATCH v2 4/8] http: drop support for curl < 7.18.0 (again) Ævar Arnfjörð Bjarmason
2021-09-10 11:04 ` [PATCH v2 5/8] http: correct version check for CURL_HTTP_VERSION_2 Ævar Arnfjörð Bjarmason
2021-09-10 15:09 ` Jeff King
2021-09-10 15:20 ` Daniel Stenberg
2021-09-10 15:41 ` Jeff King
2021-09-10 17:19 ` Ævar Arnfjörð Bjarmason
2021-09-10 11:04 ` [PATCH v2 6/8] http: correct curl version check for CURLOPT_PINNEDPUBLICKEY Ævar Arnfjörð Bjarmason
2021-09-10 17:00 ` Junio C Hamano
2021-09-10 11:04 ` [PATCH v2 7/8] http: centralize the accounting of libcurl dependencies Ævar Arnfjörð Bjarmason
2021-09-10 15:15 ` Jeff King
2021-09-10 11:04 ` [PATCH v2 8/8] http: don't hardcode the value of CURL_SOCKOPT_OK Ævar Arnfjörð Bjarmason
2021-09-10 15:17 ` Jeff King
2021-09-10 14:37 ` [PATCH v2 0/8] post-v2.33 "drop support for ancient curl" follow-up Jeff King
2021-09-10 15:08 ` Ævar Arnfjörð Bjarmason
2021-09-10 15:20 ` Jeff King
2021-09-10 16:52 ` Junio C Hamano
2021-09-10 17:06 ` Randall S. Becker
2021-09-10 17:42 ` Ævar Arnfjörð Bjarmason
2021-09-10 17:14 ` Junio C Hamano
2021-09-10 17:32 ` Junio C Hamano
2021-09-10 19:05 ` Konstantin Ryabitsev
2021-09-10 19:49 ` Junio C Hamano
2021-09-10 17:47 ` Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 0/9] " Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 1/9] INSTALL: don't mention the "curl" executable at all Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 2/9] INSTALL: reword and copy-edit the "libcurl" section Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 3/9] INSTALL: mention that we need libcurl 7.19.4 or newer to build Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 4/9] Makefile: drop support for curl < 7.9.8 (again) Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 5/9] http: drop support for curl < 7.18.0 (again) Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 6/9] http: correct version check for CURL_HTTP_VERSION_2 Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 7/9] http: correct curl version check for CURLOPT_PINNEDPUBLICKEY Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 8/9] http: centralize the accounting of libcurl dependencies Ævar Arnfjörð Bjarmason
2021-09-11 9:34 ` [PATCH v3 9/9] http: don't hardcode the value of CURL_SOCKOPT_OK Ævar Arnfjörð Bjarmason
2021-09-11 14:46 ` [PATCH v3 0/9] post-v2.33 "drop support for ancient curl" follow-up Jeff King
2021-09-12 19:01 ` Junio C Hamano
2021-09-13 14:51 ` [PATCH v4 " Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 1/9] INSTALL: don't mention the "curl" executable at all Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 2/9] INSTALL: reword and copy-edit the "libcurl" section Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 3/9] INSTALL: mention that we need libcurl 7.19.4 or newer to build Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 4/9] Makefile: drop support for curl < 7.9.8 (again) Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 5/9] http: drop support for curl < 7.18.0 (again) Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 6/9] http: correct version check for CURL_HTTP_VERSION_2 Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 7/9] http: correct curl version check for CURLOPT_PINNEDPUBLICKEY Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 8/9] http: centralize the accounting of libcurl dependencies Ævar Arnfjörð Bjarmason
2021-09-13 14:51 ` [PATCH v4 9/9] http: don't hardcode the value of CURL_SOCKOPT_OK Ævar Arnfjörð Bjarmason
2021-09-13 17:02 ` [PATCH v4 0/9] post-v2.33 "drop support for ancient curl" follow-up Jeff King
2021-09-13 17:41 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fbd7e636-0087-9c2b-746f-e2413c6d2133@jupiterrise.com \
--to=tgc@jupiterrise.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).