Re: [BUG 2.41.0] t/lib-httpd/apache.conf incompatible with RHEL/CentOS 7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King wrote:
> On Wed, May 17, 2023 at 03:06:18PM -0400, Todd Zullinger wrote:
> 
>> The problem is that CGIPassAuth, added in 988aad99b4 (t5563:
>> add tests for basic and anoymous HTTP access, 2023-02-27) is
>> not supported by httpd < 2.4.13:
> 
> Thanks for reporting. I don't think we dug into version requirements for
> that (obviously CGI stuff goes back forever, so it's just that
> particular option). That version of Apache is "only" 8 years old. Which
> is old, but we often go back that far for dependencies.

Indeed, thanks.  I don't imagine there are too many people
looking to support the latest git auth mechanisms via http
who are also running CentOS 7.  But it's nice to not have to
disable all the other http tests.

>> Since edd060dc84 (t/lib-httpd: bump required apache version
>> to 2.4, 2023-02-01), we require httpd-2.4 and no longer have
>> any <IfVersion> conditions.  I'm not sure if this a reason
>> to add some again (nor am I certain if httpd's IfVersion
>> supports minor versions).
> 
> I don't think an IfVersion would be sufficient, because we need to also
> tell the script making use of that config that it should skip its tests.
> So I think we want something more like the HTTP/2 tests have: a separate
> script which enables the extra config, and bails if the web server setup
> fails.
> 
> Something like this:

[...]

I'll try to apply this and see how it goes, skipping t5563,
a little later in the day.

> And then the theory is that t5551 works as before (it does not try to
> use that config), and t5563 will either work out of the box (for recent
> versions), or web server setup will fail, and we'll skip all tests.
> 
> BUT. That won't work if you have set GIT_TEST_HTTPD=1, rather than the
> default of "auto". Because then it is instructed to complain about
> webserver setup failing, so t5563 will fail rather than skip. So we have
> a few options there:
> 
>   1. You use the looser value of GIT_TEST_HTTPD for CentOS tests, which
>      would do the right thing. The downside is that if server setup
>      failed for other reasons, we wouldn't notice and would silently
>      skip the HTTP tests.
> 
>   2. We do some kind of version check in enable_cgipassauth(),
>      and skip tests manually if it doesn't pass.
> 
>   3. You just skip the test manually on that platform with
>      GIT_SKIP_TESTS=t5563.
> 
> Obviously (1) and (3) are the least work for us upstream, but I don't
> think (2) would be too hard to do.

Yeah, the path of least effort seems ideal here.  If the
tests are split I can easily skip them for CentOS 7.  For
something that's going away in little over a year, it's good
to put at least some of the onus on folks packaging for it.
And that's less cruft in the test suite after CentOS 7 is
gone (or any other ancient httpd's git may wish to support).

Thanks Peff!  I'm really glad you know your way around the
test suite so well.  It'd take me far longer to figure out a
good plan for something like this.

-- 
Todd



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux