* [PATCH 0/2] Restore support for older libcurl and fix some typos @ 2024-10-14 13:13 Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 1/2] Conditional use of CURLOPT_PROXYHEADER based on libcurl version Alejandro R. Sedeño ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Alejandro R. Sedeño @ 2024-10-14 13:13 UTC (permalink / raw) To: git; +Cc: sandals, sunshine, asedeno, Alejandro R. Sedeño Hi, This is the small patchset I've mentioned on a couple of threads in the past few days [1, 2]. The first patch adds a version check for CURLOPT_PROXYHEADER in git-curl-compat.h and uses it to wrap the one use of CURLOPT_PROXYHEADER, replacing it with a translatable warning if it's used on an older version of libcurl. The second patch adjusts some typos I noticed in git-curl-compat.h. These should be easily verifiable against curl's docs/libcurl/symbols-in-version, which is the source of truth for git-curl-compat.h. This is presented as an alternative to the patch series from brian m. carlson that bumps the minimum version of libcurl to 7.61.0 [3]. -Alejandro [1] https://lore.kernel.org/git/CAOO-Oz1KhFcyErVx1Qb142PtPJS=UpgSD-FacckqNS4_okAtFQ@mail.gmail.com/ [2] https://lore.kernel.org/git/20241011190812.2654837-1-asedeno@mit.edu/ [3] https://lore.kernel.org/git/20241010235621.738239-1-sandals@crustytoothpaste.net/ Alejandro R. Sedeño (2): Conditional use of CURLOPT_PROXYHEADER based on libcurl version Fix inconsistencies in git-curl-compat.h git-curl-compat.h | 11 +++++++++-- http.c | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) -- 2.39.5 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] Conditional use of CURLOPT_PROXYHEADER based on libcurl version 2024-10-14 13:13 [PATCH 0/2] Restore support for older libcurl and fix some typos Alejandro R. Sedeño @ 2024-10-14 13:13 ` Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 2/2] Fix inconsistencies in git-curl-compat.h Alejandro R. Sedeño 2024-10-15 0:28 ` [PATCH 0/2] Restore support for older libcurl and fix some typos Taylor Blau 2 siblings, 0 replies; 10+ messages in thread From: Alejandro R. Sedeño @ 2024-10-14 13:13 UTC (permalink / raw) To: git; +Cc: sandals, sunshine, asedeno, Alejandro R. Sedeño Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu> Signed-off-by: Alejandro R. Sedeño <asedeno@google.com> --- git-curl-compat.h | 7 +++++++ http.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/git-curl-compat.h b/git-curl-compat.h index e1d0bdd273..08ae73e0f1 100644 --- a/git-curl-compat.h +++ b/git-curl-compat.h @@ -65,6 +65,13 @@ #define GIT_CURL_HAVE_CURL_SSLVERSION_TLSv1_0 #endif +/** + * CURLOPT_PROXYHEADER was added in 7.37.0, released in May 2014. + */ +#if LIBCURL_VERSION_NUM >= 0x072500 +#define GIT_CURL_HAVE_CURLOPT_PROXYHEADER +#endif + /** * CURLOPT_PINNEDPUBLICKEY was added in 7.39.0, released in November * 2014. CURLE_SSL_PINNEDPUBKEYNOTMATCH was added in that same version. diff --git a/http.c b/http.c index d59e59f66b..30d5e4c67b 100644 --- a/http.c +++ b/http.c @@ -652,8 +652,12 @@ static void set_proxyauth_name_password(CURL *result) curl_easy_setopt(result, CURLOPT_PROXYPASSWORD, proxy_auth.password); } else if (proxy_auth.authtype && proxy_auth.credential) { +#ifdef GIT_CURL_HAVE_CURLOPT_PROXYHEADER curl_easy_setopt(result, CURLOPT_PROXYHEADER, http_append_auth_header(&proxy_auth, NULL)); +#else + warning(_("CURLOPT_PROXYHEADER not supported with cURL < 7.37.0")); +#endif } } -- 2.39.5 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/2] Fix inconsistencies in git-curl-compat.h 2024-10-14 13:13 [PATCH 0/2] Restore support for older libcurl and fix some typos Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 1/2] Conditional use of CURLOPT_PROXYHEADER based on libcurl version Alejandro R. Sedeño @ 2024-10-14 13:13 ` Alejandro R. Sedeño 2024-10-15 0:28 ` [PATCH 0/2] Restore support for older libcurl and fix some typos Taylor Blau 2 siblings, 0 replies; 10+ messages in thread From: Alejandro R. Sedeño @ 2024-10-14 13:13 UTC (permalink / raw) To: git; +Cc: sandals, sunshine, asedeno, Alejandro R. Sedeño Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu> Signed-off-by: Alejandro R. Sedeño <asedeno@google.com> --- git-curl-compat.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-curl-compat.h b/git-curl-compat.h index 08ae73e0f1..f9aebf93ae 100644 --- a/git-curl-compat.h +++ b/git-curl-compat.h @@ -76,7 +76,7 @@ * CURLOPT_PINNEDPUBLICKEY was added in 7.39.0, released in November * 2014. CURLE_SSL_PINNEDPUBKEYNOTMATCH was added in that same version. */ -#if LIBCURL_VERSION_NUM >= 0x072c00 +#if LIBCURL_VERSION_NUM >= 0x072700 #define GIT_CURL_HAVE_CURLOPT_PINNEDPUBLICKEY 1 #define GIT_CURL_HAVE_CURLE_SSL_PINNEDPUBKEYNOTMATCH 1 #endif @@ -118,7 +118,7 @@ #endif /** - * CURL_SSLVERSION_TLSv1_3 was added in 7.53.0, released in February + * CURL_SSLVERSION_TLSv1_3 was added in 7.52.0, released in August * 2017. */ #if LIBCURL_VERSION_NUM >= 0x073400 -- 2.39.5 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-14 13:13 [PATCH 0/2] Restore support for older libcurl and fix some typos Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 1/2] Conditional use of CURLOPT_PROXYHEADER based on libcurl version Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 2/2] Fix inconsistencies in git-curl-compat.h Alejandro R. Sedeño @ 2024-10-15 0:28 ` Taylor Blau 2024-10-15 0:51 ` Alejandro R. Sedeño 2 siblings, 1 reply; 10+ messages in thread From: Taylor Blau @ 2024-10-15 0:28 UTC (permalink / raw) To: Alejandro R. Sedeño; +Cc: git, sandals, sunshine, asedeno On Mon, Oct 14, 2024 at 09:13:44AM -0400, Alejandro R. Sedeño wrote: > This is presented as an alternative to the patch series from > brian m. carlson that bumps the minimum version of libcurl > to 7.61.0 [3]. This conflicts with brian's series as you mention, so I haven't picked this one up in 'seen' yet. Could you summarize why you think this series is a better approach than what brian has posted? On its own, I do not understand the motivation. Thanks, Taylor ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-15 0:28 ` [PATCH 0/2] Restore support for older libcurl and fix some typos Taylor Blau @ 2024-10-15 0:51 ` Alejandro R. Sedeño 2024-10-15 6:29 ` Eric Sunshine 0 siblings, 1 reply; 10+ messages in thread From: Alejandro R. Sedeño @ 2024-10-15 0:51 UTC (permalink / raw) To: Taylor Blau; +Cc: git, sandals, sunshine, asedeno On Mon, Oct 14, 2024 at 8:28 PM Taylor Blau <me@ttaylorr.com> wrote: > On Mon, Oct 14, 2024 at 09:13:44AM -0400, Alejandro R. Sedeño wrote: > > This is presented as an alternative to the patch series from > > brian m. carlson that bumps the minimum version of libcurl > > to 7.61.0 [3]. > > This conflicts with brian's series as you mention, so I haven't picked > this one up in 'seen' yet. > > Could you summarize why you think this series is a better approach than > what brian has posted? On its own, I do not understand the motivation. It's a question of preserving compatibility vs ratcheting up minimum requirements. Both have their merits. I sent in this patch set after seeing some mild pushback to brian's series, just to present an alternative. Maintaining compatibility with older versions can be a burden to the project, though I think given this patch series, it's not a very big one. Ratcheting up the minimum requirements can be a burden to users stuck on (or choosing to try and support) older platforms. At some point the burden on the project outweighs the desire to support those older platforms. Where that tipping point is is for the community to decide. For my own personal purposes, I've worked around the issue by building a newer libcurl to link git against, though brian's updates to the perl minimum requirements will pose a more substantial problem for me in the future. -Alejandro ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-15 0:51 ` Alejandro R. Sedeño @ 2024-10-15 6:29 ` Eric Sunshine 2024-10-15 19:22 ` Taylor Blau 2024-10-17 6:59 ` Torsten Bögershausen 0 siblings, 2 replies; 10+ messages in thread From: Eric Sunshine @ 2024-10-15 6:29 UTC (permalink / raw) To: Alejandro R. Sedeño; +Cc: Taylor Blau, git, sandals, asedeno On Mon, Oct 14, 2024 at 8:51 PM Alejandro R. Sedeño <asedeno@mit.edu> wrote: > On Mon, Oct 14, 2024 at 8:28 PM Taylor Blau <me@ttaylorr.com> wrote: > > On Mon, Oct 14, 2024 at 09:13:44AM -0400, Alejandro R. Sedeño wrote: > > > This is presented as an alternative to the patch series from > > > brian m. carlson that bumps the minimum version of libcurl > > > to 7.61.0 [3]. > > > > This conflicts with brian's series as you mention, so I haven't picked > > this one up in 'seen' yet. > > > > Could you summarize why you think this series is a better approach than > > what brian has posted? On its own, I do not understand the motivation. > > It's a question of preserving compatibility vs ratcheting up minimum > requirements. Both have their merits. I sent in this patch set after > seeing some mild pushback to brian's series, just to present an > alternative. Maintaining compatibility with older versions can be a > burden to the project, though I think given this patch series, it's > not a very big one. Ratcheting up the minimum requirements can be a > burden to users stuck on (or choosing to try and support) older > platforms. At some point the burden on the project outweighs the > desire to support those older platforms. Where that tipping point is > is for the community to decide. For reference, I'm the one who pushed back on brian's series. The "push-back" subthread starts at [1]. [1]: https://lore.kernel.org/git/20241014132856.3558224-1-asedeno@mit.edu/T/#mc1180f00cf52de4e9bae334c2cd5abd9a160dbbe ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-15 6:29 ` Eric Sunshine @ 2024-10-15 19:22 ` Taylor Blau 2024-10-17 6:59 ` Torsten Bögershausen 1 sibling, 0 replies; 10+ messages in thread From: Taylor Blau @ 2024-10-15 19:22 UTC (permalink / raw) To: Eric Sunshine; +Cc: Alejandro R. Sedeño, git, sandals, asedeno On Tue, Oct 15, 2024 at 02:29:33AM -0400, Eric Sunshine wrote: > On Mon, Oct 14, 2024 at 8:51 PM Alejandro R. Sedeño <asedeno@mit.edu> wrote: > > On Mon, Oct 14, 2024 at 8:28 PM Taylor Blau <me@ttaylorr.com> wrote: > > > On Mon, Oct 14, 2024 at 09:13:44AM -0400, Alejandro R. Sedeño wrote: > > > > This is presented as an alternative to the patch series from > > > > brian m. carlson that bumps the minimum version of libcurl > > > > to 7.61.0 [3]. > > > > > > This conflicts with brian's series as you mention, so I haven't picked > > > this one up in 'seen' yet. > > > > > > Could you summarize why you think this series is a better approach than > > > what brian has posted? On its own, I do not understand the motivation. > > > > It's a question of preserving compatibility vs ratcheting up minimum > > requirements. Both have their merits. I sent in this patch set after > > seeing some mild pushback to brian's series, just to present an > > alternative. Maintaining compatibility with older versions can be a > > burden to the project, though I think given this patch series, it's > > not a very big one. Ratcheting up the minimum requirements can be a > > burden to users stuck on (or choosing to try and support) older > > platforms. At some point the burden on the project outweighs the > > desire to support those older platforms. Where that tipping point is > > is for the community to decide. > > For reference, I'm the one who pushed back on brian's series. The > "push-back" subthread starts at [1]. > > [1]: https://lore.kernel.org/git/20241014132856.3558224-1-asedeno@mit.edu/T/#mc1180f00cf52de4e9bae334c2cd5abd9a160dbbe OK. Junio had brian's series in 'seen' when I picked up the integration branches on Friday evening. Let's keep it that way for now while we wait to see what approach between the two is preferred. Thanks, Taylor ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-15 6:29 ` Eric Sunshine 2024-10-15 19:22 ` Taylor Blau @ 2024-10-17 6:59 ` Torsten Bögershausen 2024-10-17 9:15 ` Oswald Buddenhagen 2024-10-17 9:30 ` Torsten Bögershausen 1 sibling, 2 replies; 10+ messages in thread From: Torsten Bögershausen @ 2024-10-17 6:59 UTC (permalink / raw) To: Eric Sunshine Cc: Alejandro R. Sedeño, Taylor Blau, git, sandals, asedeno On Tue, Oct 15, 2024 at 02:29:33AM -0400, Eric Sunshine wrote: > On Mon, Oct 14, 2024 at 8:51 PM Alejandro R. Sedeño <asedeno@mit.edu> wrote: > > On Mon, Oct 14, 2024 at 8:28 PM Taylor Blau <me@ttaylorr.com> wrote: > > > On Mon, Oct 14, 2024 at 09:13:44AM -0400, Alejandro R. Sedeño wrote: > > > > This is presented as an alternative to the patch series from > > > > brian m. carlson that bumps the minimum version of libcurl > > > > to 7.61.0 [3]. > > > > > > This conflicts with brian's series as you mention, so I haven't picked > > > this one up in 'seen' yet. > > > > > > Could you summarize why you think this series is a better approach than > > > what brian has posted? On its own, I do not understand the motivation. > > > > It's a question of preserving compatibility vs ratcheting up minimum > > requirements. Both have their merits. I sent in this patch set after > > seeing some mild pushback to brian's series, just to present an > > alternative. Maintaining compatibility with older versions can be a > > burden to the project, though I think given this patch series, it's > > not a very big one. Ratcheting up the minimum requirements can be a > > burden to users stuck on (or choosing to try and support) older > > platforms. At some point the burden on the project outweighs the > > desire to support those older platforms. Where that tipping point is > > is for the community to decide. > > For reference, I'm the one who pushed back on brian's series. The > "push-back" subthread starts at [1]. > > [1]: https://lore.kernel.org/git/20241014132856.3558224-1-asedeno@mit.edu/T/#mc1180f00cf52de4e9bae334c2cd5abd9a160dbbe > Being one of the people who has to work with older distributions, I think that I would support the pushback. There are many machines out there, which are still running in production with old installations. In my case it is a Centos 7 machine, coming with Git 1.8.3.1 Out of my head, git submodules didn't work (as good as today), and even things like git -P didn't exist then. I may be worth to mention that this machines are protected by double or triple firewalls, routing tables, and whatever is needed to protect them. Maintaining production software and hardware, systems using specialized hardware with Linux drivers dependend on the Linux kernel is daily work. And here tools like Git are needed (and appreciated). My view is that the new developments can focus on the "latest" distributions, and if some comes along and has a patch that make Git compile and work under an older system, and that patch does not break newer systems, it would be a good thing to accept. The seen branch from October 11 does not compile (any more) under Centos 7. One problem is the curl stuff. And then some warning, missing a prototype for lstat() in clar.c/fs_copy(). And warnings about missing braces around initializers, nothing to worry about. Lets try a summarize: I can volunteer to compile Git from seen on this Centos box, lets say once a week, and report breakages. Other toughts ? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-17 6:59 ` Torsten Bögershausen @ 2024-10-17 9:15 ` Oswald Buddenhagen 2024-10-17 9:30 ` Torsten Bögershausen 1 sibling, 0 replies; 10+ messages in thread From: Oswald Buddenhagen @ 2024-10-17 9:15 UTC (permalink / raw) To: Torsten Bögershausen, rsbecker Cc: Eric Sunshine, Alejandro R. Sedeño, Taylor Blau, git, sandals, asedeno On Thu, Oct 17, 2024 at 08:59:37AM +0200, Torsten Bögershausen wrote: >Maintaining production software and hardware, systems using specialized >hardware with Linux drivers dependend on the Linux kernel is daily >work. > yes. >And here tools like Git are needed (and appreciated). > but why? why do you need bleeding edge git on these special-purpose systems from the stone age? wouldn't any sane developer (cross-)build on a modern system (which usually has about an order of magnitude more computing power, aside from the newer tools) and then deploy and extract only what's needed via some mostly automated process? it would only matter if git was part of the production software (what for?), but then we're back to square one. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] Restore support for older libcurl and fix some typos 2024-10-17 6:59 ` Torsten Bögershausen 2024-10-17 9:15 ` Oswald Buddenhagen @ 2024-10-17 9:30 ` Torsten Bögershausen 1 sibling, 0 replies; 10+ messages in thread From: Torsten Bögershausen @ 2024-10-17 9:30 UTC (permalink / raw) To: Eric Sunshine Cc: Alejandro R. Sedeño, Taylor Blau, git, sandals, asedeno Just a short update: This make git compile (again) on the mentioned centos system. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-10-17 9:30 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-14 13:13 [PATCH 0/2] Restore support for older libcurl and fix some typos Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 1/2] Conditional use of CURLOPT_PROXYHEADER based on libcurl version Alejandro R. Sedeño 2024-10-14 13:13 ` [PATCH 2/2] Fix inconsistencies in git-curl-compat.h Alejandro R. Sedeño 2024-10-15 0:28 ` [PATCH 0/2] Restore support for older libcurl and fix some typos Taylor Blau 2024-10-15 0:51 ` Alejandro R. Sedeño 2024-10-15 6:29 ` Eric Sunshine 2024-10-15 19:22 ` Taylor Blau 2024-10-17 6:59 ` Torsten Bögershausen 2024-10-17 9:15 ` Oswald Buddenhagen 2024-10-17 9:30 ` Torsten Bögershausen
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 NNTP newsgroup(s).