Am 28.04.26 um 20:17 schrieb Eric Covener:
Hi all,

Please find below the proposed release tarball and signatures:

https://dist.apache.org/repos/dist/dev/httpd/

I would like to call a VOTE over the next few days to release
this candidate tarball httpd-2.4.67-rc2 as 2.4.67:
[ ] +1: It's not just good, it's good enough!
[ ] +0: Let's have a talk.
[ ] -1: There's trouble in paradise. Here's what's wrong.

The computed digests of the tarball up for vote are:
sha256: 10a578d199c3930250534fac629995f34ef7571709a7c88c45239e1fdc88cf77
*httpd-2.4.67-rc2.tar.gz
sha512: 
5538ccf1e555d94c7be6e48021d7a4568d6fd86841fe75f78adfd9ace1a4874893b8522ef535a8858a114a9839bde7be6dbddef229e3e1a1ef12bdf3e7bca848
*httpd-2.4.67-rc2.tar.gz

The candidate source is found at
<https://svn.apache.org/repos/asf/httpd/httpd/tags/2.4.67-rc2-candidate>
and at <https://github.com/apache/httpd/tree/2.4.67-rc2-candidate>.

+1 for release and thanks for RM!

- Sigs and hashes OK
- contents of tarballs identical
- contents of tag and tarballs identical
  except for expected deltas

Built on

- SLES 12+15 (64 Bits)
- RHEL 7+8+9+10 (64 Bits)
- Solaris 10 Sparc

For all platforms built

- with default (shared) modules
- with module set reallyall
- using --enable-load-all-modules

- using libraries
  - APR/APU
    - bundled deps tarball
    - 1.7.5/1.6.3
    - 1.6.x(HEAD=r1923080)/1.6.x(HEAD=r1923080)
    - trunk(HEAD=r1923080) with libxml2
    - trunk(HEAD=r1923080) with expat
  - OpenSSL 3.4.0, 3.3.2, 3.2.3, 3.1.7, 3.0.15, 1.1.1w,
            and for all except RHEL 9 also 1.1.1
    Not all APR/APU combinations with every OpenSSL
  - expat 2.8.0
  - pcre 10.47
  - lua 5.5.0 (compiled with LUA_COMPAT_MODULE)
  - libxml2 2.15.3
  - sqlite 3.53.0
  - libnghttp2 1.69.0
  - brotli 1.2.0
  - curl 8.19.0
  - jansson 2.15.0
  - libldap 2.6.13
    also with platform ldap on Solaris)

- in total 14 builds per platform (18 for Solaris)

- Tool chain:
    - platform gcc on Linux, gcc 9.5 on Solaris 10
    - CFLAGS: -O2 -g -Wall -fno-strict-aliasing

All builds succeeded.

- compiler warnings: see below "A)"

Perl tests run with OpenSSL client versions 3.6.0, 3.5.0, 3.0.15, 1.1.1w and 1.0.2u (for RHEL 10 with 3.6.0 3.5.4 3.0.18 1.1.1w) against every server build. MPMs tested event, worker, prefork.

  - No failures in 1218 test runs on Linux

- Sporadic failures on test runs on Solaris. Only parts of the combinations tested there, but the result seems already valid.

Details of Solaris perl test failures see below "B)".

Also pytest checked against one specific server version on every Linux variant tested, using clients with OpenSSL 4.0.0, 3.6.2, 3.5.6 and 3.0.20 and against every MPM.

Only 2 runs out of 66 had a single (sporadic) failure.

Details of Linux pytest failures see below "C)".

Regards,

Rainer

A) Compiler warnings
::::::::::::::::::::

- compiler warnings httpd sources:

  - all builds (I use recent libxml2)

modules/filters/mod_xml2enc.c:608:5: warning: 'xmlAddEncodingAlias' is deprecated: See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html [-Wdeprecated-declarations]

modules/filters/mod_proxy_html.c:342:5: warning: 'htmlTagLookup' is deprecated: See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html [-Wdeprecated-declarations] modules/filters/mod_proxy_html.c:390:5: warning: 'htmlTagLookup' is deprecated: See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html [-Wdeprecated-declarations] modules/filters/mod_proxy_html.c:425:5: warning: 'attrs_req' is deprecated [-Wdeprecated-declarations] modules/filters/mod_proxy_html.c:426:9: warning: 'attrs_req' is deprecated [-Wdeprecated-declarations] modules/filters/mod_proxy_html.c:433:17: warning: 'htmlAttrAllowed' is deprecated: See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html [-Wdeprecated-declarations]

- compiler warnings bundled apr-util (from deps tarball):

  - only on RHEL 10 due to newest gcc

srclib/apr-util/dbm/sdbm/sdbm_pair.c:234:1: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:21:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:22:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:23:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:24:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:25:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:26:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:27:17: warning: old-style function definition [-Wold-style-definition] srclib/apr-util/dbm/sdbm/sdbm_pair.h:28:17: warning: old-style function definition [-Wold-style-definition]

  - all builds, both OpenSSL versions (3.5.6, 3.6.2):
    - seems to be already fixed in 1.6.x head and 1.7.x head

srclib/apr-util/crypto/apr_crypto_openssl.c:141:5: warning: 'ENGINE_load_builtin_engines' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:142:5: warning: 'ENGINE_register_all_complete' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:208:9: warning: 'ENGINE_finish' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:209:9: warning: 'ENGINE_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:326:9: warning: 'ENGINE_by_id' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:330:9: warning: 'ENGINE_init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] srclib/apr-util/crypto/apr_crypto_openssl.c:331:13: warning: 'ENGINE_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]

- only on Solaris 10 Sparc:

/srclib/apr/locks/unix/proc_mutex.c:982:49: warning: 'mutex_proc_pthread_cond_methods' defined but not used [-Wunused-const-variable=]


B) perl unit test failures
::::::::::::::::::::::::::

Only on Solaris, both already known.

Always fails:

# Failed test 4 in t/modules/buffer.t at line 37
# Failed test 8 in t/modules/buffer.t at line 37 fail #2

Fails about 2/3 of the test runs:

# Failed test 3 in t/modules/sed.t at line 37 fail #2
# posting body of size  25165824
# ... posted body of size  25165824
# Content Length 0
# testing : status code for /apache/sed-echo/out-foo-grow/foobar.html
# expected: '200'
# received: 596
not ok 3


C) pytest failures
::::::::::::::::::

TestRanges.test_h2_008_04[0]

self = <http2.test_008_ranges.TestRanges object at 0x7f7fc3d22b00>
env = <http2.env.H2TestEnv object at 0x7f7fc3badcf0>, repeat = 0

    def test_h2_008_04(self, env, repeat):
        path = '/data-100m'
        assert env.apache_restart() == 0
        stats = self.get_server_status(env)
        # we see the server uptime check request here
        assert 1 == int(stats['Total Accesses'])
        assert 1 == int(stats['Total kBytes'])
        count = 10
        url = env.mkurl("https", "test1", f'/data-100m?[0-{count-1}]')
r = env.curl_get(url, 5, options=['--http2', '-H', f'Range: bytes=0-{4096}'])
        assert r.exit_code == 0, f'{r}'
        stats = self.get_server_status(env)
        # amount reported is larger than (count *4k), the net payload
        # but does not exceed an additional 4k
        assert (4*count)+1 <= int(stats['Total kBytes'])
        assert (4*(count+1))+1 > int(stats['Total kBytes'])
        # total requests is now at 1 from the start, plus the stat check,
        # plus the count transfers we did.
>       assert (2+count) == int(stats['Total Accesses'])
E       AssertionError: assert (2 + 10) == 11
E        +  where 11 = int('11')

modules/http2/test_008_ranges.py:164: AssertionError

and

TestPost.test_h2_004_25[0-data-1m]

self = <http2.test_004_post.TestPost object at 0x7fea874c1c90>
env = <http2.env.H2TestEnv object at 0x7fea871c0940>, name = 'data-1m'
repeat = 0

    @pytest.mark.parametrize("name", [
        "data-1k", "data-10k", "data-100k", "data-1m"
    ])
    def test_h2_004_25(self, env, name, repeat):
>       self.nghttp_upload_and_verify(env, name, ["--no-content-length"])

modules/http2/test_004_post.py:162:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <http2.test_004_post.TestPost object at 0x7fea874c1c90>
env = <http2.env.H2TestEnv object at 0x7fea871c0940>, fname = 'data-1m'
options = ['--no-content-length', '--data=/tmp/esupport-testdir/pytest-worker-300/gen/nghttp.req.body', '--expect-continue', '-HContent-Type: multipart/form-data; boundary=DSAJKcd9876']

    def nghttp_upload_and_verify(self, env, fname, options=None):
        url = env.mkurl("https", "cgi", "/upload.py")
        fpath = os.path.join(env.gen_dir, fname)

        r = env.nghttp().upload_file(url, fpath, options=options)
        assert r.exit_code == 0
>       assert r.response["status"] >= 200 and r.response["status"] < 300
E       assert (100 >= 200)

modules/http2/test_004_post.py:135: AssertionError

Captured stdout call

execute: nghttp --header=host: cgi.tests.httpd.apache.org:5001 -v --header=AP-Test-Name: test_h2_004_25[0-data-1m] --no-content-length --data=/tmp/esupport-testdir/pytest-worker-300/gen/nghttp.req.body --expect-continue -HContent-Type: multipart/form-data; boundary=DSAJKcd9876 https://127.0.0.1:5001//upload.py
send frame SETTINGS on stream 0
send frame PRIORITY on stream 3
send frame PRIORITY on stream 5
send frame PRIORITY on stream 7
send frame PRIORITY on stream 9
send frame PRIORITY on stream 11
send frame HEADERS on stream 13
recv frame SETTINGS on stream 0
...
recv frame WINDOW_UPDATE on stream 13
send frame DATA on stream 13
send frame DATA on stream 13
recv frame WINDOW_UPDATE on stream 13
send frame DATA on stream 13
send frame DATA on stream 13
send frame RST_STREAM on stream 13
send frame GOAWAY on stream 0

Reply via email to