(trafficserver) branch master updated (abc4d5d341 -> d31a40fecb)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from abc4d5d341 Handle VC_EVENT_EOS in more places (#11368) add d31a40fecb Fix some doc generation warnings (#11370) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/header_rewrite.en.rst | 2 +- doc/admin-guide/plugins/txn_box/reference.en.rst | 2 +- doc/developer-guide/api/functions/TSActionCancel.en.rst | 2 +- .../api/functions/TSContScheduleEveryOnEntirePool.en.rst | 2 +- doc/developer-guide/api/functions/TSContScheduleEveryOnPool.en.rst| 2 +- doc/developer-guide/api/functions/TSContScheduleOnEntirePool.en.rst | 2 +- doc/developer-guide/api/functions/TSContScheduleOnThread.en.rst | 2 +- doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst | 2 +- doc/developer-guide/cripts/cripts-matcher.en.rst | 2 +- doc/developer-guide/plugins/actions/index.en.rst | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-)
(trafficserver) branch master updated (5490943961 -> abc4d5d341)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 5490943961 Some Cripts cleanup and fixes (#11369) add abc4d5d341 Handle VC_EVENT_EOS in more places (#11368) No new revisions were added by this update. Summary of changes: src/iocore/net/QUICNextProtocolAccept.cc | 1 + src/iocore/net/SSLNextProtocolAccept.cc | 1 + src/proxy/http/HttpSM.cc | 1 + 3 files changed, 3 insertions(+)
(trafficserver) branch 9.2.x updated: 9.2.x: apply yapf to log-field-json.test.py (#11360)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 9.2.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.2.x by this push: new 607a4905f2 9.2.x: apply yapf to log-field-json.test.py (#11360) 607a4905f2 is described below commit 607a4905f23e1600d55eb6aed4ff4b6defcd7404 Author: Brian Neradt AuthorDate: Thu May 16 12:40:33 2024 -0500 9.2.x: apply yapf to log-field-json.test.py (#11360) Somehow the 9.2.x branch has a unformatted log-field-json.test.py file. This applies the yapf target to the source files in the branch. --- tests/gold_tests/logging/log-field-json.test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/gold_tests/logging/log-field-json.test.py b/tests/gold_tests/logging/log-field-json.test.py index 889d9e7799..eecd7912b8 100644 --- a/tests/gold_tests/logging/log-field-json.test.py +++ b/tests/gold_tests/logging/log-field-json.test.py @@ -107,7 +107,7 @@ tr.Processes.Default.Command = 'curl --verbose --header "Host: test-3" --header tr.Processes.Default.ReturnCode = 0 tr = Test.AddTestRun() -tr.Processes.Default.Command = 'curl --verbose --header "Host: test-2" --header "Foo: ab\x80d/ef" http://localhost:{0}/test-4' .format( +tr.Processes.Default.Command = 'curl --verbose --header "Host: test-2" --header "Foo: ab\x80d/ef" http://localhost:{0}/test-4'.format( ts.Variables.port) tr.Processes.Default.ReturnCode = 0
(trafficserver) branch 11-Dev updated (99499a05d6 -> c9cffe46b6)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 99499a05d6 Merge master into 11-Dev add 7afae9532d Fix memory leaks in H3 unit tests (#11327) add 5dc9915eb1 CMakePresets: test nuraft on openssl (#11328) add 0bf12c55e1 systemtap: add sdt.h header-only file (#11331) add e14b64a662 CMakePresets: -DENABLE_PROBES for ci-fedora (#11334) add f2b9fc4cb2 libswoc: Remove unused variables from some unit tests. (#11326) add 2d36b804d4 Fix compiler warning. (#11329) add 9777b5a88c UDP-Net: Add support for udp pacing if available. (#11330) add bc637eb9b2 ATS_PROBE: add SystemTap ATS probe autest (#11339) add e2ab472434 CID-1544424 and CID1544430: use after free fix. (#11335) add 1da003e605 Fix case where 206 could be returned for range revalidates (#11308) add a7a150de46 Fix RelWithDebInfo to be release with debug info (#11211) add 0d14ad2b18 Use large IOBufferBlock only on sending DATA frame (#11229) add 52822a Remove unused include from remap_stats (#11350) add 4ba6a7fb2d Remove obsolete debug output calls in 18 source files. (#11307) add c537ce6c2c Remove obsolete debug output calls in 23 source files. (#11298) add 7697c890d0 Coverity 1534725: Uninitialized scalar variable (#11336) add 2a6cfefb0f Enable ASan on CI Rocky preset (#11332) add 4dc6bede9c Fix undefined behavior doing memcpy from timespec** instead from timespec* (#11356) new c9cffe46b6 Merge master branch into 11-Dev The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CMakeLists.txt | 22 +- CMakePresets.json | 8 +- NOTICE | 5 + ci/asan_leak_suppression/regression.txt| 3 + ci/rat-regex.txt | 1 + include/iocore/net/UDPPacket.h | 6 +- include/proxy/http2/HTTP2.h| 1 + include/ts/{sdt.h => ats_probe.h} | 5 +- include/tscore/ink_config.h.cmake.in | 1 + lib/CMakeLists.txt | 3 + lib/swoc/unit_tests/test_TextView.cc | 1 - lib/swoc/unit_tests/test_ip.cc | 1 - lib/systemtap/README.md| 4 + .../Protocol.h => lib/systemtap/sys/sdt-config.h | 42 +- lib/systemtap/sys/sdt.h| 507 + .../magick/image_magic_dlopen_leak_suppression.txt | 1 + .../experimental/txn_box/plugin/src/ip_space.cc| 1 + .../uri_signing/unit_tests/CMakeLists.txt | 4 + .../uri_signing_test_leak_suppression.txt} | 2 +- plugins/remap_stats/remap_stats.cc | 1 - .../image_magic_dlopen_leak_suppression.txt| 3 + src/iocore/net/P_QUICPacketHandler.h | 3 +- src/iocore/net/QUICNetVConnection.cc | 10 +- src/iocore/net/QUICPacketHandler.cc| 5 +- src/iocore/net/UnixUDPNet.cc | 123 - src/proxy/CacheControl.cc | 24 +- src/proxy/ControlBase.cc | 6 +- src/proxy/FetchSM.cc | 42 +- src/proxy/HostStatus.cc| 49 +- src/proxy/ParentSelectionStrategy.cc | 12 +- src/proxy/ProtocolProbeSessionAccept.cc| 35 +- src/proxy/ReverseProxy.cc | 15 +- src/proxy/Transform.cc | 57 ++- src/proxy/hdrs/HTTP.cc | 28 +- src/proxy/hdrs/HdrHeap.cc | 12 +- src/proxy/hdrs/HdrToken.cc | 14 +- src/proxy/hdrs/MIME.cc | 67 +-- src/proxy/hdrs/URL.cc | 55 ++- src/proxy/hdrs/XPACK.cc| 30 +- src/proxy/http/HttpSM.cc | 13 +- .../http/remap/unit-tests/test_RemapPlugin.cc | 8 +- src/proxy/http2/HPACK.cc | 21 +- src/proxy/http2/HTTP2.cc | 3 + src/proxy/http2/Http2ClientSession.cc | 16 +- src/proxy/http2/Http2CommonSession.cc | 19 +- src/proxy/http2/Http2ConnectionState.cc| 25 +- src/proxy/http2/Http2Frame.cc | 11 +- src/proxy/http2/Http2SessionAccept.cc | 12 +- src/proxy/http3/Http09App.cc | 15 +- src/proxy/http3/Http3App.cc| 31 +- src
(trafficserver) 01/01: Merge master branch into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit c9cffe46b6cce410dbe5679ff65b882c256627ab Merge: 99499a05d6 4dc6bede9c Author: bneradt AuthorDate: Wed May 15 13:25:41 2024 -0500 Merge master branch into 11-Dev There were no conflicts. CMakeLists.txt | 22 +- CMakePresets.json | 8 +- NOTICE | 5 + ci/asan_leak_suppression/regression.txt| 3 + ci/rat-regex.txt | 1 + include/iocore/net/UDPPacket.h | 6 +- include/proxy/http2/HTTP2.h| 1 + include/ts/{sdt.h => ats_probe.h} | 5 +- include/tscore/ink_config.h.cmake.in | 1 + lib/CMakeLists.txt | 3 + lib/swoc/unit_tests/test_TextView.cc | 1 - lib/swoc/unit_tests/test_ip.cc | 1 - lib/systemtap/README.md| 4 + lib/systemtap/sys/sdt-config.h | 32 ++ lib/systemtap/sys/sdt.h| 507 + .../magick/image_magic_dlopen_leak_suppression.txt | 1 + .../experimental/txn_box/plugin/src/ip_space.cc| 1 + .../uri_signing/unit_tests/CMakeLists.txt | 4 + .../uri_signing_test_leak_suppression.txt} | 2 +- plugins/remap_stats/remap_stats.cc | 1 - .../image_magic_dlopen_leak_suppression.txt| 3 + src/iocore/net/P_QUICPacketHandler.h | 3 +- src/iocore/net/QUICNetVConnection.cc | 10 +- src/iocore/net/QUICPacketHandler.cc| 5 +- src/iocore/net/UnixUDPNet.cc | 123 - src/proxy/CacheControl.cc | 24 +- src/proxy/ControlBase.cc | 6 +- src/proxy/FetchSM.cc | 42 +- src/proxy/HostStatus.cc| 49 +- src/proxy/ParentSelectionStrategy.cc | 12 +- src/proxy/ProtocolProbeSessionAccept.cc| 35 +- src/proxy/ReverseProxy.cc | 15 +- src/proxy/Transform.cc | 57 ++- src/proxy/hdrs/HTTP.cc | 28 +- src/proxy/hdrs/HdrHeap.cc | 12 +- src/proxy/hdrs/HdrToken.cc | 14 +- src/proxy/hdrs/MIME.cc | 67 +-- src/proxy/hdrs/URL.cc | 55 ++- src/proxy/hdrs/XPACK.cc| 30 +- src/proxy/http/HttpSM.cc | 13 +- .../http/remap/unit-tests/test_RemapPlugin.cc | 8 +- src/proxy/http2/HPACK.cc | 21 +- src/proxy/http2/HTTP2.cc | 3 + src/proxy/http2/Http2ClientSession.cc | 16 +- src/proxy/http2/Http2CommonSession.cc | 19 +- src/proxy/http2/Http2ConnectionState.cc| 25 +- src/proxy/http2/Http2Frame.cc | 11 +- src/proxy/http2/Http2SessionAccept.cc | 12 +- src/proxy/http3/Http09App.cc | 15 +- src/proxy/http3/Http3App.cc| 31 +- src/proxy/http3/Http3Frame.cc | 8 +- src/proxy/http3/Http3FrameCollector.cc | 8 +- src/proxy/http3/Http3FrameDispatcher.cc| 17 +- src/proxy/http3/Http3HeaderFramer.cc | 8 +- src/proxy/http3/Http3HeaderVIOAdaptor.cc | 19 +- src/proxy/http3/Http3SessionAccept.cc | 18 +- src/proxy/http3/Http3SettingsHandler.cc| 14 +- src/proxy/http3/Http3Transaction.cc| 21 +- src/proxy/http3/QPACK.cc | 10 +- src/proxy/http3/test/test_Http3FrameDispatcher.cc | 9 + src/proxy/logging/Log.cc | 63 +-- src/proxy/logging/LogAccess.cc | 27 +- src/proxy/logging/LogBuffer.cc | 27 +- src/proxy/logging/LogConfig.cc | 50 +- src/proxy/logging/LogField.cc | 22 +- src/proxy/logging/LogFile.cc | 41 +- src/proxy/logging/LogFilter.cc | 19 +- src/proxy/logging/LogFormat.cc | 59 +-- src/proxy/logging/LogObject.cc | 93 ++-- src/proxy/logging/YamlLogConfig.cc | 11 +- .../logging/unit-tests/benchmark_LogObject.cc | 2 +- src/tscore/CMakeLists.txt | 9 +- tests/gold_tests/ats_probe/ats_probe.bt| 35 ++ tests/gold_tests/ats_probe/ats_probe.replay.yaml | 48 ++ tests/gold_tests/ats_probe/ats_probe.test.py | 112 + .../cache/rep
(trafficserver-ci) branch main updated: Set LSan suppression for regression test (#353)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 1f50ff8 Set LSan suppression for regression test (#353) 1f50ff8 is described below commit 1f50ff83ad5f44aec3b3898f5a21da6a7a199df5 Author: Masaori Koshiba AuthorDate: Wed May 15 11:50:22 2024 +0900 Set LSan suppression for regression test (#353) * Set LSan suppression for regression test * Fix path to the suppression file --- jenkins/github/rocky.pipeline | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jenkins/github/rocky.pipeline b/jenkins/github/rocky.pipeline index 9bebdff..78d13b2 100644 --- a/jenkins/github/rocky.pipeline +++ b/jenkins/github/rocky.pipeline @@ -70,6 +70,7 @@ pipeline { # Now build ATS, using the external libswoc. libswoc_dir=/opt/libswoc yaml_cpp_dir=/opt/yaml-cpp +src_top=$(git rev-parse --show-toplevel) PKG_CONFIG_PATH=${libswoc_dir}/lib/pkgconfig \ cmake -B build --preset ci-rocky \ -DEXTERNAL_LIBSWOC=ON -Dlibswoc_ROOT=${libswoc_dir} \ @@ -78,6 +79,7 @@ pipeline { cmake --install build pushd build ctest -j4 --output-on-failure --no-compress-output -T Test + LSAN_OPTIONS=suppressions=${src_top}/ci/asan_leak_suppression/regression.txt \ /tmp/ats-quiche/bin/traffic_server -K -k -R 1 popd else
(trafficserver-ci) branch main updated: rocky for 9.x: use /opt/h3-tools-boringssl (#354)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 727c390 rocky for 9.x: use /opt/h3-tools-boringssl (#354) 727c390 is described below commit 727c390db70a9b9dd5220d6a328f78c2f3e5fe17 Author: Brian Neradt AuthorDate: Tue May 14 14:59:20 2024 -0500 rocky for 9.x: use /opt/h3-tools-boringssl (#354) --- jenkins/github/rocky.pipeline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/github/rocky.pipeline b/jenkins/github/rocky.pipeline index 27f61e5..9bebdff 100644 --- a/jenkins/github/rocky.pipeline +++ b/jenkins/github/rocky.pipeline @@ -85,8 +85,8 @@ pipeline { echo "Falling back to autotools." autoreconf -fiv ./configure \ ---with-quiche=/opt/quiche \ ---with-openssl=/opt/boringssl \ +--with-quiche=/opt/h3-tools-boringssl/quiche \ + --with-openssl=/opt/h3-tools-boringssl/boringssl \ --enable-experimental-plugins \ --enable-example-plugins \ --prefix=/tmp/ats/ \
(trafficserver-ci) branch main updated: fedora:40 Add bpftrace (#351)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 299b804 fedora:40 Add bpftrace (#351) 299b804 is described below commit 299b804197c034515d3807a469c882455444ee53 Author: Brian Neradt AuthorDate: Thu May 9 10:30:35 2024 -0600 fedora:40 Add bpftrace (#351) --- docker/fedora40/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/fedora40/Dockerfile b/docker/fedora40/Dockerfile index 763b559..63b604e 100644 --- a/docker/fedora40/Dockerfile +++ b/docker/fedora40/Dockerfile @@ -34,7 +34,7 @@ RUN <
(trafficserver-ci) branch revert-349-autest-privileged deleted (was 0c70691)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch revert-349-autest-privileged in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git was 0c70691 Revert "Add --privileged to github autest docker container (#349)" The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(trafficserver-ci) branch main updated: Revert "Add --privileged to github autest docker container (#349)" (#350)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 07e7818 Revert "Add --privileged to github autest docker container (#349)" (#350) 07e7818 is described below commit 07e7818fb608e7f47867a90d67552a06625bce71 Author: Mo Chen AuthorDate: Thu May 9 10:29:13 2024 -0500 Revert "Add --privileged to github autest docker container (#349)" (#350) This reverts commit 248b51ca86266b7d98682d3096d2fddd9d6c8542. --- jenkins/github/autest.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index cba4fd8..e04197d 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -3,7 +3,7 @@ pipeline { docker { image 'ci.trafficserver.apache.org/ats/fedora:40' registryUrl 'https://ci.trafficserver.apache.org/' - args '--init --privileged --network=host -v ${HOME}/ccache:/tmp/ccache:rw' + args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' label 'docker' } }
(trafficserver-ci) branch main updated: Add --privileged to github autest docker container (#349)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 248b51c Add --privileged to github autest docker container (#349) 248b51c is described below commit 248b51ca86266b7d98682d3096d2fddd9d6c8542 Author: Mo Chen AuthorDate: Wed May 8 17:20:48 2024 -0500 Add --privileged to github autest docker container (#349) * Update autest.pipeline * Remove --cap-add since it's redundant --- jenkins/github/autest.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index e04197d..cba4fd8 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -3,7 +3,7 @@ pipeline { docker { image 'ci.trafficserver.apache.org/ats/fedora:40' registryUrl 'https://ci.trafficserver.apache.org/' - args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' + args '--init --privileged --network=host -v ${HOME}/ccache:/tmp/ccache:rw' label 'docker' } }
(trafficserver) branch master updated: CMakePresets: -DENABLE_PROBES for ci-fedora (#11334)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new e14b64a662 CMakePresets: -DENABLE_PROBES for ci-fedora (#11334) e14b64a662 is described below commit e14b64a6621134605582b1706e33e19718fb871e Author: Brian Neradt AuthorDate: Wed May 8 15:16:08 2024 -0600 CMakePresets: -DENABLE_PROBES for ci-fedora (#11334) Run fedora builds (including the autests) with ATS SystemTap probes enabled. --- CMakePresets.json | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakePresets.json b/CMakePresets.json index af0f100c03..aad0eccaa1 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -160,6 +160,7 @@ "description": "CI Pipeline config for Fedora Linux", "inherits": ["ci"], "cacheVariables": { +"ENABLE_PROBES": "ON", "OPENSSL_ROOT_DIR": "/opt/openssl-quic", "opentelemetry_ROOT": "/opt", "CURL_ROOT": "/opt",
(trafficserver) branch master updated: systemtap: add sdt.h header-only file (#11331)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 0bf12c55e1 systemtap: add sdt.h header-only file (#11331) 0bf12c55e1 is described below commit 0bf12c55e1b3517656a46abeb9fe3c9968550a75 Author: Brian Neradt AuthorDate: Wed May 8 13:49:37 2024 -0600 systemtap: add sdt.h header-only file (#11331) Adding a local sdt.h header file eliminates the build requirement for any SystemTap packages. This should make it easier for users to utilize ATS SystemTap probes. --- CMakeLists.txt| 5 + NOTICE| 5 + ci/rat-regex.txt | 1 + include/ts/{sdt.h => ats_probe.h} | 5 +- lib/CMakeLists.txt| 3 + lib/systemtap/README.md | 4 + lib/systemtap/sys/sdt-config.h| 32 +++ lib/systemtap/sys/sdt.h | 507 ++ src/proxy/http/HttpSM.cc | 2 +- src/tscore/CMakeLists.txt | 9 +- tools/clang-format.sh | 2 +- 11 files changed, 570 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8453384dfe..e127bab5c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,6 +142,7 @@ option(ENABLE_BENCHMARKS "Build benchmarks (default OFF)") option(EXTERNAL_YAML_CPP "Use external yaml-cpp (default OFF)") option(EXTERNAL_LIBSWOC "Use external libswoc (default OFF)") option(LINK_PLUGINS "Link core libraries to plugins (default OFF)") +option(ENABLE_PROBES "Enable ATS SystemTap probes (default OFF)") # Setup user # NOTE: this is the user trafficserver runs as @@ -326,6 +327,10 @@ if(ENABLE_ASAN) add_link_options(-fsanitize=address) endif() +if(ENABLE_PROBES) + add_compile_options("-DENABLE_SYSTEMTAP_PROBES") +endif() + set(TS_USE_MALLOC_ALLOCATOR ${ENABLE_MALLOC_ALLOCATOR}) find_package(ZLIB REQUIRED) diff --git a/NOTICE b/NOTICE index dc46d72a10..4d04f3d960 100644 --- a/NOTICE +++ b/NOTICE @@ -101,3 +101,8 @@ https://github.com/ariya/FastLZ include/tsutil/Bravo.h is C++ version of puzpuzpuz/xsync's RBMutex Copyright (c) 2021 Andrey Pechkurov (MIT License) + +~~ + +lib/systemtap/sys/sdt.h is from SystemTap. This file is dedicated to the public domain, pursuant to CC0. +https://fossies.org/linux/systemtap/includes/sys/sdt.h diff --git a/ci/rat-regex.txt b/ci/rat-regex.txt index 01b75babc6..9215cc206c 100644 --- a/ci/rat-regex.txt +++ b/ci/rat-regex.txt @@ -67,6 +67,7 @@ port\.h ^catch[.]hpp$ ^configuru.hpp$ ^yamlcpp$ +^systemtap$ ^swoc$ ^tests/gold_tests/autest-site/min_cfg$ ^clang-tidy.conf$ diff --git a/include/ts/sdt.h b/include/ts/ats_probe.h similarity index 90% rename from include/ts/sdt.h rename to include/ts/ats_probe.h index 9072723caf..0c113ab6a7 100644 --- a/include/ts/sdt.h +++ b/include/ts/ats_probe.h @@ -1,6 +1,6 @@ /** @file -A brief file description +Expose ATS SystemTap probes. @section license License @@ -23,7 +23,8 @@ #pragma once -#ifdef HAVE_SYSTEMTAP +// To enable ATS SystemTap probes, pass -DENABLE_PROBES=ON to cmake. +#ifdef ENABLE_SYSTEMTAP_PROBES #include diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 665e4e4397..0f33b09fb0 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -41,3 +41,6 @@ endif() add_library(catch2::catch2 INTERFACE IMPORTED GLOBAL) target_include_directories(catch2::catch2 INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/catch2") + +add_library(systemtap::systemtap INTERFACE IMPORTED GLOBAL) +target_include_directories(systemtap::systemtap INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/systemtap") diff --git a/lib/systemtap/README.md b/lib/systemtap/README.md new file mode 100644 index 00..014a29a6cf --- /dev/null +++ b/lib/systemtap/README.md @@ -0,0 +1,4 @@ +This header-only file was pulled in to eliminate any dependencies upon SystemTap +packages. It was pulled from the fossies archive here, published to the public +domain, pursuant to CC0: +https://fossies.org/linux/systemtap/includes/sys/sdt.h diff --git a/lib/systemtap/sys/sdt-config.h b/lib/systemtap/sys/sdt-config.h new file mode 100644 index 00..b0365d8e6b --- /dev/null +++ b/lib/systemtap/sys/sdt-config.h @@ -0,0 +1,32 @@ +/** @file + + Set _SDT_ASM_SECTION_AUTOGROUP_SUPPORT to 1 to satisfy sdt.h. + + @section license License + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a co
(trafficserver-ci) branch main updated: Ignore lib/systemtap for various formatting scripts (#347)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 8baa33f Ignore lib/systemtap for various formatting scripts (#347) 8baa33f is described below commit 8baa33fd6fe13b3127529df63b12724ed8c81e1c Author: Brian Neradt AuthorDate: Wed May 8 11:05:47 2024 -0600 Ignore lib/systemtap for various formatting scripts (#347) --- jenkins/bin/format.sh| 2 ++ jenkins/branch/coverage.pipeline | 1 + jenkins/github/format.pipeline | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jenkins/bin/format.sh b/jenkins/bin/format.sh index 6f148bd..7055597 100755 --- a/jenkins/bin/format.sh +++ b/jenkins/bin/format.sh @@ -22,6 +22,7 @@ cd "${WORKSPACE}/src" # First, make sure there are no trailing WS!!! git grep -IE ' +$' | \ fgrep -v 'lib/yamlcpp' | \ +fgrep -v 'lib/systemtap' | \ fgrep -v '.gold:' | \ fgrep -v '.test_input' if [ "1" != "$?" ]; then @@ -34,6 +35,7 @@ echo "Success! No trailing whitespace" # Unix format please! git grep -IE $'\r$' | \ fgrep -v 'lib/yamlcpp' | \ +fgrep -v 'lib/systemtap' | \ fgrep -v '.test_input' if [ "1" != "$?" ]; then echo "Error: Please make sure to run dos2unix on the above file(s)" diff --git a/jenkins/branch/coverage.pipeline b/jenkins/branch/coverage.pipeline index e51afbb..1c76c39 100644 --- a/jenkins/branch/coverage.pipeline +++ b/jenkins/branch/coverage.pipeline @@ -225,6 +225,7 @@ pipeline { '/usr/*' \ '*/TestBox.h' \ '*/lib/yamlcpp/*' \ + '*/lib/systemtap/*' \ '*/test/*' \ '*/test_*' \ '*/tests/*' \ diff --git a/jenkins/github/format.pipeline b/jenkins/github/format.pipeline index 0569e4b..cc86c04 100644 --- a/jenkins/github/format.pipeline +++ b/jenkins/github/format.pipeline @@ -59,14 +59,14 @@ pipeline { dir('src') { sh '''#!/bin/bash set -x -git grep -IE ' +$' | fgrep -v 'lib/yamlcpp' | fgrep -v '.gold:' | fgrep -v '.test_input' +git grep -IE ' +$' | fgrep -v 'lib/yamlcpp' | fgrep -v 'lib/systemtap' | fgrep -v '.gold:' | fgrep -v '.test_input' if [ "1" != "$?" ]; then echo "Error: Trailing whitespaces are not allowed!" echo "Error: Please run: git grep -IE ' +$'" exit 1 fi echo "Success! No trailing whitespace" -git grep -IE $'\r$' | fgrep -v 'lib/yamlcpp' | fgrep -v '.test_input' +git grep -IE $'\r$' | fgrep -v 'lib/yamlcpp' | fgrep -v 'lib/systemtap' | fgrep -v '.test_input' if [ "1" != "$?" ]; then echo "Error: Please make sure to run dos2unix on the above file(s)" exit 1
(trafficserver) branch master updated: CMakePresets: test nuraft on openssl (#11328)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 5dc9915eb1 CMakePresets: test nuraft on openssl (#11328) 5dc9915eb1 is described below commit 5dc9915eb1f39b95c981d1ac21cfbe861f06a897 Author: Brian Neradt AuthorDate: Tue May 7 16:17:23 2024 -0500 CMakePresets: test nuraft on openssl (#11328) This changes the openssl branch test to test nuraft built against openssl. --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index 426ef71915..af0f100c03 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -316,7 +316,7 @@ "inherits": ["branch"], "cacheVariables": { "ENABLE_AUTEST": "ON", -"nuraft_ROOT": "/opt/nuraft-boringssl", +"nuraft_ROOT": "/opt", "OPENSSL_ROOT_DIR": "/opt/openssl-quic/", "quiche_ROOT": "/opt/quiche", "ENABLE_QUICHE": "ON"
(trafficserver-ci) branch main updated: quiche.sh: $# doesn't include $0 I guess :) (#346)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new d335c57 quiche.sh: $# doesn't include $0 I guess :) (#346) d335c57 is described below commit d335c575d0645dce12b8ae83ac437965cfa8b914 Author: Brian Neradt AuthorDate: Tue May 7 14:28:57 2024 -0500 quiche.sh: $# doesn't include $0 I guess :) (#346) --- jenkins/bin/quiche.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/bin/quiche.sh b/jenkins/bin/quiche.sh index 65d63c7..a2ca6b5 100755 --- a/jenkins/bin/quiche.sh +++ b/jenkins/bin/quiche.sh @@ -29,7 +29,7 @@ then fi SSL_FLAVOR="boringssl" -if [ $# -eq 2 ] +if [ $# -ge 1 ] then SSL_FLAVOR=$1 fi
(trafficserver) 01/01: Merge master into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 99499a05d6e2a55b3e6a072b2593c49cf0331130 Merge: 6e5d6f2a47 607783448e Author: bneradt AuthorDate: Tue May 7 10:19:54 2024 -0600 Merge master into 11-Dev Conflicts are related to: https://github.com/apache/trafficserver/pull/11157 .clang-format | 44 +- CMakeLists.txt | 26 +- CMakePresets.json | 46 +- cmake/ExperimentalPlugins.cmake| 15 +- plugins/esi/CMakeLists.txt => cmake/Findwamr.cmake | 38 +- cmake/add_atsplugin.cmake | 13 +- doc/admin-guide/files/ip_allow.yaml.en.rst | 22 + doc/admin-guide/files/records.yaml.en.rst | 36 +- doc/admin-guide/files/remap.config.en.rst | 2 + doc/admin-guide/files/sni.yaml.en.rst | 382 +- .../statistics/core/http-connection.en.rst | 11 +- doc/admin-guide/plugins/header_rewrite.en.rst | 18 + doc/admin-guide/plugins/ja3_fingerprint.en.rst | 14 +- doc/admin-guide/plugins/lua.en.rst | 10 +- doc/admin-guide/plugins/rate_limit.en.rst | 10 + example/cripts/example1.cc | 20 +- example/plugins/c-api/add_header/add_header.cc | 18 +- .../c-api/append_transform/append_transform.cc | 20 +- example/plugins/c-api/basic_auth/basic_auth.cc | 20 +- .../c-api/bnull_transform/bnull_transform.cc | 18 +- example/plugins/c-api/cache_scan/cache_scan.cc | 46 +- example/plugins/c-api/cert_update/cert_update.cc | 6 +- .../client_context_dump/client_context_dump.cc | 14 +- example/plugins/c-api/denylist_0/denylist_0.cc | 22 +- example/plugins/c-api/denylist_1/denylist_1.cc | 38 +- .../plugins/c-api/disable_http2/disable_http2.cc | 8 +- example/plugins/c-api/file_1/file_1.cc | 4 +- example/plugins/c-api/intercept/intercept.cc | 50 +- .../c-api/lifecycle_plugin/lifecycle_plugin.cc | 2 +- .../plugins/c-api/null_transform/null_transform.cc | 18 +- .../plugins/c-api/output_header/output_header.cc | 12 +- example/plugins/c-api/passthru/passthru.cc | 20 +- example/plugins/c-api/protocol/Protocol.cc | 14 +- example/plugins/c-api/protocol/TxnSM.cc| 20 +- example/plugins/c-api/protocol/TxnSM.h | 38 +- .../plugins/c-api/protocol_stack/protocol_stack.cc | 4 +- example/plugins/c-api/query_remap/query_remap.cc | 10 +- example/plugins/c-api/redirect_1/redirect_1.cc | 14 +- example/plugins/c-api/remap/remap.cc | 30 +- .../c-api/remap_header_add/remap_header_add.cc | 6 +- .../plugins/c-api/replace_header/replace_header.cc | 4 +- .../plugins/c-api/request_buffer/request_buffer.cc | 20 +- .../c-api/response_header_1/response_header_1.cc | 16 +- example/plugins/c-api/secure_link/secure_link.cc | 22 +- example/plugins/c-api/server_push/server_push.cc | 2 +- .../c-api/server_transform/server_transform.cc | 42 +- .../plugins/c-api/session_hooks/session_hooks.cc | 2 +- .../plugins/c-api/ssl_preaccept/ssl_preaccept.cc | 12 +- example/plugins/c-api/ssl_sni/ssl_sni.cc | 12 +- .../c-api/ssl_sni_allowlist/ssl_sni_allowlist.cc | 12 +- example/plugins/c-api/statistic/statistic.cc | 2 +- example/plugins/c-api/thread_pool/psi.cc | 78 +- example/plugins/c-api/thread_pool/thread.cc| 2 +- example/plugins/c-api/thread_pool/thread.h | 14 +- .../plugins/c-api/txn_data_sink/txn_data_sink.cc | 6 +- example/plugins/c-api/vconn_args/vconn_args.cc | 4 +- example/plugins/c-api/verify_cert/verify_cert.cc | 10 +- include/api/APIHook.h | 6 +- include/api/InkAPIInternal.h | 38 +- include/cripts/Bundle.hpp | 2 +- include/cripts/Bundles/Common.hpp | 6 +- include/cripts/Bundles/LogsMetrics.hpp | 8 +- include/cripts/Configs.hpp | 419 +-- include/cripts/Connections.hpp | 48 +- include/cripts/Context.hpp | 26 +- include/cripts/Crypto.hpp | 16 +- include/cripts/Epilogue.hpp| 26 +- include/cripts/Error.hpp | 6 +- include/cripts/Files.hpp | 2 +- include/cripts/Headers.hpp | 34 +- include/cripts/Instance.hpp| 18 +- include/cripts/Lulu.hpp| 97 +-- include/cripts/Matcher.hpp | 18 +- include/cripts/Metrics.hpp | 8 +- include/cripts/Plugins.
(trafficserver) branch 11-Dev updated (6e5d6f2a47 -> 99499a05d6)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 6e5d6f2a47 Merge latest master into 11-Dev add 996291d167 rate_limit: Set initialized flag of SieveLru when loading yaml is done (#11181) add 608ec5b300 records.yaml - Make sure we validate the input value with the configured check expr. (#11161) add f0cf0313df Use GCC stardard pre-defined macros to determine endianess. (#11186) add b27449b1d2 Don't delete QUIC stream until both read and write complete (#11196) add 4750af1af3 Fix logic around srv records at other code path (#11193) add db9db293c5 Fix a build issue with autest plugins (#11165) add ff100f4f5c ja3_fingerprint: Add condition to run test only if the plugin was built. (#11202) add e0620eb941 proxy.config.http2.max_continuation_frames_per_minute (#11205) add 06f98d1177 Don't send "None" as a server name (#11204) add 66940f5768 Fix HTTP/2 Buffering Issues (#11143) add d8f3acbd2b Clean up some of Cripts strings with modern libSWOC (#11208) add 5cb31cd627 Support rate limit on active connections instead of txn (#11172) add 42d86fea90 Improve seen list for the RAM cache (#10662) add c79bb0dcd1 Fix TLS tunneling (#11213) add 3ef72485dd check the appropriate functions and set variables correctly (#11215) add 732006e23b http2: Set proxy session active on create_stream (#11210) add b5dca0dc65 http2: close stream on sending RST_STREAM (#11209) add 36dac7a028 Update asan settings and fail if other allocators are used (#11212) add 611cb23d62 Fix test_TSHttpSsnInfo: Use host name instead of numeric address. (#11218) add b674083c68 Fix parent proxy connection stat overcounting (#11220) add 759bbbc782 Update oss-fuzz.sh (#11221) add fe4fe87e0d txn_box: Use swoc::MemArena instead of manual allocation. (#11156) add c0a42a6a54 Remove noisy retransmit Note messages (#11225) add 2014479155 ja3_fingerprint.so docs: --modify-incoming (#11226) add dab2eb1c3f Remove deprecated debug output functions from proxy/http source files. (#11217) add c086d8382e add missing CMakeLists.txt (#11231) add 14176f6217 find PkgConfig earlier (#11223) add 0d8e42524b Add RefCountObjInHeap class. (#11199) add 4e9c8314ca Update curl library references to CURL (#11232) add 87d88ded28 Restore private key passphrase behavior (#11201) add ae9fe3e512 CI: have rocky and fedora builds use curl in /opt (#11233) add 6d4f2b117f Manage storage for ssl hooks (#11224) add 402c393bea Refactor Metrics storage to preserve lifetime (#11214) add 69860ddfaa cleanup asan odr violations (#11237) add ceb60aeaf7 Cleanup: rename client_vc to txn (#11234) add 10520b361a IP Allow: document when rules are applied (#11240) add fdbda82e85 jsonrpc: small cleanup. (#11236) add defd0f2f5b Allow Cripts to be used directly as @plugin (#11192) add 1feaba1235 header_rewrite: add debug to accompany parse_line errors (#11238) add a39b8f112d Fixed asan leak issues with RegexContext (#11184) add b4c6b8bafa AuTest: Make ja3_fingerprint test stable (#11230) add 14d5b2ce40 Terminate H2 connection by COMPRESSION_ERROR (#11222) add ed29bf7bed HttpSM::tunnel_handler: Handle WRITE events (#11242) add 7cc8e3a0e8 Fix asan leak errors for cachevol test (#11239) add dfbea61df5 Fixes the HRW regexes after refactoring in #11152 (#11250) add b83c795e52 CID 1534744: txn_box: Move config object insetad of copy. (#11249) add 10e01239e9 CID 1374999: plugin stale_response, delete pointer on early exit. (#11248) add 08506ef708 Avoid including pcre2.h in Regex.h. (#11246) add 45f00b5ee2 libswoc: fix unresolved function type for transform_view_of. (#11255) add 25eea46729 CMakePresets: add opentelemetry_ROOT with CURL_ROOT (#11252) add c01cc6203f Findwamr.cmake: a find script for the WAMR library (#11251) add a356e443aa libswoc: version update to 1.5.12 (#11256) add 2462b93782 AuTest: Make ja3_fingerprint test more stable (#11254) add 6492243083 Cleanup: Http2ConnectionState (#11235) add 9e75d95575 Coverity: Trying to fix some of the following CID issues. (#2) add 6f014754a1 wasm plugin: Add build support (#11258) add f6ad241eb4 http2: Track scheduled events (#11262) add e6c269aadd Initialize HistoryEntry array (#11264) add 2492c84cdd Adds missing empty line for rate limit docs (#11261) add 9e14e07ccd tslua.so: handle unrecognized status codes (#11272) add e20845453c Regex: fix memory leak if the match buffer is too small (#11244) add cb43fc6a8d CMake: add missing verify_remap_plugin() calls. (#11276) add 1cf4991b48 Eliminate leaking of HostStatusSync instances. (#11275) add 8219dffe09 CMake. Fix yamlcpp version defin
(trafficserver-ci) branch main updated: quiche branch builds: support openssl (#345)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new beb4c84 quiche branch builds: support openssl (#345) beb4c84 is described below commit beb4c84657609333835d0a88dc6eea78cab5d450 Author: Brian Neradt AuthorDate: Fri May 3 17:29:21 2024 -0500 quiche branch builds: support openssl (#345) Support quiche built on top of openssl as well as boringssl. --- jenkins/bin/quiche.sh | 8 +++- jenkins/branch/quiche.pipeline | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/jenkins/bin/quiche.sh b/jenkins/bin/quiche.sh index be633f3..65d63c7 100755 --- a/jenkins/bin/quiche.sh +++ b/jenkins/bin/quiche.sh @@ -28,13 +28,19 @@ then exit 0 fi +SSL_FLAVOR="boringssl" +if [ $# -eq 2 ] +then + SSL_FLAVOR=$1 +fi + cd "${WORKSPACE}/src" # copy in CMakePresets.json presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . -cmake -B build --preset branch-quiche-on-boringssl +cmake -B build --preset branch-quiche-on-${SSL_FLAVOR} cmake --build build -j${NPROC} -v cmake --install build diff --git a/jenkins/branch/quiche.pipeline b/jenkins/branch/quiche.pipeline index 8f8af5b..8c25907 100644 --- a/jenkins/branch/quiche.pipeline +++ b/jenkins/branch/quiche.pipeline @@ -68,7 +68,7 @@ pipeline { set -e export PATH=/opt/bin:${PATH} source ../ci/jenkins/bin/environment.sh - ../ci/jenkins/bin/quiche.sh + ../ci/jenkins/bin/quiche.sh ${SSL_FLAVOR} ''' } }
(trafficserver-ci) branch main updated: branch-quiche -> branch-quiche-boringssl (#344)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 9bafa55 branch-quiche -> branch-quiche-boringssl (#344) 9bafa55 is described below commit 9bafa5550ff7fb9c844831e7dafefc76b415812e Author: Brian Neradt AuthorDate: Fri May 3 17:14:00 2024 -0500 branch-quiche -> branch-quiche-boringssl (#344) This got renamed --- jenkins/bin/quiche.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/bin/quiche.sh b/jenkins/bin/quiche.sh index 6560786..be633f3 100755 --- a/jenkins/bin/quiche.sh +++ b/jenkins/bin/quiche.sh @@ -34,7 +34,7 @@ cd "${WORKSPACE}/src" presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . -cmake -B build --preset branch-quiche +cmake -B build --preset branch-quiche-on-boringssl cmake --build build -j${NPROC} -v cmake --install build
(trafficserver) branch master updated: Updates for new build_h3_tools for quiche on openssl (#11318)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4e6a52f5be Updates for new build_h3_tools for quiche on openssl (#11318) 4e6a52f5be is described below commit 4e6a52f5be744d0d472968f2db19f6a1f4105194 Author: Brian Neradt AuthorDate: Fri May 3 17:02:18 2024 -0500 Updates for new build_h3_tools for quiche on openssl (#11318) The rockylinux:8 and fedora:40 CI images now both have the updated build_h3_tools run on them. I kept the openssl-quic in /opt for parity with current CI tooling and the boringssl satck is in /opt/h3-tools-boringssl. This updates the presets for these new paths. --- CMakePresets.json | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 4030088ca4..426ef71915 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -147,11 +147,10 @@ "description": "CI Pipeline config for Rocky Linux", "inherits": ["ci"], "cacheVariables": { -"OPENSSL_ROOT_DIR": "/opt/boringssl", -"quiche_ROOT": "/opt/quiche", +"OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", +"quiche_ROOT": "/opt/h3-tools-boringssl/quiche", "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", "opentelemetry_ROOT": "/opt", -"CURL_ROOT": "/opt", "ENABLE_QUICHE": "ON" } }, @@ -187,8 +186,8 @@ "description": "CI Pipeline config for Fedora Linux (quiche build)", "inherits": ["ci"], "cacheVariables": { -"OPENSSL_ROOT_DIR": "/opt/boringssl", -"quiche_ROOT": "/opt/quiche", +"OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", +"quiche_ROOT": "/opt/h3-tools-boringssl/quiche", "opentelemetry_ROOT": "/opt", "CURL_ROOT": "/opt", "wamr_ROOT": "/opt", @@ -300,13 +299,25 @@ } }, { - "name": "branch-quiche", + "name": "branch-quiche-on-boringssl", + "displayName": "CI branch Quiche", + "inherits": ["branch"], + "cacheVariables": { +"ENABLE_AUTEST": "ON", +"nuraft_ROOT": "/opt/nuraft-boringssl", +"OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", +"quiche_ROOT": "/opt/h3-tools-boringssl/quiche", +"ENABLE_QUICHE": "ON" + } +}, +{ + "name": "branch-quiche-on-openssl", "displayName": "CI branch Quiche", "inherits": ["branch"], "cacheVariables": { "ENABLE_AUTEST": "ON", "nuraft_ROOT": "/opt/nuraft-boringssl", -"OPENSSL_ROOT_DIR": "/opt/boringssl", +"OPENSSL_ROOT_DIR": "/opt/openssl-quic/", "quiche_ROOT": "/opt/quiche", "ENABLE_QUICHE": "ON" }
(trafficserver-ci) branch main updated: rockylinux:8 - quiche with openssl build tools (#343)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new cb1e261 rockylinux:8 - quiche with openssl build tools (#343) cb1e261 is described below commit cb1e261183455658cb29de5cb6d7ddf82859b51a Author: Brian Neradt AuthorDate: Fri May 3 16:36:28 2024 -0500 rockylinux:8 - quiche with openssl build tools (#343) Build both openssl and boringssl quiche dependencies. --- docker/rockylinux8/Dockerfile | 51 ++--- ...ild_h3_tools.sh => build_boringssl_h3_tools.sh} | 113 +-- ...build_h3_tools.sh => build_openssl_h3_tools.sh} | 125 ++--- 3 files changed, 119 insertions(+), 170 deletions(-) diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile index f100ea9..b093687 100644 --- a/docker/rockylinux8/Dockerfile +++ b/docker/rockylinux8/Dockerfile @@ -17,6 +17,13 @@ RUN <https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh +# https://github.com/apache/trafficserver/blob/master/tools/build_boringssl_h3_tools.sh # # This present script been modified from the latter in the following ways: # -# * This version checks out specific commits of the repos so that people -# creating images from the corresponding Dockerfile do not get different -# versions of these over time. -# -# * It also doesn't run sudo since the Dockerfile will run this as root. +# * It doesn't run sudo since the Dockerfile will run this as root. # -# * It also doesn't use a mktemp since the caller sets up a temporary directory +# * It doesn't use a mktemp since the caller sets up a temporary directory # that it later removes. -# Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} +WORKDIR="$(pwd)" # Set these, if desired, to change these to your preferred installation # directory -BASE=${BASE:-"/opt"} -OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"} -OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"} +BASE=${BASE:-"/opt/h3-tools-boringssl"} MAKE="make" +echo "Building boringssl H3 dependencies in ${WORKDIR}. Installation will be done in ${BASE}" + CFLAGS=${CFLAGS:-"-O3 -g"} CXXFLAGS=${CXXFLAGS:-"-O3 -g"} +BORINGSSL_PATH="${BASE}/boringssl" if [ -e /etc/redhat-release ]; then MAKE="gmake" -TMP_QUICHE_BSSL_PATH="${BASE}/boringssl/lib64" +TMP_BORINGSSL_LIB_PATH="${BASE}/boringssl/lib64" echo "+-+" echo "| You probably need to run this, or something like this, for your system: |" echo "| |" @@ -64,7 +60,7 @@ if [ -e /etc/redhat-release ]; then echo echo elif [ -e /etc/debian_version ]; then -TMP_QUICHE_BSSL_PATH="${BASE}/boringssl/lib" +TMP_BORINGSSL_LIB_PATH="${BASE}/boringssl/lib" echo "+-+" echo "| You probably need to run this, or something like this, for your system: |" echo "| |" @@ -86,8 +82,8 @@ if [ `uname -s` = "Darwin" ]; then echo "+-+" fi -if [ -z ${QUICHE_BSSL_PATH+x} ]; then - QUICHE_BSSL_PATH=${TMP_QUICHE_BSSL_PATH:-"${BASE}/boringssl/lib"} +if [ -z ${BORINGSSL_LIB_PATH+x} ]; then + BORINGSSL_LIB_PATH=${TMP_BORINGSSL_LIB_PATH:-"${BORINGSSL_PATH}/lib"} fi set -x @@ -135,12 +131,26 @@ if [ ! -d boringssl ]; then cd .. fi cd boringssl + +# un-set it for a bit. +set +e +BSSL_C_FLAGS="-Wdangling-pointer=0" +GCCO=$(eval "gcc --help=warnings | grep dangling-pointer=") +retVal=$? +if [ $retVal -eq 1 ]; then +BSSL_C_FLAGS="" +fi +set -e + +# Note: -Wdangling-pointer=0 +# We may have some issues with latest GCC compilers, so disabling -Wdangling-pointer= cmake \ -B build-shared \ -DGO_EXECUTABLE=${GO_BINARY_PATH} \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ + -DCMAKE_C_FLAGS=${BSSL_C_FLAGS} \ -DBUILD_SHARED_LIBS=1 cmake \ -B build-static \ @@ -148,27 +158,24 @@ cmake \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ + -DCMAKE_C_FLAGS=${BSSL_C_FLAGS} \ -DBUILD_SHARED_LIBS=0
(trafficserver) branch master updated: compress autest: verify compressed bodies (#11309)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 40908030c3 compress autest: verify compressed bodies (#11309) 40908030c3 is described below commit 40908030c37420e2b9efe8cfbae7a0522dcb8e6a Author: Brian Neradt AuthorDate: Thu May 2 15:30:23 2024 -0500 compress autest: verify compressed bodies (#11309) Add body compression verification to the compress.test.py autest. --- .../pluginTest/compress/compress.test.py | 176 ++--- 1 file changed, 123 insertions(+), 53 deletions(-) diff --git a/tests/gold_tests/pluginTest/compress/compress.test.py b/tests/gold_tests/pluginTest/compress/compress.test.py index d9a7ed163e..87afe0d7e6 100644 --- a/tests/gold_tests/pluginTest/compress/compress.test.py +++ b/tests/gold_tests/pluginTest/compress/compress.test.py @@ -27,20 +27,13 @@ Test compress plugin Test.SkipUnless( Condition.PluginExists('compress.so'), Condition.PluginExists('conf_remap.so'), Condition.HasATSFeature('TS_HAS_BROTLI')) -server = Test.MakeOriginServer("server", options={'--load': '{}/compress_observer.py'.format(Test.TestDirectory)}) - - -def repeat(str, count): -result = "" -while count > 0: -result += str -count -= 1 -return result - +server = Test.MakeOriginServer("server", options={'--load': f'{Test.TestDirectory}/compress_observer.py'}) # Need a fairly big body, otherwise the plugin will refuse to compress -body = repeat("lets go surfin now everybodys learnin how\n", 24) -body = body + "lets go surfin now everybodys learnin how" +line = "lets go surfin now everybodys learnin how" +body = f'{line}\n' * 24 + line +orig_path = f'{Test.RunDirectory}/orig.txt' +open(orig_path, 'w').write(body) # expected response from the origin server response_header = { @@ -52,11 +45,7 @@ response_header = { } for i in range(3): # add request/response to the server dictionary -request_header = { -"headers": "GET /obj{} HTTP/1.1\r\nHost: just.any.thing\r\n\r\n".format(i), -"timestamp": "1469733493.993", -"body": "" -} +request_header = {"headers": f"GET /obj{i} HTTP/1.1\r\nHost: just.any.thing\r\n\r\n", "timestamp": "1469733493.993", "body": ""} server.addResponse("sessionfile.log", request_header, response_header) # post for the origin server @@ -69,19 +58,19 @@ post_request_header = { server.addResponse("sessionfile.log", post_request_header, response_header) -def curl(ts, idx, encodingList): +def curl(ts, idx, encodingList, out_path): return ( -"curl --verbose --proxy http://127.0.0.1:{}".format(ts.Variables.port) + -" --header 'X-Ats-Compress-Test: {}/{}'".format(idx, encodingList) + -" --header 'Accept-Encoding: {0}' 'http://ae-{1}/obj{1}'".format(encodingList, idx) + +f"curl -o {out_path} --verbose --proxy http://127.0.0.1:{ts.Variables.port}; +f" --header 'X-Ats-Compress-Test: {idx}/{encodingList}'" +f" --header 'Accept-Encoding: {encodingList}' 'http://ae-{idx}/obj{idx}'" " 2>> compress_long.log ; printf '\n===\n' >> compress_long.log") -def curl_post(ts, idx, encodingList): +def curl_post(ts, idx, encodingList, out_path): return ( -"curl --verbose -d 'knock knock' --proxy http://127.0.0.1:{}".format(ts.Variables.port) + -" --header 'X-Ats-Compress-Test: {}/{}'".format(idx, encodingList) + -" --header 'Accept-Encoding: {0}' 'http://ae-{1}/obj{1}'".format(encodingList, idx) + +f"curl -o {out_path} --verbose -d 'knock knock' --proxy http://127.0.0.1:{ts.Variables.port}; +f" --header 'X-Ats-Compress-Test: {idx}/{encodingList}'" +f" --header 'Accept-Encoding: {encodingList}' 'http://ae-{idx}/obj{idx}'" " 2>> compress_long.log ; printf '\n===\n' >> compress_long.log") @@ -102,23 +91,40 @@ ts.Setup.Copy("compress.config") ts.Setup.Copy("compress2.config") ts.Disk.remap_config.AddLine( -'map http://ae-0/ http://127.0.0.1:{}/'.format(server.Variables.Port) + -' @plugin=compress.so @pparam={}/compress.config'.format(Test.RunDirectory)) +f'map http://ae-0/ http://127.0.0.1:{server.Variables.Port}/' + +f' @plugin=compress.so @pparam={Test.RunDirectory}/compress.config') ts.Disk.remap_config.AddLine( -'map http://ae-1/ http://127.0.0.1:{}/'.format(server.Variables.Port) + +f'map http://ae-1/ http://127.0.0.1:{server.Variables
(trafficserver-ci) branch main updated: fedora:40: build quiche with both openssl and boringssl (#342)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 85f1e5c fedora:40: build quiche with both openssl and boringssl (#342) 85f1e5c is described below commit 85f1e5c5cb5b569b6391f9fb05e8c304b68bc421 Author: Brian Neradt AuthorDate: Wed May 1 13:44:11 2024 -0500 fedora:40: build quiche with both openssl and boringssl (#342) Pull in the updated tools/build_h3_tools.sh work from ATS. --- docker/fedora40/Dockerfile | 20 +++- ...ild_h3_tools.sh => build_boringssl_h3_tools.sh} | 121 +++-- ...build_h3_tools.sh => build_openssl_h3_tools.sh} | 109 ++- 3 files changed, 110 insertions(+), 140 deletions(-) diff --git a/docker/fedora40/Dockerfile b/docker/fedora40/Dockerfile index 7cfb986..763b559 100644 --- a/docker/fedora40/Dockerfile +++ b/docker/fedora40/Dockerfile @@ -79,12 +79,25 @@ RUN pip3 install pipenv httpbin # go will be installed by build_h3_tools. ARG h3_tools_dir=/root/build_h3_tools RUN mkdir -p ${h3_tools_dir} -COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh -# This will install OpenSSL QUIC and related tools in /opt. +COPY build_boringssl_h3_tools.sh ${h3_tools_dir} +# boringssl RUN <https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh +# https://github.com/apache/trafficserver/blob/master/tools/build_boringssl_h3_tools.sh # # This present script been modified from the latter in the following ways: # -# * This version checks out specific commits of the repos so that people -# creating images from the corresponding Dockerfile do not get different -# versions of these over time. -# -# * It also doesn't run sudo since the Dockerfile will run this as root. +# * It doesn't run sudo since the Dockerfile will run this as root. # -# * It also doesn't use a mktemp since the caller sets up a temporary directory +# * It doesn't use a mktemp since the caller sets up a temporary directory # that it later removes. -# Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} +WORKDIR="$(pwd)" # Set these, if desired, to change these to your preferred installation # directory -BASE=${BASE:-"/opt"} -OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"} -OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"} +BASE=${BASE:-"/opt/h3-tools-boringssl"} MAKE="make" +echo "Building boringssl H3 dependencies in ${WORKDIR}. Installation will be done in ${BASE}" + CFLAGS=${CFLAGS:-"-O3 -g"} CXXFLAGS=${CXXFLAGS:-"-O3 -g"} +BORINGSSL_PATH="${BASE}/boringssl" if [ -e /etc/redhat-release ]; then MAKE="gmake" -TMP_QUICHE_BSSL_PATH="${BASE}/boringssl/lib64" +TMP_BORINGSSL_LIB_PATH="${BASE}/boringssl/lib64" echo "+-+" echo "| You probably need to run this, or something like this, for your system: |" echo "| |" @@ -64,7 +60,7 @@ if [ -e /etc/redhat-release ]; then echo echo elif [ -e /etc/debian_version ]; then -TMP_QUICHE_BSSL_PATH="${BASE}/boringssl/lib" +TMP_BORINGSSL_LIB_PATH="${BASE}/boringssl/lib" echo "+-+" echo "| You probably need to run this, or something like this, for your system: |" echo "| |" @@ -86,8 +82,8 @@ if [ `uname -s` = "Darwin" ]; then echo "+-+" fi -if [ -z ${QUICHE_BSSL_PATH+x} ]; then - QUICHE_BSSL_PATH=${TMP_QUICHE_BSSL_PATH:-"${BASE}/boringssl/lib"} +if [ -z ${BORINGSSL_LIB_PATH+x} ]; then + BORINGSSL_LIB_PATH=${TMP_BORINGSSL_LIB_PATH:-"${BORINGSSL_PATH}/lib"} fi set -x @@ -135,26 +131,51 @@ if [ ! -d boringssl ]; then cd .. fi cd boringssl + +# un-set it for a bit. +set +e +BSSL_C_FLAGS="-Wdangling-pointer=0" +GCCO=$(eval "gcc --help=warnings | grep dangling-pointer=") +retVal=$? +if [ $retVal -eq 1 ]; then +BSSL_C_FLAGS="" +fi +set -e + +# Note: -Wdangling-pointer=0 +# We may have some issues with latest GCC compilers, so disabling -Wdangling-pointer= cmake \ - -B build \ + -B build-shared \ -DGO_EXECUTABLE=${GO_BINARY_PATH} \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-W
(trafficserver) branch master updated: -fno-strict-aliasing (#11303)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 63d7c41b3e -fno-strict-aliasing (#11303) 63d7c41b3e is described below commit 63d7c41b3ebd308fb6a6b1c612c75e4b290e2bfb Author: Brian Neradt AuthorDate: Wed May 1 09:23:27 2024 -0500 -fno-strict-aliasing (#11303) Our ATS 9.x builds via Automake generally built with -fno-strict-aliasing. This updates our CMake configuration to do the same. This can avoid hard to debug runtime bugs from optimization. --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f5325ee23..8453384dfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -579,7 +579,9 @@ add_subdirectory(lib) # there are warnings, we can't do anything about it. # Note: -DCMAKE_COMPILE_WARNING_AS_ERROR=ON will turn warnings into errors. add_compile_options(-pipe -Wall -Wextra -Wno-unused-parameter) -add_compile_options("$<$:-Wno-noexcept-type;-Wsuggest-override;-Wno-vla-extension>") +add_compile_options( + "$<$:-Wno-noexcept-type;-Wsuggest-override;-Wno-vla-extension;-fno-strict-aliasing>" +) add_compile_options("$<$:-Wno-format-truncation;-Wno-stringop-overflow>") if(NOT EXTERNAL_YAML_CPP)
(trafficserver) branch master updated: ci-fedora-cxx20 preset: build cripts (#11300)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new cc5a0feaae ci-fedora-cxx20 preset: build cripts (#11300) cc5a0feaae is described below commit cc5a0feaae30c46af1bd7ca4642aa0f72fadfb64 Author: Brian Neradt AuthorDate: Tue Apr 30 13:50:55 2024 -0500 ci-fedora-cxx20 preset: build cripts (#11300) This will ensure fedora CI build coverage of cripts. This also makes our ENABLE invocations consistently "ON" rather than a mix of "ON" and true. --- CMakePresets.json | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 6bf72baa2c..4030088ca4 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -138,7 +138,7 @@ "inherits": ["ci"], "generator": "Unix Makefiles", "cacheVariables": { -"ENABLE_CRIPTS": true +"ENABLE_CRIPTS": "ON" } }, { @@ -152,7 +152,7 @@ "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", "opentelemetry_ROOT": "/opt", "CURL_ROOT": "/opt", -"ENABLE_QUICHE": true +"ENABLE_QUICHE": "ON" } }, { @@ -165,7 +165,7 @@ "opentelemetry_ROOT": "/opt", "CURL_ROOT": "/opt", "wamr_ROOT": "/opt", -"ENABLE_CRIPTS": true +"ENABLE_CRIPTS": "ON" } }, { @@ -177,7 +177,8 @@ "opentelemetry_ROOT": "/opt", "CURL_ROOT": "/opt", "wamr_ROOT": "/opt", -"CMAKE_CXX_STANDARD": "20" +"CMAKE_CXX_STANDARD": "20", +"ENABLE_CRIPTS": "ON" } }, { @@ -192,7 +193,7 @@ "CURL_ROOT": "/opt", "wamr_ROOT": "/opt", "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", -"ENABLE_QUICHE": true +"ENABLE_QUICHE": "ON" } }, { @@ -307,7 +308,7 @@ "nuraft_ROOT": "/opt/nuraft-boringssl", "OPENSSL_ROOT_DIR": "/opt/boringssl", "quiche_ROOT": "/opt/quiche", -"ENABLE_QUICHE": true +"ENABLE_QUICHE": "ON" } }, {
(trafficserver-ci) branch main updated: github autest pipeline: use fedora:40 (#341)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new d9944eb github autest pipeline: use fedora:40 (#341) d9944eb is described below commit d9944eb2f0062d4b29f868535619f9d11a67c240 Author: Brian Neradt AuthorDate: Fri Apr 26 17:01:01 2024 -0500 github autest pipeline: use fedora:40 (#341) This updates the autest github PR pipeline to use fedora:40 --- jenkins/github/autest.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index 1e09775..e04197d 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { - image 'ci.trafficserver.apache.org/ats/fedora:39' + image 'ci.trafficserver.apache.org/ats/fedora:40' registryUrl 'https://ci.trafficserver.apache.org/' args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' label 'docker'
(trafficserver) branch master updated: Fedora 40: autest output updates for new curl and openssl (#11296)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 5d01b8c858 Fedora 40: autest output updates for new curl and openssl (#11296) 5d01b8c858 is described below commit 5d01b8c858ba531d90c216eed5778d87c9018ca8 Author: Brian Neradt AuthorDate: Fri Apr 26 16:56:13 2024 -0500 Fedora 40: autest output updates for new curl and openssl (#11296) After landing this patch, all autests should now work with fedora:40. * http2.test.py: normalize curl output for "bytes data" * tls_verify_override_base.test.py: --resolv -> --resolve Somehow older versions of curl perimissively let the user accidentally pass `--resolv` instead of `--resolve`. 8.7.1 seems more picky. This fixes all references to `--resolv` to `--resolve` in the autests. * tls_0rtt_server.test.py: new openssl s_client output openssl s_client 3.2 has slightly different output that the tls_0rtt_server.test.py test needs to be updated to handle. This adds logic to handle that new output. --- tests/gold_tests/h2/gold/http2_8_stderr.gold | 18 -- tests/gold_tests/h2/gold/http2_8_stdout.gold | 19 ++- tests/gold_tests/h2/http2.test.py | 8 +--- tests/gold_tests/tls/h2_early_decode.py | 4 +++- tests/gold_tests/tls/test-0rtt-s_client.py| 3 ++- tests/gold_tests/tls/tls_verify_override_base.test.py | 4 ++-- 6 files changed, 30 insertions(+), 26 deletions(-) diff --git a/tests/gold_tests/h2/gold/http2_8_stderr.gold b/tests/gold_tests/h2/gold/http2_8_stderr.gold deleted file mode 100644 index f5d57eb4c5..00 --- a/tests/gold_tests/h2/gold/http2_8_stderr.gold +++ /dev/null @@ -1,18 +0,0 @@ -`` -> GET /huge_resp_hdrs HTTP/2 -> Host: `` -> User-Agent: curl/`` -> Accept: */* -`` -< HTTP/2 200 `` -< server: ATS/`` -< content-length: 6 -< date: `` -< age: `` -< x-huge-0: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789ab [...] -< x-huge-1: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789ab [...] -< x-huge-2: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789ab [...] -< x-huge-3: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789ab [...] -< x-huge-4: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789ab [...] -< x-huge-5: 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefg
(trafficserver) branch master updated: http2.test.py: Name TestRun entities (#11295)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new a80571f34a http2.test.py: Name TestRun entities (#11295) a80571f34a is described below commit a80571f34a7ecba7e73e31d37a95538dea3d Author: Brian Neradt AuthorDate: Fri Apr 26 13:25:02 2024 -0500 http2.test.py: Name TestRun entities (#11295) This helps identify which TestRun fails if one does. --- tests/gold_tests/h2/http2.test.py | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/gold_tests/h2/http2.test.py b/tests/gold_tests/h2/http2.test.py index 59fe461e65..fdd73d1419 100644 --- a/tests/gold_tests/h2/http2.test.py +++ b/tests/gold_tests/h2/http2.test.py @@ -158,7 +158,7 @@ ts.Setup.CopyAs('h2active_timeout.py', Test.RunDirectory) # # Test Case 1: basic H2 interaction -tr = Test.AddTestRun() +tr = Test.AddTestRun("basic H2 interaction") tr.Processes.Default.Command = f'{sys.executable} h2client.py {ts.Variables.ssl_port} / --verify_default_body' tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.StartBefore(server) @@ -167,14 +167,14 @@ tr.Processes.Default.Streams.stdout = "gold/remap-200.gold" tr.StillRunningAfter = server # Test Case 2: Make sure all the big file gets back. Regression test for issue 1646 -tr = Test.AddTestRun() +tr = Test.AddTestRun("big file download") tr.Processes.Default.Command = f'{sys.executable} h2client.py {ts.Variables.ssl_port} /bigfile --repeat 2 --verify_default_body' tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.Streams.stdout = "gold/bigfile.gold" tr.StillRunningAfter = server # Test Case 3: Chunked content -tr = Test.AddTestRun() +tr = Test.AddTestRun("chunked content") tr.Processes.Default.Command = f'{sys.executable} h2client.py {ts.Variables.ssl_port} /test2 --print_body' tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.Streams.stdout = "gold/chunked.gold" @@ -183,7 +183,7 @@ tr.StillRunningAfter = server # NOTE: Skipping this test run because traffic-replay doesn't currently support H2 # Test Case 4: Multiple request # client_path = os.path.join(Test.Variables.AtsTestToolsDir, 'traffic-replay/') -# tr = Test.AddTestRun() +# tr = Test.AddTestRun("multiple request") # tr.Processes.Default.Command = \ # (f"{sys.executable} {client_path} -type h2 -log_dir {server.Variables.DataDir} " # f"-port {ts.Variables.port} -host '127.0.0.1' -s_port {ts.Variables.ssl_port} -v -colorize False") @@ -192,7 +192,7 @@ tr.StillRunningAfter = server # tr.StillRunningAfter = server # Test Case 5: h2_active_timeout -tr = Test.AddTestRun() +tr = Test.AddTestRun("h2_active_timeout") tr.Processes.Default.Command = f'{sys.executable} h2active_timeout.py {ts.Variables.ssl_port} / 4' tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.Streams.All = "gold/active_timeout.gold" @@ -201,7 +201,7 @@ tr.StillRunningAfter = server # Test Case 6: Post with chunked body # While HTTP/2 does not support Transfer-encoding we pass that into curl to encourage it to not set the content length # on the post body -tr = Test.AddTestRun() +tr = Test.AddTestRun("post with chunked body") tr.Processes.Default.Command = 'curl -s -k -H "Transfer-Encoding: chunked" -d "{0}" https://127.0.0.1:{1}/postchunked'.format( post_body, ts.Variables.ssl_port) tr.Processes.Default.ReturnCode = 0 @@ -211,7 +211,7 @@ tr.StillRunningAfter = server # Test Case 7: Post with big chunked body # While HTTP/2 does not support Transfer-encoding we pass that into curl to encourage it to not set the content length # on the post body -tr = Test.AddTestRun() +tr = Test.AddTestRun("post with big chunked body") tr.Processes.Default.Command = 'curl -s -k -H "Transfer-Encoding: chunked" -d @big_post_body https://127.0.0.1:{0}/bigpostchunked'.format( ts.Variables.ssl_port) tr.Processes.Default.ReturnCode = 0 @@ -219,7 +219,7 @@ tr.Processes.Default.Streams.All = "gold/post_chunked.gold" tr.StillRunningAfter = server # Test Case 8: Huge response header -tr = Test.AddTestRun() +tr = Test.AddTestRun("huge response header") tr.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/huge_resp_hdrs'.format(ts.Variables.ssl_port) tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.Streams.stdout = "gold/http2_8_stdout.gold" @@ -228,7 +228,7 @@ tr.Processes.Default.Streams.stderr = Testers.GoldFile("gold/http2_8_stderr.gold tr.StillRunningAfter = server # Test Case 9: Header Only Response - e.g. 204 -tr = Test.AddTestRun() +tr = Test.AddTestRun("header only response") tr.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/status/204'.format(ts.Variables.ssl_port) tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.Streams.stdout = "gold/http2_9_stdout.gold"
(trafficserver-ci) branch main updated: fedora:40 - update curl to version 8.7.1 (#340)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new abc467a fedora:40 - update curl to version 8.7.1 (#340) abc467a is described below commit abc467aca179f839c6fe12bf89f51cd3add9a4db Author: Brian Neradt AuthorDate: Thu Apr 25 15:31:39 2024 -0500 fedora:40 - update curl to version 8.7.1 (#340) This helps at least the bigobj.test.py ATS autest run better. --- docker/fedora40/build_h3_tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/fedora40/build_h3_tools.sh b/docker/fedora40/build_h3_tools.sh index 8c55773..c4d2f8e 100644 --- a/docker/fedora40/build_h3_tools.sh +++ b/docker/fedora40/build_h3_tools.sh @@ -254,7 +254,7 @@ cd .. # Then curl echo "Building curl ..." -[ ! -d curl ] && git clone --depth 1 -b curl-8_5_0 https://github.com/curl/curl.git +[ ! -d curl ] && git clone --depth 1 -b curl-8_7_1 https://github.com/curl/curl.git cd curl # On mac autoreconf fails on the first attempt with an issue finding ltmain.sh. # The second runs fine.
(trafficserver) branch master updated: Update the build_h3_tools.sh curl version to 8.7.1 (#11291)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1f132ad39f Update the build_h3_tools.sh curl version to 8.7.1 (#11291) 1f132ad39f is described below commit 1f132ad39f77de3dc2dab61eb0fb419b507894c8 Author: Brian Neradt AuthorDate: Thu Apr 25 14:47:16 2024 -0500 Update the build_h3_tools.sh curl version to 8.7.1 (#11291) This updated version fixes IPv6 handling for fedora:40. Without this, the bigobj.test.py IPv6 test fails. --- tools/build_h3_tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_h3_tools.sh b/tools/build_h3_tools.sh index 0e48953fc7..ff5f2ffa5b 100755 --- a/tools/build_h3_tools.sh +++ b/tools/build_h3_tools.sh @@ -254,7 +254,7 @@ cd .. # Then curl echo "Building curl ..." -[ ! -d curl ] && git clone --depth 1 -b curl-8_5_0 https://github.com/curl/curl.git +[ ! -d curl ] && git clone --depth 1 -b curl-8_7_1 https://github.com/curl/curl.git cd curl # On mac autoreconf fails on the first attempt with an issue finding ltmain.sh. # The second runs fine.
(trafficserver) branch master updated: Fedora 40: update autest output expectations (#11290)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new da7d79a946 Fedora 40: update autest output expectations (#11290) da7d79a946 is described below commit da7d79a9461f7aa64c0fba8e3328ca1118d3482a Author: Brian Neradt AuthorDate: Thu Apr 25 14:46:55 2024 -0500 Fedora 40: update autest output expectations (#11290) The fedora:40 gzip version compresses to a different size. This impacts the compress.test.py autest. I verified that the compressed content can be expanded correctly by previous versions of gzip going back to CentOS:7. The fedora:40 openssl library prints the common name (CN) without spaces around CN. This updates test output expectations accordingly. --- .../pluginTest/certifier/certifier.test.py | 2 +- tests/gold_tests/pluginTest/compress/compress.gold | 24 +++--- .../tls/tls_check_dual_cert_selection.test.py | 8 .../tls/tls_check_dual_cert_selection2.test.py | 12 +-- .../tls_check_dual_cert_selection_plugin.test.py | 14 ++--- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/tests/gold_tests/pluginTest/certifier/certifier.test.py b/tests/gold_tests/pluginTest/certifier/certifier.test.py index 30bd50a275..f50fda3dfa 100644 --- a/tests/gold_tests/pluginTest/certifier/certifier.test.py +++ b/tests/gold_tests/pluginTest/certifier/certifier.test.py @@ -81,7 +81,7 @@ class DynamicCertTest: tr.Processes.Default.ReturnCode = 0 # Verify certificate content tr.Processes.Default.Streams.All += Testers.ContainsExpression( -"Subject: CN = www.tls.com", "Subject should match the host in the request") +"Subject: CN ?= ?www.tls.com", "Subject should match the host in the request") tr.Processes.Default.Streams.All += Testers.ContainsExpression( r"X509v3 extensions:\n.*X509v3 Subject Alternative Name:.*\n.*DNS:www.tls.com", "Should contain the SAN extension", diff --git a/tests/gold_tests/pluginTest/compress/compress.gold b/tests/gold_tests/pluginTest/compress/compress.gold index fcbcb5..6ea1a62eee 100644 --- a/tests/gold_tests/pluginTest/compress/compress.gold +++ b/tests/gold_tests/pluginTest/compress/compress.gold @@ -14,7 +14,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/br @@ -39,7 +39,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-1/obj1 HTTP/1.1 > X-Ats-Compress-Test: 1/gzip @@ -48,7 +48,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-1/obj1 HTTP/1.1 > X-Ats-Compress-Test: 1/br @@ -80,7 +80,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-2/obj2 HTTP/1.1 > X-Ats-Compress-Test: 2/br @@ -105,7 +105,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/gzip;q=0.666x @@ -114,7 +114,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/gzip;q=#0.666 @@ -123,7 +123,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/gzip; Q = 0.666 @@ -132,7 +132,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/gzip;q=0.0 @@ -148,7 +148,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/aaa, gzip;q=0.666, bbb @@ -157,7 +157,7 @@ < Content-Type: text/javascript < Content-Encoding: gzip < Vary: Accept-Encoding -< Content-Length: 71 +< Content-Length: 7`` === > GET http://ae-0/obj0 HTTP/1.1 > X-Ats-Compress-Test: 0/ br ; q=0.666, bbb @@ -175,7 +175,7 @@
(trafficserver) branch master updated: txn_box autests: prefix each with 'txn_box' (#11286)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 3a3c4149a9 txn_box autests: prefix each with 'txn_box' (#11286) 3a3c4149a9 is described below commit 3a3c4149a94449a6f4203278dabf47e6f4951e7c Author: Brian Neradt AuthorDate: Wed Apr 24 13:02:04 2024 -0500 txn_box autests: prefix each with 'txn_box' (#11286) I noticed the following warning in our CI: ``` Warning: overiding test tls with test in /var/tmp/trafficserver/tests/gold_tests/pluginTest/txn_box/basic Warning: overiding test basic with test in /var/tmp/trafficserver/tests/gold_tests/pluginTest/txn_box/basic Warning: overiding test redirect with test in /var/tmp/trafficserver/tests/gold_tests/pluginTest/txn_box/basic ``` This indicates that our new txn_box autests have naming conflicts with previously created ATS autests ("basic", "tls", "redirect", to be specific). This patch disambiguates these tests by prefixing each txn_box autest with "txn_box". In addition to resolving the naming conflicts, this also identifies the tests as txn_box for users seeing the tests run and allows regex matching on them. --- .../pluginTest/txn_box/basic/{basic.test.py => txn_box_basic.test.py} | 0 .../pluginTest/txn_box/basic/{cmp.test.py => txn_box_cmp.test.py} | 0 .../pluginTest/txn_box/basic/{ip-addr.test.py => txn_box_ip-addr.test.py} | 0 .../pluginTest/txn_box/basic/{mod.test.py => txn_box_mod.test.py} | 0 .../txn_box/basic/{multi-cfg.test.py => txn_box_multi-cfg.test.py}| 0 .../txn_box/basic/{redirect.test.py => txn_box_redirect.test.py} | 0 .../pluginTest/txn_box/basic/{reply.test.py => txn_box_reply.test.py} | 0 .../pluginTest/txn_box/basic/{rxp.test.py => txn_box_rxp.test.py} | 0 .../pluginTest/txn_box/basic/{stat.test.py => txn_box_stat.test.py} | 0 .../txn_box/basic/{tls-cert.test.py => txn_box_tls-cert.test.py} | 0 .../pluginTest/txn_box/basic/{tls.test.py => txn_box_tls.test.py} | 0 .../pluginTest/txn_box/basic/{tuple.test.py => txn_box_tuple.test.py} | 0 .../txn_box/basic/{txn-debug.test.py => txn_box_txn-debug.test.py}| 0 .../txn_box/basic/{txn-error.test.py => txn_box_txn-error.test.py}| 0 .../txn_box/basic/{txn_open_1.test.py => txn_box_txn_open_1.test.py} | 0 .../txn_box/basic/{txn_open_2.test.py => txn_box_txn_open_2.test.py} | 0 .../txn_box/basic/{txn_open_3.test.py => txn_box_txn_open_3.test.py} | 0 .../pluginTest/txn_box/basic/{with.test.py => txn_box_with.test.py} | 0 .../txn_box/ct_header/{ct_header.test.py => txn_box_ct_header.test.py}| 0 .../example/{accept-encoding.test.py => txn_box_accept-encoding.test.py} | 0 .../txn_box/prod/{cors-origin.test.py => txn_box_cors-origin.test.py} | 0 .../txn_box/prod/{cors-referrer.test.py => txn_box_cors-referrer.test.py} | 0 .../pluginTest/txn_box/prod/{ip-acl.test.py => txn_box_ip-acl.test.py}| 0 .../pluginTest/txn_box/prod/{mTLS.test.py => txn_box_mTLS.test.py}| 0 .../{query-delete-filter.test.py => txn_box_query-delete-filter.test.py} | 0 .../{query-delete-regex.test.py => txn_box_query-delete-regex.test.py}| 0 .../pluginTest/txn_box/prod/{query.test.py => txn_box_query.test.py} | 0 .../pluginTest/txn_box/prod/{stanley.test.py => txn_box_stanley.test.py} | 0 .../txn_box/prod/{vznith-1.test.py => txn_box_vznith-1.test.py} | 0 .../txn_box/prod/{yts-3489.test.py => txn_box_yts-3489.test.py} | 0 .../txn_box/ramp/{multi-ramp-1.test.py => txn_box_multi-ramp-1.test.py} | 0 .../txn_box/ramp/{multi-ramp-2.test.py => txn_box_multi-ramp-2.test.py} | 0 .../txn_box/ramp/{multi-ramp-3.test.py => txn_box_multi-ramp-3.test.py} | 0 .../pluginTest/txn_box/ramp/{ramp.test.py => txn_box_ramp.test.py}| 0 .../txn_box/remap/{remap-base.test.py => txn_box_remap-base.test.py} | 0 .../pluginTest/txn_box/smoke/{smoke-2.test.py => txn_box_smoke-2.test.py} | 0 .../pluginTest/txn_box/smoke/{smoke.test.py => txn_box_smoke.test.py} | 0 .../static_file/{static_file.test.py => txn_box_static_file.test.py} | 0 38 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/gold_tests/pluginTest/txn_box/basic/basic.test.py b/tests/gold_tests/pluginTest/txn_box/basic/txn_box_basic.test.py similarity index 100% rename from tests/gold_tests/pluginTest/txn_box/basic/basic.test.py rename to tests/gold_tests/pluginTest/txn_box/basic/txn_box_basic.test.py diff --git a/tests/gold_tests/pluginTest/txn_box/basic/cmp.test.py b/tests/gold_tests/pluginTest/txn_box/basic/txn_b
(trafficserver-ci) branch main updated: fedora:40 - Add wamr for plugin wasm builds (#339)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new e91f3d7 fedora:40 - Add wamr for plugin wasm builds (#339) e91f3d7 is described below commit e91f3d7679e89b5cdcd67a1fbd74debd0513e879 Author: Brian Neradt AuthorDate: Wed Apr 24 09:53:14 2024 -0500 fedora:40 - Add wamr for plugin wasm builds (#339) This brings our CI fedora:40 up to date with fedora:39. --- docker/fedora40/Dockerfile | 27 +++ 1 file changed, 27 insertions(+) diff --git a/docker/fedora40/Dockerfile b/docker/fedora40/Dockerfile index acc0168..7cfb986 100644 --- a/docker/fedora40/Dockerfile +++ b/docker/fedora40/Dockerfile @@ -164,6 +164,33 @@ RUN <https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.1.tar.gz + tar zxvf WAMR-1.2.1.tar.gz + + # Build WAMR. + cd wasm-micro-runtime-WAMR-1.2.1 + cp core/iwasm/include/* ${BASE}/include/ + cd product-mini/platforms/linux + cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=${BASE} -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_AOT=0 -DWAMR_BUILD_SIMD=0 -DWAMR_BUILD_MULTI_MODULE=1 -DWAMR_BUILD_LIBC_WASI=0 -DWAMR_BUILD_TAIL_CALL=1 -DWAMR_DISABLE_HW_BOUND_CHECK=1 -DWAMR_BUILD_BULK_MEMORY=1 -DWAMR_BUILD_WASM_CACHE=0 + cmake --build build + sudo cmake --install build + + # WAMR Cleanup. + cd /var/tmp + rm -rf ${build_dir} +EOF + # Add the CI's test user. N.B: 1200 is the uid that our jenkins user is # configured with, so that has to be used. Otherwise there will be permissions # issues.
(trafficserver-ci) branch main updated: regression.sh: ctest exit with 1 on failure (#338)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c2347a5 regression.sh: ctest exit with 1 on failure (#338) c2347a5 is described below commit c2347a58d12909e447e7463667aa30a225ccedc1 Author: Brian Neradt AuthorDate: Tue Apr 23 21:37:59 2024 -0500 regression.sh: ctest exit with 1 on failure (#338) Without the explicit `exit 1` the script finishes with an exit code of 8 which was maybe making it so the tests didn't fail. Maybe? In any case, this shouldn't hurt and may make the failure explicit in jenkins. --- jenkins/bin/regression.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/bin/regression.sh b/jenkins/bin/regression.sh index bc01738..80ddf90 100755 --- a/jenkins/bin/regression.sh +++ b/jenkins/bin/regression.sh @@ -34,7 +34,7 @@ echo -n "Unit tests started at " && date if [ -d cmake ] then pushd build - ctest -j${NPROC} --output-on-failure --no-compress-output -T Test + ctest -j${NPROC} --output-on-failure --no-compress-output -T Test || exit 1 popd else ${ATS_MAKE} -j${NPROC} check VERBOSE=Y V=1 || exit 1
(trafficserver) branch master updated: lsan suppression files for ImageMagic plugins (#11282)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new a2a5cbe44a lsan suppression files for ImageMagic plugins (#11282) a2a5cbe44a is described below commit a2a5cbe44a5d730bbc85e485462fcf2c3b00454c Author: Brian Neradt AuthorDate: Tue Apr 23 18:34:09 2024 -0500 lsan suppression files for ImageMagic plugins (#11282) ASan reports a leak concerning the ImageMagick library for plugins that link against it. The leak is associated with the ImageMagick library itself as commenting everything out from the ATS plugin, leaving a bare TSPluginInit, still results in the leak report. This patch suppresses the leak report for the library we do not own and for a leak that has not been seen to be any larger than the initialization bytes associated with the library. Here's the leak report this suppression file addresses: = ==18362==ERROR: LeakSanitizer: detected memory leaks Direct leak of 96 byte(s) in 1 object(s) allocated from: #0 0x9cf05218 in calloc (/lib64/libasan.so.8+0xc5218) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9) #1 0x8db8273c () #2 0x8db81108 () #3 0x8db811d0 () #4 0x9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74 #5 0x9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26 #6 0x9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:121 #7 0x9d53c68c in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:211 #8 0x9d5461c0 in dl_open_worker /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:829 #9 0x9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237 #10 0x9d5465fc in _dl_open /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-open.c:905 #11 0x9bbfbef4 in dlopen_doit (/lib64/libc.so.6+0x8bef4) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0) #12 0x9d53c614 in __GI__dl_catch_exception /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:237 #13 0x9d53c73c in _dl_catch_error /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-catch.c:256 #14 0x9bbfb924 in _dlerror_run (/lib64/libc.so.6+0x8b924) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0) #15 0x9bbfbfec in dlopen@GLIBC_2.17 (/lib64/libc.so.6+0x8bfec) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0) #16 0x9cea7bc4 in __interceptor_dlopen.part.0 (/lib64/libasan.so.8+0x67bc4) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9) #17 0xfdcc88 in plugin_dso_load(char const*, void*&, void*&, std::__cxx11::basic_string, std::allocator >&) /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/proxy/Plugin.cc:104 #18 0x8bdab4 in try_loading_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1019 #19 0x8be954 in verify_plugin_helper /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1078 #20 0x8beac8 in cmd_verify_global_plugin /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1097 #21 0x8bf354 in cmd_mode /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:1270 #22 0x8c57e0 in main /home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/src/traffic_server/traffic_server.cc:2122 #23 0x9bba09d8 in __libc_start_call_main (/lib64/libc.so.6+0x309d8) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0) #24 0x9bba0aac in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x30aac) (BuildId: 4b1e6ff6c35f7fc7bd309e5e5a1f981e2515e4f0) #25 0x89346c in _start (/home/bneradt/src/ts_asf_master_address_asan_unit_test_issues/build/src/traffic_server/traffic_server+0x89346c) (BuildId: d86c4e46554f342afeb32ab378ad7f99940d848a) Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x9cf057b0 in malloc (/lib64/libasan.so.8+0xc57b0) (BuildId: f2ca9839b9f761d63a77efcab29bcdd4b221f3a9) #1 0x8db826f4 () #2 0x8db96758 () #3 0x8db811b0 () #4 0x9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:74 #5 0x9d53fee8 in call_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/elf/dl-init.c:26 #6 0x9d540008 in _dl_init /usr/src/debug/glibc-2.38-17.fc39.aarch64/el
(trafficserver) branch master updated: Remove reduntant link of ts:: libraries in plugins (#11283)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new dd62becd9d Remove reduntant link of ts:: libraries in plugins (#11283) dd62becd9d is described below commit dd62becd9d8fc63dd6aa6d926a6e431798097ec4 Author: Brian Neradt AuthorDate: Tue Apr 23 16:21:49 2024 -0500 Remove reduntant link of ts:: libraries in plugins (#11283) This fixes the building of plugins that redundantly link with ATS core libraries. If plugins link with ts::tsutil while ATS core also links with ts::tsutil, for example, then not only is this unnecessary, but it also results in ODR issues because those symbols will exist via both the ATS and the plugin invocations. --- cmake/ExperimentalPlugins.cmake| 2 ++ plugins/experimental/access_control/CMakeLists.txt | 2 +- plugins/experimental/maxmind_acl/CMakeLists.txt| 2 +- plugins/experimental/sslheaders/CMakeLists.txt | 2 +- plugins/s3_auth/CMakeLists.txt | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/ExperimentalPlugins.cmake b/cmake/ExperimentalPlugins.cmake index 563d268035..c96c69fb22 100644 --- a/cmake/ExperimentalPlugins.cmake +++ b/cmake/ExperimentalPlugins.cmake @@ -27,6 +27,8 @@ else() set(_DEFAULT OFF) endif() +include(add_atsplugin) + auto_option( MAXMIND_ACL FEATURE_VAR diff --git a/plugins/experimental/access_control/CMakeLists.txt b/plugins/experimental/access_control/CMakeLists.txt index c3e4da04d6..b29c2fc6fe 100644 --- a/plugins/experimental/access_control/CMakeLists.txt +++ b/plugins/experimental/access_control/CMakeLists.txt @@ -28,7 +28,7 @@ add_atsplugin( utils.cc ) -target_link_libraries(access_control PRIVATE PCRE::PCRE OpenSSL::SSL OpenSSL::Crypto ts::tscore) +target_link_libraries(access_control PRIVATE PCRE::PCRE OpenSSL::SSL OpenSSL::Crypto) verify_remap_plugin(access_control) diff --git a/plugins/experimental/maxmind_acl/CMakeLists.txt b/plugins/experimental/maxmind_acl/CMakeLists.txt index 08afb8c86f..5bcd530ab2 100644 --- a/plugins/experimental/maxmind_acl/CMakeLists.txt +++ b/plugins/experimental/maxmind_acl/CMakeLists.txt @@ -20,7 +20,7 @@ if(maxminddb_FOUND) add_atsplugin(maxmind_acl maxmind_acl.cc mmdb.cc) target_link_libraries( -maxmind_acl PRIVATE libswoc::libswoc ts::tsapi ts::tsutil yaml-cpp::yaml-cpp maxminddb::maxminddb PCRE::PCRE +maxmind_acl PRIVATE libswoc::libswoc ts::tsapi yaml-cpp::yaml-cpp maxminddb::maxminddb PCRE::PCRE ) verify_remap_plugin(maxmind_acl) diff --git a/plugins/experimental/sslheaders/CMakeLists.txt b/plugins/experimental/sslheaders/CMakeLists.txt index 96d3997513..c5785706de 100644 --- a/plugins/experimental/sslheaders/CMakeLists.txt +++ b/plugins/experimental/sslheaders/CMakeLists.txt @@ -22,7 +22,7 @@ set_target_properties(sslhdr PROPERTIES POSITION_INDEPENDENT_CODE TRUE) if(BUILD_TESTING) add_executable(test_sslhdr unit_tests/unit_test_main.cc unit_tests/test_sslheaders.cc) - target_link_libraries(test_sslhdr PRIVATE sslhdr catch2::catch2 OpenSSL::SSL ts::tsutil) + target_link_libraries(test_sslhdr PRIVATE sslhdr catch2::catch2 OpenSSL::SSL libswoc::libswoc) endif() add_atsplugin(sslheaders sslheaders.cc) diff --git a/plugins/s3_auth/CMakeLists.txt b/plugins/s3_auth/CMakeLists.txt index c7f49335d4..940b40d2b7 100644 --- a/plugins/s3_auth/CMakeLists.txt +++ b/plugins/s3_auth/CMakeLists.txt @@ -19,7 +19,7 @@ project(s3_auth) add_atsplugin(s3_auth s3_auth.cc aws_auth_v4.cc) -target_link_libraries(s3_auth PRIVATE ts::tscore OpenSSL::Crypto) +target_link_libraries(s3_auth PRIVATE OpenSSL::Crypto) verify_remap_plugin(s3_auth)
(trafficserver) branch master updated: txn_box ramp autest reliability improvements (#11243)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new bac906de9c txn_box ramp autest reliability improvements (#11243) bac906de9c is described below commit bac906de9c3733bb553808c10cb167044ea0a4b5 Author: Brian Neradt AuthorDate: Mon Apr 22 17:38:30 2024 -0500 txn_box ramp autest reliability improvements (#11243) This updates the ramp test to actually ramp traffic to a dedicated "staging" server. It also reduces the number of transactions to 100. Both of these changes makes the test more reliable against spurious connection issues that caused the test to be flakey, especially in CI. Fixes: #11131 --- .../pluginTest/txn_box/ramp/ramp.replay.yaml | 4 ++- .../pluginTest/txn_box/ramp/ramp.test.py | 31 +++--- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/tests/gold_tests/pluginTest/txn_box/ramp/ramp.replay.yaml b/tests/gold_tests/pluginTest/txn_box/ramp/ramp.replay.yaml index 99540faf85..5e22948c92 100644 --- a/tests/gold_tests/pluginTest/txn_box/ramp/ramp.replay.yaml +++ b/tests/gold_tests/pluginTest/txn_box/ramp/ramp.replay.yaml @@ -7,7 +7,9 @@ meta: select: - lt: 300 do: - ua-req-host: "ex.two" +- ua-req-url-host: "ex.two" +- ua-req-url-port: {server_port} +- ua-req-scheme: "http" blocks: - base_request: _request diff --git a/tests/gold_tests/pluginTest/txn_box/ramp/ramp.test.py b/tests/gold_tests/pluginTest/txn_box/ramp/ramp.test.py index 3d42fe6190..7f44498b2e 100644 --- a/tests/gold_tests/pluginTest/txn_box/ramp/ramp.test.py +++ b/tests/gold_tests/pluginTest/txn_box/ramp/ramp.test.py @@ -18,7 +18,9 @@ # # Copyright 2020, Verizon Media # + import os.path +import tempfile Test.Summary = ''' Test traffic ramping. @@ -26,19 +28,30 @@ Test traffic ramping. Test.SkipUnless(Condition.PluginExists("txn_box.so")) -RepeatCount = 1000 +RepeatCount = 100 +replay_file = 'ramp.replay.yaml' + +# Make a server representing a staging host to which we can ramp. +server_ramp = Test.MakeVerifierServerProcess('pv-server-staging', replay_file) +# Make it so that server-ramp is used in the txn_box config. +orig_replay_file = os.path.join(Test.TestDirectory, replay_file) +old_replay_content = open(orig_replay_file).read() +new_replay_content = old_replay_content.replace('{server_port}', str(server_ramp.Variables.http_port)) +# There's no need to delete temp_replay because it will be cleaned up with the TestDirectory. +temp_replay = tempfile.NamedTemporaryFile(dir=Test.RunDirectory, delete=False) +# Reference this new replay file for all other TestRun processes. +replay_file = temp_replay.name +open(replay_file, 'w').write(new_replay_content) tr = Test.TxnBoxTestAndRun( "Ramping", -"ramp.replay.yaml", -remap=[('http://one.ex', 'http://three.ex', ('--key=meta.txn_box.remap', 'ramp.replay.yaml'))], -verifier_client_args="--verbose diag --repeat {}".format(RepeatCount)) - -with open(f"{tr.TestDirectory}/multi_ramp_common.py") as f: -code = compile(f.read(), "multi_ramp_common.py", 'exec') -exec(code) +replay_file, +remap=[('http://one.ex', 'http://three.ex', ('--key=meta.txn_box.remap', replay_file))], +verifier_client_args=f"--verbose diag --repeat {RepeatCount}", +verifier_server_args=f"--verbose diag") ts = tr.Variables.TS -ts.Setup.Copy("ramp.replay.yaml", ts.Variables.CONFIGDIR) +ts.StartBefore(server_ramp) +ts.Setup.Copy(replay_file, ts.Variables.CONFIGDIR) ts.Setup.Copy("ramp.logging.yaml", os.path.join(ts.Variables.CONFIGDIR, "logging.yaml")) ts.Disk.records_config.update({'proxy.config.log.max_secs_per_buffer': 1})
(trafficserver) branch master updated: tslua.so: handle unrecognized status codes (#11272)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 9e14e07ccd tslua.so: handle unrecognized status codes (#11272) 9e14e07ccd is described below commit 9e14e07ccde05c758b1f8f60a07251a23211cca4 Author: Brian Neradt AuthorDate: Fri Apr 19 12:56:28 2024 -0500 tslua.so: handle unrecognized status codes (#11272) Update the set_error_resp API to handle setting HTTP response statuses that do not have a recognized reason string. --- plugins/lua/ts_lua_client_response.cc | 7 +- .../pluginTest/lua/lua_set_error_response.test.py | 98 ++ .../pluginTest/lua/set_error_response.lua | 29 +++ .../pluginTest/lua/set_error_response.replay.yaml | 51 +++ 4 files changed, 184 insertions(+), 1 deletion(-) diff --git a/plugins/lua/ts_lua_client_response.cc b/plugins/lua/ts_lua_client_response.cc index 8b6bfdc160..82d68c4d50 100644 --- a/plugins/lua/ts_lua_client_response.cc +++ b/plugins/lua/ts_lua_client_response.cc @@ -480,7 +480,12 @@ ts_lua_client_response_set_error_resp(lua_State *L) status = luaL_checkinteger(L, 1); - reason = TSHttpHdrReasonLookup(TSHttpStatus(status)); + reason = TSHttpHdrReasonLookup(TSHttpStatus(status)); + if (reason == nullptr) { +// ATS core could not find a reason string for this status. Simply use an +// empty string for the reason. +reason = ""; + } reason_len = strlen(reason); TSHttpHdrStatusSet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, TSHttpStatus(status)); diff --git a/tests/gold_tests/pluginTest/lua/lua_set_error_response.test.py b/tests/gold_tests/pluginTest/lua/lua_set_error_response.test.py new file mode 100644 index 00..7408566ded --- /dev/null +++ b/tests/gold_tests/pluginTest/lua/lua_set_error_response.test.py @@ -0,0 +1,98 @@ +'''Verify ts.client_response.set_error_resp functionality.''' +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +Test.Summary = ''' +Test lua functionality +''' + +Test.SkipUnless(Condition.PluginExists('tslua.so'),) + + +class TestLuaSetErrorResponse: +'''Verify ts.client_response.set_error_resp functionality.''' + +replay_file: str = 'set_error_response.replay.yaml' +lua_script: str = 'set_error_response.lua' + +def __init__(self): +tr = Test.AddTestRun("Lua ts.client_response.set_error_resp") +self._configure_dns(tr) +self._configure_server(tr) +self._configure_ts(tr) +self._configure_client(tr) + +def _configure_dns(self, tr: 'TestRun') -> 'Process': +'''Configure the DNS server. + +:param tr: The test run to configure the DNS server in. +:return: The newly created DNS process. +''' +dns = tr.MakeDNServer("dns", default='127.0.0.1') +self._dns = dns +return dns + +def _configure_server(self, tr: 'TestRun') -> 'Process': +'''Configure the origin server. + +:param tr: The test run to configure the server in. +:return: The newly created server process. +''' +server = tr.AddVerifierServerProcess("server", self.replay_file) +self._server = server +return server + +def _configure_ts(self, tr: 'TestRun') -> 'Process': +'''Configure the ATS process. + +:param tr: The test run to configure the ATS process in. +:return: The newly created ATS process. +''' +ts = tr.MakeATSProcess("ts", enable_cache=False) +self._ts = ts +ts.Setup.Copy(self.lua_script, ts.Variables.CONFIGDIR) +port = self._server.Variables.http_port +ts.Disk.remap_config.AddLine(f'map / http://backend.example.com:{port}/ @plugin=tslua.so @pparam={self.lua_script}') +ts.Disk.records_config.update( +{ +'proxy.config.diags.debug.enabled': 1, +'proxy.config.diags.debug.tags': 'ts_lua|http', +
(trafficserver) branch master updated (9e75d95575 -> 6f014754a1)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 9e75d95575 Coverity: Trying to fix some of the following CID issues. (#2) add 6f014754a1 wasm plugin: Add build support (#11258) No new revisions were added by this update. Summary of changes: CMakePresets.json | 3 +++ cmake/ExperimentalPlugins.cmake| 11 + .../{cachekey => experimental/wasm}/CMakeLists.txt | 7 +++--- .../wasm/lib}/CMakeLists.txt | 28 ++ 4 files changed, 42 insertions(+), 7 deletions(-) copy plugins/{cachekey => experimental/wasm}/CMakeLists.txt (83%) copy plugins/{esi/fetcher => experimental/wasm/lib}/CMakeLists.txt (58%)
(trafficserver) branch master updated: libswoc: version update to 1.5.12 (#11256)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new a356e443aa libswoc: version update to 1.5.12 (#11256) a356e443aa is described below commit a356e443aae64b55cbd69bbe0e6a02ed912a6a6b Author: Brian Neradt AuthorDate: Mon Apr 15 14:15:55 2024 -0500 libswoc: version update to 1.5.12 (#11256) I cut a 1.5.12 trafficserver-libswoc release that brings the latter up to the source code that ATS lib/swoc has. This updates the version of our ATS libswoc to reference the trafficserver-libswoc release version. Note that this is a version-only update. No production changes come with this patch. --- lib/swoc/CMakeLists.txt | 2 +- lib/swoc/include/swoc/swoc_version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/swoc/CMakeLists.txt b/lib/swoc/CMakeLists.txt index 53819ebaf3..a7ebe26400 100644 --- a/lib/swoc/CMakeLists.txt +++ b/lib/swoc/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.11) project(Lib-SWOC CXX) -set(LIBSWOC_VERSION "1.5.11") +set(LIBSWOC_VERSION "1.5.12") set(CMAKE_CXX_STANDARD 17) cmake_policy(SET CMP0087 NEW) # override "lib64" to be "lib" unless the user explicitly sets it. diff --git a/lib/swoc/include/swoc/swoc_version.h b/lib/swoc/include/swoc/swoc_version.h index fd0c752eca..e346be1ebe 100644 --- a/lib/swoc/include/swoc/swoc_version.h +++ b/lib/swoc/include/swoc/swoc_version.h @@ -23,11 +23,11 @@ #pragma once #if !defined(SWOC_VERSION_NS) -#define SWOC_VERSION_NS _1_5_11 +#define SWOC_VERSION_NS _1_5_12 #endif namespace swoc { inline namespace SWOC_VERSION_NS { static constexpr unsigned MAJOR_VERSION = 1; static constexpr unsigned MINOR_VERSION = 5; -static constexpr unsigned POINT_VERSION = 11; +static constexpr unsigned POINT_VERSION = 12; }} // namespace swoc::SWOC_VERSION_NS
(trafficserver) branch master updated (25eea46729 -> c01cc6203f)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 25eea46729 CMakePresets: add opentelemetry_ROOT with CURL_ROOT (#11252) add c01cc6203f Findwamr.cmake: a find script for the WAMR library (#11251) No new revisions were added by this update. Summary of changes: cmake/{Findhwloc.cmake => Findwamr.cmake} | 32 +++ 1 file changed, 16 insertions(+), 16 deletions(-) copy cmake/{Findhwloc.cmake => Findwamr.cmake} (61%)
(trafficserver) branch master updated (45f00b5ee2 -> 25eea46729)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 45f00b5ee2 libswoc: fix unresolved function type for transform_view_of. (#11255) add 25eea46729 CMakePresets: add opentelemetry_ROOT with CURL_ROOT (#11252) No new revisions were added by this update. Summary of changes: CMakePresets.json | 2 ++ 1 file changed, 2 insertions(+)
(trafficserver-libswoc) branch master updated: Update to 1.5.13
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git The following commit(s) were added to refs/heads/master by this push: new dc3cf7d Update to 1.5.13 dc3cf7d is described below commit dc3cf7d47458ec785ab0f7e8e75348a31e32d120 Author: Brian Neradt AuthorDate: Mon Apr 15 18:08:48 2024 + Update to 1.5.13 --- code/CMakeLists.txt | 2 +- code/include/swoc/swoc_version.h | 4 ++-- code/libswoc.part| 2 +- doc/Doxyfile | 2 +- doc/code/TextView.en.rst | 4 ++-- doc/code/ip_networking.en.rst| 2 +- doc/conf.py | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index e8b8406..3e91a2d 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.11) project(Lib-SWOC CXX) -set(LIBSWOC_VERSION "1.5.12") +set(LIBSWOC_VERSION "1.5.13") set(CMAKE_CXX_STANDARD 17) cmake_policy(SET CMP0087 NEW) # override "lib64" to be "lib" unless the user explicitly sets it. diff --git a/code/include/swoc/swoc_version.h b/code/include/swoc/swoc_version.h index e346be1..f9ffbed 100644 --- a/code/include/swoc/swoc_version.h +++ b/code/include/swoc/swoc_version.h @@ -23,11 +23,11 @@ #pragma once #if !defined(SWOC_VERSION_NS) -#define SWOC_VERSION_NS _1_5_12 +#define SWOC_VERSION_NS _1_5_13 #endif namespace swoc { inline namespace SWOC_VERSION_NS { static constexpr unsigned MAJOR_VERSION = 1; static constexpr unsigned MINOR_VERSION = 5; -static constexpr unsigned POINT_VERSION = 12; +static constexpr unsigned POINT_VERSION = 13; }} // namespace swoc::SWOC_VERSION_NS diff --git a/code/libswoc.part b/code/libswoc.part index 10c0aea..6dca03c 100644 --- a/code/libswoc.part +++ b/code/libswoc.part @@ -1,6 +1,6 @@ Import("*") PartName("libswoc") -PartVersion("1.5.12") +PartVersion("1.5.13") src_files = [ "src/ArenaWriter.cc", diff --git a/doc/Doxyfile b/doc/Doxyfile index 7a70d38..189de41 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "LibSWOC++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.5.12" +PROJECT_NUMBER = "1.5.13" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/code/TextView.en.rst b/doc/code/TextView.en.rst index 44e5c1d..962b7b1 100644 --- a/doc/code/TextView.en.rst +++ b/doc/code/TextView.en.rst @@ -366,7 +366,7 @@ for values that are boolean. .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_TextView.cc#L73>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.13/unit_tests/ex_TextView.cc#L73>`__. The basic list processing is the same as the previous example, extracting each comma separated element. The resulting element is treated as a "list" with ``=`` as the separator. Note if there is @@ -418,7 +418,7 @@ do not, so a flag to strip quotes from the resulting elements is needed. The fin .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_TextView.cc#L90>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.13/unit_tests/ex_TextView.cc#L90>`__. This takes a :code:`TextView&` which is the source view which will be updated as tokens are removed (therefore the caller must do the empty view check). The other arguments are the separator character diff --git a/doc/code/ip_networking.en.rst b/doc/code/ip_networking.en.rst index e50611a..2627fd6 100644 --- a/doc/code/ip_networking.en.rst +++ b/doc/code/ip_networking.en.rst @@ -265,7 +265,7 @@ Blending Bitsets Some details are omitted for brevity and because they aren't directly relevant. The full implementation, which is run as a unit test to verify its correctness, - `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_ipspace_properties.cc>`__. + `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.13/unit_tests/ex_ipspace_properties.cc>`__. You can compile and step through the code to see how it works in more detail, or experiment with changing some of the example data. diff --git a/doc/conf.py b/doc/conf.py index 1507e46..6047867 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -79,7 +79,7 @@ project = u'Solid Wall Of C++' copyright = u'{}, a...@apache.org'.format(date.today().year) # The full version, including alpha/beta/rc tags. -release = "1.5.12" +release = "1.5.13" # The short X.Y version. version = '.'.join(release.split('.', 2)[:2])
(trafficserver-libswoc) annotated tag 1.5.12 updated (676fc8d -> dd61f68)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to annotated tag 1.5.12 in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git *** WARNING: tag 1.5.12 was modified! *** from 676fc8d (commit) to dd61f68 (tag) tagging 676fc8d7d73c5b461f07670247375f0a052121a2 (commit) replaces 1.5.11 by Brian Neradt on Mon Apr 15 18:00:43 2024 + - Log - Version 1.5.12 (04/15/2024, brian.neradt) 676fc8d fix unresolved function type for transform_view_of. (#11255) 93c97e4 Use GCC stardard pre-defined macros to determine endianess. (#11186) 7af411e Fix GCC 14.0.1 -std=c++20 build failures (#11189) --- No new revisions were added by this update. Summary of changes:
(trafficserver-libswoc) 03/03: libswoc: fix unresolved function type for transform_view_of. (#11255)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 676fc8d7d73c5b461f07670247375f0a052121a2 Author: Brian Neradt AuthorDate: Mon Apr 15 16:44:34 2024 + libswoc: fix unresolved function type for transform_view_of. (#11255) On some compilers this was showing an error as they weren't able to decude the right function/type. --- code/include/swoc/Lexicon.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/include/swoc/Lexicon.h b/code/include/swoc/Lexicon.h index c574bc7..6bb0484 100644 --- a/code/include/swoc/Lexicon.h +++ b/code/include/swoc/Lexicon.h @@ -13,6 +13,7 @@ #include #include #include +#include #include "swoc/swoc_version.h" #include "swoc/IntrusiveHashMap.h" @@ -567,7 +568,7 @@ Lexicon::Item::ValueLinkage::key_of(Item *item) { template uint32_t Lexicon::Item::NameLinkage::hash_of(std::string_view s) { - return Hash32FNV1a().hash_immediate(transform_view_of(, s)); + return Hash32FNV1a().hash_immediate(transform_view_of(&::toupper, s)); } template
(trafficserver-libswoc) 02/03: Use GCC stardard pre-defined macros to determine endianess. (#11186)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 93c97e4b1c08527052c202777052a7604e05ea36 Author: Brian Neradt AuthorDate: Mon Apr 15 16:43:59 2024 + Use GCC stardard pre-defined macros to determine endianess. (#11186) --- code/include/swoc/swoc_ip_util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/include/swoc/swoc_ip_util.h b/code/include/swoc/swoc_ip_util.h index 78016bf..40d6074 100644 --- a/code/include/swoc/swoc_ip_util.h +++ b/code/include/swoc/swoc_ip_util.h @@ -65,7 +65,7 @@ inline bool is_private_network_order(in6_addr const& addr) { return (addr.s6_addr[0] & 0xFE) == 0xFC; // fc00::/7 } -#if BYTE_ORDER == LITTLE_ENDIAN +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ inline bool is_loopback_network_order(in_addr_t addr) { return (addr & 0xFF) == 0x7F;
(trafficserver-libswoc) branch master updated (7df56ee -> 676fc8d)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git from 7df56ee Update to 1.5.12 new 7af411e Fix GCC 14.0.1 -std=c++20 build failures (#11189) new 93c97e4 Use GCC stardard pre-defined macros to determine endianess. (#11186) new 676fc8d libswoc: fix unresolved function type for transform_view_of. (#11255) The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: code/include/swoc/Lexicon.h | 3 ++- code/include/swoc/TextView.h | 2 +- code/include/swoc/swoc_ip_util.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-)
(trafficserver-libswoc) 01/03: Fix GCC 14.0.1 -std=c++20 build failures (#11189)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 7af411e3233ac2262565a28935d1fa382cfd53ab Author: Brian Neradt AuthorDate: Mon Apr 15 16:41:28 2024 + Fix GCC 14.0.1 -std=c++20 build failures (#11189) * comparison of unsigned expression in ‘>= 0’ is always true lib/swoc/include/swoc/TextView.h: In instantiation of ‘uintmax_t swoc::_1_5_11::svto_radix(TextView&) [with int RADIX = 16; uintmax_t = long unsigned int]’: lib/swoc/include/swoc/TextView.h:1082:23: required from ‘uintmax_t swoc::_1_5_11::svto_radix(TextView&&) [with int N = 16; uintmax_t = long unsigned int]’ lib/swoc/include/swoc/TextView.h:1065:27: error: 1082 | return svto_radix(src); lib/swoc/include/swoc/TextView.h:1065:27: error: | ~^ lib/swoc/src/bw_format.cc:928:28: required from here lib/swoc/include/swoc/TextView.h:1065:27: error: 928 | auto b = svto_radix<16>(span.clip_prefix(2).rebind()); lib/swoc/include/swoc/TextView.h:1065:27: error: | ~~^~ lib/swoc/include/swoc/TextView.h:1065:27: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits] 1065 | while (src.size() && (0 <= (v = swoc::svtoi_convert[uint8_t(*src)])) && v < RADIX) { | ~~~^~~~ cc1plus: all warnings being treated as errors Second warning: src/tscore/HostLookup.cc: In member function ‘void CharIndex::Insert(std::string_view, HostBranch*)’: src/tscore/HostLookup.cc:304:12: error: ‘any_of’ is not a member of ‘std’ 304 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ src/tscore/HostLookup.cc: In member function ‘HostBranch* CharIndex::Lookup(std::string_view)’: src/tscore/HostLookup.cc:351:12: error: ‘any_of’ is not a member of ‘std’ 351 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ * ‘any_of’ is not a member of ‘std’ src/tscore/HostLookup.cc: In member function ‘void CharIndex::Insert(std::string_view, HostBranch*)’: src/tscore/HostLookup.cc:304:12: error: ‘any_of’ is not a member of ‘std’ 304 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ src/tscore/HostLookup.cc: In member function ‘HostBranch* CharIndex::Lookup(std::string_view)’: src/tscore/HostLookup.cc:351:12: error: ‘any_of’ is not a member of ‘std’ 351 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ * error: template-id not allowed for constructor in C++20 plugins/header_rewrite/matcher.h:71:23: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] 71 | explicit Matchers(const MatcherOps op) : Matcher(op), _data() {} | ^ plugins/header_rewrite/matcher.h:71:23: note: remove the ‘< >’ /home/bneradt/src/ts_asf_master_fix_std_20_build_failure/plugins/header_rewrite/matcher.h:222:38: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] 222 | explicit Matchers(const MatcherOps op) : Matcher(op) {} | ^ /home/bneradt/src/ts_asf_master_fix_std_20_build_failure/plugins/header_rewrite/matcher.h:222:38: note: remove the ‘< >’ --- code/include/swoc/TextView.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/include/swoc/TextView.h b/code/include/swoc/TextView.h index 9e914c8..3fecf03 100644 --- a/code/include/swoc/TextView.h +++ b/code/include/swoc/TextView.h @@ -1062,7 +1062,7 @@ svto_radix(TextView ) { static constexpr auto OVERFLOW_LIMIT = MAX / RADIX; uintmax_t zret = 0; uintmax_t v; - while (src.size() && (0 <= (v = swoc::svtoi_convert[uint8_t(*src)])) && v < RADIX) { + while (src.size() && ((v = swoc::svtoi_convert[uint8_t(*src)]) < RADIX)) { // Tweaked for performance - need to check range after @a RADIX multiply. ++src; // Update view iff the character is parsed. if (zret <= OVERFLOW_LIMIT && v <= (MAX - (zret *= RADIX)) ) {
(trafficserver-ci) branch main updated: Add WAMR for proxy-wasm (#337)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 5a562f2 Add WAMR for proxy-wasm (#337) 5a562f2 is described below commit 5a562f2f051aa8b043b450bde34cde251e7e6237 Author: Brian Neradt AuthorDate: Fri Apr 12 18:40:19 2024 -0500 Add WAMR for proxy-wasm (#337) The proxy-wasm needs a WebAssembly runtime. This adds WAMR to satisfy this. --- docker/fedora39/Dockerfile | 27 +++ 1 file changed, 27 insertions(+) diff --git a/docker/fedora39/Dockerfile b/docker/fedora39/Dockerfile index bfa4d79..6c7be2a 100644 --- a/docker/fedora39/Dockerfile +++ b/docker/fedora39/Dockerfile @@ -164,6 +164,33 @@ RUN <https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.2.1.tar.gz + tar zxvf WAMR-1.2.1.tar.gz + + # Build WAMR. + cd wasm-micro-runtime-WAMR-1.2.1 + cp core/iwasm/include/* ${BASE}/include/ + cd product-mini/platforms/linux + cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=${BASE} -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_AOT=0 -DWAMR_BUILD_SIMD=0 -DWAMR_BUILD_MULTI_MODULE=1 -DWAMR_BUILD_LIBC_WASI=0 -DWAMR_BUILD_TAIL_CALL=1 -DWAMR_DISABLE_HW_BOUND_CHECK=1 -DWAMR_BUILD_BULK_MEMORY=1 -DWAMR_BUILD_WASM_CACHE=0 + cmake --build build + sudo cmake --install build + + # WAMR Cleanup. + cd /var/tmp + rm -rf ${build_dir} +EOF + # Add the CI's test user. N.B: 1200 is the uid that our jenkins user is # configured with, so that has to be used. Otherwise there will be permissions # issues.
(trafficserver) branch master updated (14d5b2ce40 -> ed29bf7bed)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 14d5b2ce40 Terminate H2 connection by COMPRESSION_ERROR (#11222) add ed29bf7bed HttpSM::tunnel_handler: Handle WRITE events (#11242) No new revisions were added by this update. Summary of changes: src/proxy/http/HttpSM.cc | 6 ++ 1 file changed, 6 insertions(+)
(trafficserver) branch master updated (ceb60aeaf7 -> 10520b361a)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from ceb60aeaf7 Cleanup: rename client_vc to txn (#11234) add 10520b361a IP Allow: document when rules are applied (#11240) No new revisions were added by this update. Summary of changes: doc/admin-guide/files/ip_allow.yaml.en.rst | 22 ++ doc/admin-guide/files/remap.config.en.rst | 2 ++ 2 files changed, 24 insertions(+)
(trafficserver) branch master updated: CI: have rocky and fedora builds use curl in /opt (#11233)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new ae9fe3e512 CI: have rocky and fedora builds use curl in /opt (#11233) ae9fe3e512 is described below commit ae9fe3e512b5a4ea008ec54fa89662da64058a38 Author: Brian Neradt AuthorDate: Tue Apr 9 18:47:55 2024 -0500 CI: have rocky and fedora builds use curl in /opt (#11233) --- CMakePresets.json | 5 + 1 file changed, 5 insertions(+) diff --git a/CMakePresets.json b/CMakePresets.json index 77a88c10f4..4c30bf9816 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -150,6 +150,8 @@ "OPENSSL_ROOT_DIR": "/opt/boringssl", "quiche_ROOT": "/opt/quiche", "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", +"opentelemetry_ROOT": "/opt", +"CURL_ROOT": "/opt", "ENABLE_QUICHE": true } }, @@ -161,6 +163,7 @@ "cacheVariables": { "OPENSSL_ROOT_DIR": "/opt/openssl-quic", "opentelemetry_ROOT": "/opt", +"CURL_ROOT": "/opt", "ENABLE_CRIPTS": true } }, @@ -170,6 +173,7 @@ "description": "CI Pipeline config for Fedora Linux compiled with c++20", "inherits": ["ci"], "cacheVariables": { +"CURL_ROOT": "/opt", "CMAKE_CXX_STANDARD": "20" } }, @@ -181,6 +185,7 @@ "cacheVariables": { "OPENSSL_ROOT_DIR": "/opt/boringssl", "quiche_ROOT": "/opt/quiche", +"CURL_ROOT": "/opt", "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", "ENABLE_QUICHE": true }
(trafficserver) branch master updated: Update curl library references to CURL (#11232)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4e9c8314ca Update curl library references to CURL (#11232) 4e9c8314ca is described below commit 4e9c8314cabebf3e6f7289415b284c8569e9fc4e Author: Brian Neradt AuthorDate: Tue Apr 9 13:19:43 2024 -0500 Update curl library references to CURL (#11232) The cmake builtin FindCURL module looks for CURL and CURL::libcurl. This updates our references to curl, via our Open Telemetry plugin, to reference CURL the way FindCURL expects. I verified I can reference our CI's version of curl in /opt via -DCURL_ROOT=/opt with these updates. --- cmake/ExperimentalPlugins.cmake | 2 +- plugins/experimental/otel_tracer/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/ExperimentalPlugins.cmake b/cmake/ExperimentalPlugins.cmake index 637635d400..673c1f5835 100644 --- a/cmake/ExperimentalPlugins.cmake +++ b/cmake/ExperimentalPlugins.cmake @@ -70,7 +70,7 @@ auto_option( PACKAGE_DEPENDS opentelemetry Protobuf - curl + CURL DEFAULT ${_DEFAULT} ) diff --git a/plugins/experimental/otel_tracer/CMakeLists.txt b/plugins/experimental/otel_tracer/CMakeLists.txt index 79bf187be4..8b9ab00579 100644 --- a/plugins/experimental/otel_tracer/CMakeLists.txt +++ b/plugins/experimental/otel_tracer/CMakeLists.txt @@ -16,5 +16,5 @@ ### add_atsplugin(otel_tracer otel_tracer.cc) -target_link_libraries(otel_tracer PRIVATE opentelemetry::opentelemetry protobuf::libprotobuf curl::curl) +target_link_libraries(otel_tracer PRIVATE opentelemetry::opentelemetry protobuf::libprotobuf CURL::libcurl) verify_global_plugin(otel_tracer)
(trafficserver) branch master updated: ja3_fingerprint.so docs: --modify-incoming (#11226)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 2014479155 ja3_fingerprint.so docs: --modify-incoming (#11226) 2014479155 is described below commit 2014479155bee9744daa419321718b94ff93440f Author: Brian Neradt AuthorDate: Mon Apr 8 17:18:42 2024 -0500 ja3_fingerprint.so docs: --modify-incoming (#11226) This adds a description for --modify-incoming to the ja3_fingerprint.so docs. --- doc/admin-guide/plugins/ja3_fingerprint.en.rst | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/admin-guide/plugins/ja3_fingerprint.en.rst b/doc/admin-guide/plugins/ja3_fingerprint.en.rst index 62bf31608d..faada2530a 100644 --- a/doc/admin-guide/plugins/ja3_fingerprint.en.rst +++ b/doc/admin-guide/plugins/ja3_fingerprint.en.rst @@ -55,7 +55,6 @@ or :file:`remap.config`. .. option:: --ja3log - This option enables logging to the file ``ja3_fingerprint.log`` in the standard logging directory. The format is :: @@ -63,6 +62,19 @@ or :file:`remap.config`. By default this is not enabled. +.. option:: --modify-incoming + + As described above, typically, the ``X-JA3-Sig`` header is added to the request as it is sent + upstream so that any upstream hosts can make use of it. The ``--modify-incoming`` option + instructs the plugin to add the ``X-JA3-Sig`` header field earlier on the incoming request so + that other plugins can make use of it while processing the request. To be precise, + ``--modify-incoming`` adds the ``X-JA3-Sig`` header field in the + ``TS_HTTP_READ_REQUEST_HDR_HOOK`` hook rather than the default ``TS_HTTP_SEND_REQUEST_HDR_HOOK`` + hook. + + This option is only useful when the plugin is configured as a global plugin. By default this + is not enabled. + Requirement =
(trafficserver) branch master updated: Remove noisy retransmit Note messages (#11225)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new c0a42a6a54 Remove noisy retransmit Note messages (#11225) c0a42a6a54 is described below commit c0a42a6a54de0b8d726d5cab3bbe304e611eb078 Author: Brian Neradt AuthorDate: Mon Apr 8 14:23:27 2024 -0500 Remove noisy retransmit Note messages (#11225) When working on the patch for #11143, I accidentally left in some Note log messages that should have been cleaned up before I merged in the changes. This removes those noisy Note messages. --- src/proxy/http2/Http2CommonSession.cc | 1 - src/proxy/http2/Http2ConnectionState.cc | 3 --- 2 files changed, 4 deletions(-) diff --git a/src/proxy/http2/Http2CommonSession.cc b/src/proxy/http2/Http2CommonSession.cc index 7581c47826..1c541ba94a 100644 --- a/src/proxy/http2/Http2CommonSession.cc +++ b/src/proxy/http2/Http2CommonSession.cc @@ -159,7 +159,6 @@ Http2CommonSession::xmit(const Http2TxFrame , bool flush) if (this->_pending_sending_data_size >= this->_write_size_threshold) { flush = true; } else { - Note("Calling schedule_transmit because write threshold is not exceeded."); // Observe that schedule_transmit will only schedule the first time we // don't flush because the threshold is not met. this->connection_state.schedule_retransmit(HRTIME_MSECONDS(Http2::write_time_threshold)); diff --git a/src/proxy/http2/Http2ConnectionState.cc b/src/proxy/http2/Http2ConnectionState.cc index ca50283611..9bb38b097a 100644 --- a/src/proxy/http2/Http2ConnectionState.cc +++ b/src/proxy/http2/Http2ConnectionState.cc @@ -1489,7 +1489,6 @@ Http2ConnectionState::main_event_handler(int event, void *edata) case HTTP2_SESSION_EVENT_XMIT: { REMEMBER(event, this->recursion); SCOPED_MUTEX_LOCK(lock, this->mutex, this_ethread()); -Note("Flushing due to XMIT event"); this->session->flush(); } break; @@ -2100,8 +2099,6 @@ Http2ConnectionState::schedule_retransmit(ink_hrtime t) SCOPED_MUTEX_LOCK(lock, this->mutex, this_ethread()); if (retransmit_event == nullptr) { -Note("Scheduling retransmit in %" PRId64 "ms", t / HRTIME_MSECOND); - SET_HANDLER(::main_event_handler); retransmit_event = this_ethread()->schedule_in((Continuation *)this, t, HTTP2_SESSION_EVENT_XMIT); }
(trafficserver) branch master updated: Fix parent proxy connection stat overcounting (#11220)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new b674083c68 Fix parent proxy connection stat overcounting (#11220) b674083c68 is described below commit b674083c68be459f2bc60566418221253544909c Author: Brian Neradt AuthorDate: Mon Apr 8 10:12:45 2024 -0500 Fix parent proxy connection stat overcounting (#11220) The proxy.process.http.current_parent_proxy_connections and proxy.process.http.total_parent_proxy_connections stats are each incremented in create_server_txn, which is a fine place to increment them, but this assumes that each server transaction is associated with a single origin connection. This is not the case when sessions are reused. This fixes the counting by only incrementing these stats for the very first transaction in the session. --- src/proxy/http/HttpSM.cc | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/proxy/http/HttpSM.cc b/src/proxy/http/HttpSM.cc index eee135e65d..7ca9febdbe 100644 --- a/src/proxy/http/HttpSM.cc +++ b/src/proxy/http/HttpSM.cc @@ -1717,8 +1717,12 @@ HttpSM::create_server_txn(PoolableSession *new_session) server_txn->attach_transaction(this); if (t_state.current.request_to == ResolveInfo::PARENT_PROXY) { new_session->to_parent_proxy = true; - Metrics::Gauge::increment(http_rsb.current_parent_proxy_connections); - Metrics::Counter::increment(http_rsb.total_parent_proxy_connections); + if (server_txn->get_proxy_ssn()->get_transact_count() == 1) { +// These are connection-level metrics, so only increment them for the +// first transaction lest they get overcounted. +Metrics::Gauge::increment(http_rsb.current_parent_proxy_connections); +Metrics::Counter::increment(http_rsb.total_parent_proxy_connections); + } } else { new_session->to_parent_proxy = false; }
(trafficserver) branch master updated: Fix HTTP/2 Buffering Issues (#11143)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 66940f5768 Fix HTTP/2 Buffering Issues (#11143) 66940f5768 is described below commit 66940f5768641b22dd36e7ae172fa72dcacdcb11 Author: Brian Neradt AuthorDate: Wed Apr 3 16:01:19 2024 -0500 Fix HTTP/2 Buffering Issues (#11143) When I ported #8747 into HTTP/2 to origin logic, I missed setting the watermark on outgoing connections. This essentially made it so that regardless of configuration, POST requests or the like would always send every little bit of DATA frames regardless of the configured watermark. The watermark was effectively zero on the server side. This patch fixes that by appying the configured watermark. This patch also fixes the HTTP/2 write_time_threshold configuration so it consistently wakes up ATS to transmit the frames held up behidn write_buffer_threshold. If the write_buffer_threshold is not met, then I noticed ATS never woke up to send the accumulated frames until a xmit with a flush was sent at the end of the transaction. This ensures that the frames are transmitted per the write_time_threshold by scheduling an event for the retransmission. Here's a list of changes made in this patch: * Adding a write_threshold test * Set buffer watermark for origin h2 connections * HTTP2_SESSION_EVENT_XMIT -> HTTP2_SESSION_EVENT_PRIO * schedule flushing event for write_time_threshold --- include/proxy/http2/Http2CommonSession.h | 10 +- include/proxy/http2/Http2ConnectionState.h| 3 + src/proxy/http2/Http2ClientSession.cc | 2 +- src/proxy/http2/Http2CommonSession.cc | 6 + src/proxy/http2/Http2ConnectionState.cc | 45 ++- src/proxy/http2/Http2ServerSession.cc | 11 +- tests/Pipfile | 3 + tests/gold_tests/h2/http2_write_threshold.test.py | 137 tests/gold_tests/h2/trickle_client.py | 349 +++ tests/gold_tests/h2/trickle_server.py | 407 ++ 10 files changed, 964 insertions(+), 9 deletions(-) diff --git a/include/proxy/http2/Http2CommonSession.h b/include/proxy/http2/Http2CommonSession.h index f24ee8b094..9030364b7d 100644 --- a/include/proxy/http2/Http2CommonSession.h +++ b/include/proxy/http2/Http2CommonSession.h @@ -36,15 +36,17 @@ // HTTP2_SESSION_EVENT_RECV Http2Frame * Received a frame // HTTP2_SESSION_EVENT_PRIO Http2Frame * Send this priority frame // HTTP2_SESSION_EVENT_DATA Http2Frame * Send the data frames in the stream +// HTTP2_SESSION_EVENT_XMIT Http2CommonSession * Try retransmitting frames. #define HTTP2_SESSION_EVENT_INIT (HTTP2_SESSION_EVENTS_START + 1) #define HTTP2_SESSION_EVENT_FINI (HTTP2_SESSION_EVENTS_START + 2) #define HTTP2_SESSION_EVENT_RECV (HTTP2_SESSION_EVENTS_START + 3) -#define HTTP2_SESSION_EVENT_XMIT (HTTP2_SESSION_EVENTS_START + 4) +#define HTTP2_SESSION_EVENT_PRIO (HTTP2_SESSION_EVENTS_START + 4) #define HTTP2_SESSION_EVENT_DATA (HTTP2_SESSION_EVENTS_START + 5) -#define HTTP2_SESSION_EVENT_SHUTDOWN_INIT (HTTP2_SESSION_EVENTS_START + 6) -#define HTTP2_SESSION_EVENT_SHUTDOWN_CONT (HTTP2_SESSION_EVENTS_START + 7) -#define HTTP2_SESSION_EVENT_REENABLE (HTTP2_SESSION_EVENTS_START + 8) +#define HTTP2_SESSION_EVENT_XMIT (HTTP2_SESSION_EVENTS_START + 6) +#define HTTP2_SESSION_EVENT_SHUTDOWN_INIT (HTTP2_SESSION_EVENTS_START + 7) +#define HTTP2_SESSION_EVENT_SHUTDOWN_CONT (HTTP2_SESSION_EVENTS_START + 8) +#define HTTP2_SESSION_EVENT_REENABLE (HTTP2_SESSION_EVENTS_START + 9) enum class Http2SessionCod : int { NOT_PROVIDED, diff --git a/include/proxy/http2/Http2ConnectionState.h b/include/proxy/http2/Http2ConnectionState.h index 00f0089425..4f992de488 100644 --- a/include/proxy/http2/Http2ConnectionState.h +++ b/include/proxy/http2/Http2ConnectionState.h @@ -158,6 +158,8 @@ public: void schedule_stream_to_send_priority_frames(Http2Stream *stream); void send_data_frames_depends_on_priority(); void schedule_stream_to_send_data_frames(Http2Stream *stream); + void schedule_retransmit(ink_hrtime t); + void cancel_retransmit(); void send_data_frames(Http2Stream *stream); Http2SendDataFrameResult send_a_data_frame(Http2Stream *stream, size_t _length); void send_headers_frame(Http2Stream *stream); @@ -401,6 +403,7 @@ private: Event *shutdown_cont_event= nullptr; Event *fini_event = nullptr; Event *zombie_event = nullptr; + Event *retransmit_event = nullptr; uint32_t configured_max_settings_frames_per_minute = 0; uint32_t configured_max_ping_frames_per_minute = 0; d
(trafficserver) 01/01: Merge latest master into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 6e5d6f2a47da1bac702f8fd749dec62b13adcfc0 Merge: d1bb631652 d3ff8b2009 Author: bneradt AuthorDate: Tue Apr 2 10:47:29 2024 -0500 Merge latest master into 11-Dev CMakeLists.txt | 3 +- CMakePresets.json | 1 + cmake/add_atsplugin.cmake | 1 + cmake/magick_target.cmake | 16 +++ doc/admin-guide/plugins/header_rewrite.en.rst | 2 + doc/release-notes/whats-new.en.rst | 5 + include/iocore/eventsystem/Event.h | 18 +-- include/ts/InkAPIPrivateIOCore.h | 61 -- lib/swoc/CMakeLists.txt| 1 + lib/swoc/include/swoc/TextView.h | 2 +- plugins/experimental/inliner/ts.cc | 4 +- plugins/experimental/magick/CMakeLists.txt | 3 +- .../txn_box/plugin/include/txn_box/common.h| 4 +- plugins/header_rewrite/CMakeLists.txt | 1 + plugins/header_rewrite/condition.cc| 8 ++ plugins/header_rewrite/condition.h | 17 +-- plugins/header_rewrite/conditions.cc | 43 +++ plugins/header_rewrite/matcher.cc | 77 plugins/header_rewrite/matcher.h | 74 +--- plugins/header_rewrite/regex_helper.cc | 4 +- plugins/header_rewrite/regex_helper.h | 2 +- src/api/InkIOCoreAPI.cc| 132 - src/iocore/hostdb/HostDB.cc| 6 +- src/iocore/hostdb/HostDBInfo.cc| 15 ++- src/iocore/net/SNIActionPerformer.cc | 6 +- src/iocore/net/SNIActionPerformer.h| 2 +- src/proxy/http/HttpSM.cc | 2 +- src/proxy/http2/Http2Stream.cc | 6 +- src/tscore/HostLookup.cc | 1 + tools/build_h3_tools.sh| 15 ++- 30 files changed, 236 insertions(+), 296 deletions(-)
(trafficserver) branch 11-Dev updated (d1bb631652 -> 6e5d6f2a47)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from d1bb631652 Merge latest ASF master into 11-Dev add 71d32c5c01 Fix external yaml-cpp builds (#11182) add 389fd2da57 Remove symbols with prefix INKUDP from plugin API. (#11171) add e2fb50b6aa Fixes for SRV records handling in hostdb rewrite (#11180) add 29872c258e build an extra static boringssl for NuRaft (#11185) add d90181f88c magick.so: explicitly reference wand/core libraries (#11183) add 6a9e39d6bb Fix GCC 14.0.1 -std=c++20 build failures (#11189) add a27d599116 Print warning about valid_tls_versions_in on startup (#11187) add 4244856b8e Fix warnings from clang 18 (#11191) add 04c6c42cad CMakePresets: branch-quiche: use boringssl nuraft (#11195) add b1ae2399c1 swoc: install swoc_ip_util.h (#11190) add 0fef5a3450 This adds support for NOCASE on string compare / regex (#11152) add d3ff8b2009 http2: change stream state to closed from open if END_STREAM is sent and received (#11188) new 6e5d6f2a47 Merge latest master into 11-Dev The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CMakeLists.txt | 3 +- CMakePresets.json | 1 + cmake/add_atsplugin.cmake | 1 + cmake/magick_target.cmake | 16 +++ doc/admin-guide/plugins/header_rewrite.en.rst | 2 + doc/release-notes/whats-new.en.rst | 5 + include/iocore/eventsystem/Event.h | 18 +-- include/ts/InkAPIPrivateIOCore.h | 61 -- lib/swoc/CMakeLists.txt| 1 + lib/swoc/include/swoc/TextView.h | 2 +- plugins/experimental/inliner/ts.cc | 4 +- plugins/experimental/magick/CMakeLists.txt | 3 +- .../txn_box/plugin/include/txn_box/common.h| 4 +- plugins/header_rewrite/CMakeLists.txt | 1 + plugins/header_rewrite/condition.cc| 8 ++ plugins/header_rewrite/condition.h | 17 +-- plugins/header_rewrite/conditions.cc | 43 +++ plugins/header_rewrite/matcher.cc | 77 plugins/header_rewrite/matcher.h | 74 +--- plugins/header_rewrite/regex_helper.cc | 4 +- plugins/header_rewrite/regex_helper.h | 2 +- src/api/InkIOCoreAPI.cc| 132 - src/iocore/hostdb/HostDB.cc| 6 +- src/iocore/hostdb/HostDBInfo.cc| 15 ++- src/iocore/net/SNIActionPerformer.cc | 6 +- src/iocore/net/SNIActionPerformer.h| 2 +- src/proxy/http/HttpSM.cc | 2 +- src/proxy/http2/Http2Stream.cc | 6 +- src/tscore/HostLookup.cc | 1 + tools/build_h3_tools.sh| 15 ++- 30 files changed, 236 insertions(+), 296 deletions(-) create mode 100644 plugins/header_rewrite/matcher.cc
(trafficserver) branch master updated: swoc: install swoc_ip_util.h (#11190)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new b1ae2399c1 swoc: install swoc_ip_util.h (#11190) b1ae2399c1 is described below commit b1ae2399c1359aa06e819198bdbdcc05967b2c63 Author: Brian Neradt AuthorDate: Thu Mar 28 12:33:34 2024 -0500 swoc: install swoc_ip_util.h (#11190) Adding swoc_ip_util.h to the list of header sources so that it will be installed in the expected swoc include location. --- lib/swoc/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/swoc/CMakeLists.txt b/lib/swoc/CMakeLists.txt index 3191524982..53819ebaf3 100644 --- a/lib/swoc/CMakeLists.txt +++ b/lib/swoc/CMakeLists.txt @@ -44,6 +44,7 @@ set(HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/string_view_util.h ${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/swoc_file.h ${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/swoc_ip.h +${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/swoc_ip_util.h ${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/swoc_meta.h ${CMAKE_CURRENT_SOURCE_DIR}/include/swoc/swoc_version.h )
(trafficserver) branch master updated: CMakePresets: branch-quiche: use boringssl nuraft (#11195)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 04c6c42cad CMakePresets: branch-quiche: use boringssl nuraft (#11195) 04c6c42cad is described below commit 04c6c42cad9c10bb54cf3c9ca387a68817a031c8 Author: Brian Neradt AuthorDate: Thu Mar 28 12:32:59 2024 -0500 CMakePresets: branch-quiche: use boringssl nuraft (#11195) The standard quiche build uses boringssl, so the NuRaft for the STEK plugin must be the NuRaft built against boringssl. --- CMakePresets.json | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakePresets.json b/CMakePresets.json index 4ea2a27dda..77a88c10f4 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -294,6 +294,7 @@ "inherits": ["branch"], "cacheVariables": { "ENABLE_AUTEST": "ON", +"nuraft_ROOT": "/opt/nuraft-boringssl", "OPENSSL_ROOT_DIR": "/opt/boringssl", "quiche_ROOT": "/opt/quiche", "ENABLE_QUICHE": true
(trafficserver-ci) branch main updated: fedora build to use 40 (#336)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c8494f6 fedora build to use 40 (#336) c8494f6 is described below commit c8494f6abd66b160fb8f66e62c88e08780bce25d Author: Brian Neradt AuthorDate: Thu Mar 28 12:32:28 2024 -0500 fedora build to use 40 (#336) The autest build has at least v6 resolution issues which I hope will get resolved as fedora hardens up and comes out of beta. But for now we can at least use the updated compiler from fedora:40 --- jenkins/github/fedora.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/fedora.pipeline b/jenkins/github/fedora.pipeline index f2ce366..95fd754 100644 --- a/jenkins/github/fedora.pipeline +++ b/jenkins/github/fedora.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { -image 'ats/fedora:39' +image 'ats/fedora:40' //registryUrl 'https://ci.trafficserver.apache.org/' args '-v ${HOME}/ccache:/tmp/ccache:rw' label 'linux'
(trafficserver-ci) branch main updated: boringssl nuraft (#335)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 53a8fe8 boringssl nuraft (#335) 53a8fe8 is described below commit 53a8fe8059674c065eef8dc04a9f8db9d6d9293d Author: Brian Neradt AuthorDate: Thu Mar 28 11:36:45 2024 -0500 boringssl nuraft (#335) --- docker/rockylinux8/Dockerfile | 25 ++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile index b19ff78..f100ea9 100644 --- a/docker/rockylinux8/Dockerfile +++ b/docker/rockylinux8/Dockerfile @@ -119,11 +119,14 @@ RUN update-crypto-policies --set LEGACY # package these, so this has to be built by hand. RUN <https://github.com/eBay/NuRaft.git cd NuRaft + sed -i 's/-std=c++11/-std=c++17/g' CMakeLists.txt ./prepare.sh + # openssl-quic nuraft OPENSSL_PREFIX=/opt/openssl-quic if [ -d "${OPENSSL_PREFIX}/lib" ]; then OPENSSL_LIB="${OPENSSL_PREFIX}/lib" @@ -134,13 +137,29 @@ RUN <
(trafficserver-ci) branch main updated: Add --init and --cap-add=SYS_PTRACE for branch quiche autest (#334)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 5cb29a0 Add --init and --cap-add=SYS_PTRACE for branch quiche autest (#334) 5cb29a0 is described below commit 5cb29a077a411e032c78a1d530fed802e662bc18 Author: Brian Neradt AuthorDate: Wed Mar 27 22:34:14 2024 -0500 Add --init and --cap-add=SYS_PTRACE for branch quiche autest (#334) --- jenkins/branch/quiche.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/branch/quiche.pipeline b/jenkins/branch/quiche.pipeline index b13f344..8f8af5b 100644 --- a/jenkins/branch/quiche.pipeline +++ b/jenkins/branch/quiche.pipeline @@ -3,7 +3,7 @@ pipeline { docker { registryUrl 'https://ci.trafficserver.apache.org/' image 'ci.trafficserver.apache.org/ats/rockylinux:8' - args '--network=host -v "${HOME}"/ccache:/tmp/ccache:rw' + args '--init --cap-add=SYS_PTRACE --network=host -v "${HOME}"/ccache:/tmp/ccache:rw' label 'branch' } }
(trafficserver-ci) branch main updated: build_h3_tools updates for static boringssl (#333)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new cdf2d44 build_h3_tools updates for static boringssl (#333) cdf2d44 is described below commit cdf2d44d3dce8e370bc6344b1d9b5db62aaf0b0d Author: Brian Neradt AuthorDate: Wed Mar 27 22:25:07 2024 -0500 build_h3_tools updates for static boringssl (#333) This failed for fedora:39, so not updating that. --- docker/rockylinux8/build_h3_tools.sh | 15 --- docker/rockylinux9/build_h3_tools.sh | 15 --- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/docker/rockylinux8/build_h3_tools.sh b/docker/rockylinux8/build_h3_tools.sh index d05b98f..16a71cc 100644 --- a/docker/rockylinux8/build_h3_tools.sh +++ b/docker/rockylinux8/build_h3_tools.sh @@ -136,14 +136,23 @@ if [ ! -d boringssl ]; then fi cd boringssl cmake \ - -B build \ + -B build-shared \ -DGO_EXECUTABLE=${GO_BINARY_PATH} \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ -DBUILD_SHARED_LIBS=1 -cmake --build build -j ${num_threads} -cmake --install build +cmake \ + -B build-static \ + -DGO_EXECUTABLE=${GO_BINARY_PATH} \ + -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ + -DBUILD_SHARED_LIBS=0 +cmake --build build-shared -j ${num_threads} +cmake --build build-static -j ${num_threads} +cmake --install build-shared +cmake --install build-static chmod -R a+rX ${BASE} cd .. diff --git a/docker/rockylinux9/build_h3_tools.sh b/docker/rockylinux9/build_h3_tools.sh index 8c55773..142ae0b 100644 --- a/docker/rockylinux9/build_h3_tools.sh +++ b/docker/rockylinux9/build_h3_tools.sh @@ -136,14 +136,23 @@ if [ ! -d boringssl ]; then fi cd boringssl cmake \ - -B build \ + -B build-shared \ -DGO_EXECUTABLE=${GO_BINARY_PATH} \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ -DBUILD_SHARED_LIBS=1 -cmake --build build -j ${num_threads} -cmake --install build +cmake \ + -B build-static \ + -DGO_EXECUTABLE=${GO_BINARY_PATH} \ + -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ + -DBUILD_SHARED_LIBS=0 +cmake --build build-shared -j ${num_threads} +cmake --build build-static -j ${num_threads} +cmake --install build-shared +cmake --install build-static chmod -R a+rX ${BASE} cd ..
(trafficserver) branch master updated: Fix warnings from clang 18 (#11191)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4244856b8e Fix warnings from clang 18 (#11191) 4244856b8e is described below commit 4244856b8ee3d6b4a72c6a8d572d9f4ac9cf8dfd Author: Brian Neradt AuthorDate: Wed Mar 27 16:29:56 2024 -0500 Fix warnings from clang 18 (#11191) * Disable variable length array warnings clang 18 warns about the use of dynamic variables used as the size of arrays on the stack. We use this in a variety of places. I'm addressing this by simply disabling the warning for now since we have used these forever and my feel is that the community is OK with it. Some possible alternatives would be to use alloca or to move this memory to the heap via std::vector, but that, if desired, can be done in a separate patch. Example warning: src/api/InkAPI.cc:8421:16: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension] 8421 | char buf[sid->len * 2 + 1]; |^~~~ src/api/InkAPI.cc:8421:16: note: read of non-constexpr variable 'sid' is not allowed in a constant expression src/api/InkAPI.cc:8420:27: note: declared here 8420 | const SSLSessionID *sid = reinterpret_cast(session_id); | ^ * std::result_of -> std::invoke_result std::result_of has been deprecated since c++17 with users encouraged to move to std::invoke_result instead. clang 18 warns of this. This patch transitions us to the std::invoke_result API. Example warning: /usr/bin/../lib/gcc/aarch64-redhat-linux/14/../../../../include/c++/14/type_traits:2708:5: error: 'result_of<(lambda at plugins/experimental/txn_box/plugin/include/txn_box/common.h:223:71) (unsigned long)>' is deprecated: u se 'std::invoke_result' instead [-Werror,-Wdeprecated-declarations] 2708 | using result_of_t = typename result_of<_Tp>::type; | ^ plugins/experimental/txn_box/plugin/include/txn_box/common.h:204:26: note: in instantiation of template type alias 'result_of_t' requested here 204 | return std::array, sizeof...(IDX)>{g(IDX)...}; | ^ * std::shared_ptr::unique -> std::shared_ptr::use_count std::shared_ptr::unique is deprecated since c++17 since it is approximate in multithreaded environments. The inliner plugin made use of unique. The one place that it used unique positively to reset data it does so under a lock, so that seems safe. The other use of unique was to compare !unique in such a way that seems flexible with the result being approximate anyway. So from my inspection, it seems safe to simply transition to use_count. --- CMakeLists.txt | 2 +- plugins/experimental/inliner/ts.cc | 4 ++-- plugins/experimental/txn_box/plugin/include/txn_box/common.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6f6ac6474..d2485e14e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -565,7 +565,7 @@ add_subdirectory(lib) # there are warnings, we can't do anything about it. # Note: -DCMAKE_COMPILE_WARNING_AS_ERROR=ON will turn warnings into errors. add_compile_options(-pipe -Wall -Wextra -Wno-unused-parameter) -add_compile_options("$<$:-Wno-noexcept-type;-Wsuggest-override>") +add_compile_options("$<$:-Wno-noexcept-type;-Wsuggest-override;-Wno-vla-extension>") add_compile_options("$<$:-Wno-format-truncation;-Wno-stringop-overflow>") if(NOT EXTERNAL_YAML_CPP) diff --git a/plugins/experimental/inliner/ts.cc b/plugins/experimental/inliner/ts.cc index 7b26275d7a..b7d1a591de 100644 --- a/plugins/experimental/inliner/ts.cc +++ b/plugins/experimental/inliner/ts.cc @@ -307,7 +307,7 @@ namespace io const Node::Result result = data_->process(operation->buffer_); operation->bytes_ += result.first; operation->process(); -if (result.second && data_.unique()) { +if (result.second && data_.use_count() == 1) { data_.reset(); } } @@ -448,7 +448,7 @@ namespace io assert(*it != nullptr); const Node::Result result = (*it)->process(b); length+= result.first; - if (!result.second || !it->unique()) { + if (!result.second || it->use_count() != 1) { break; }
(trafficserver) branch master updated: Fix GCC 14.0.1 -std=c++20 build failures (#11189)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 6a9e39d6bb Fix GCC 14.0.1 -std=c++20 build failures (#11189) 6a9e39d6bb is described below commit 6a9e39d6bb666a7849f5d414d230776dba543a02 Author: Brian Neradt AuthorDate: Tue Mar 26 22:51:47 2024 -0500 Fix GCC 14.0.1 -std=c++20 build failures (#11189) * comparison of unsigned expression in ‘>= 0’ is always true lib/swoc/include/swoc/TextView.h: In instantiation of ‘uintmax_t swoc::_1_5_11::svto_radix(TextView&) [with int RADIX = 16; uintmax_t = long unsigned int]’: lib/swoc/include/swoc/TextView.h:1082:23: required from ‘uintmax_t swoc::_1_5_11::svto_radix(TextView&&) [with int N = 16; uintmax_t = long unsigned int]’ lib/swoc/include/swoc/TextView.h:1065:27: error: 1082 | return svto_radix(src); lib/swoc/include/swoc/TextView.h:1065:27: error: | ~^ lib/swoc/src/bw_format.cc:928:28: required from here lib/swoc/include/swoc/TextView.h:1065:27: error: 928 | auto b = svto_radix<16>(span.clip_prefix(2).rebind()); lib/swoc/include/swoc/TextView.h:1065:27: error: | ~~^~ lib/swoc/include/swoc/TextView.h:1065:27: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits] 1065 | while (src.size() && (0 <= (v = swoc::svtoi_convert[uint8_t(*src)])) && v < RADIX) { | ~~~^~~~ cc1plus: all warnings being treated as errors Second warning: src/tscore/HostLookup.cc: In member function ‘void CharIndex::Insert(std::string_view, HostBranch*)’: src/tscore/HostLookup.cc:304:12: error: ‘any_of’ is not a member of ‘std’ 304 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ src/tscore/HostLookup.cc: In member function ‘HostBranch* CharIndex::Lookup(std::string_view)’: src/tscore/HostLookup.cc:351:12: error: ‘any_of’ is not a member of ‘std’ 351 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ * ‘any_of’ is not a member of ‘std’ src/tscore/HostLookup.cc: In member function ‘void CharIndex::Insert(std::string_view, HostBranch*)’: src/tscore/HostLookup.cc:304:12: error: ‘any_of’ is not a member of ‘std’ 304 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ src/tscore/HostLookup.cc: In member function ‘HostBranch* CharIndex::Lookup(std::string_view)’: src/tscore/HostLookup.cc:351:12: error: ‘any_of’ is not a member of ‘std’ 351 | if (std::any_of(match_data.begin(), match_data.end(), [](unsigned char c) { return asciiToTable[c] == 255; })) { |^~ * error: template-id not allowed for constructor in C++20 plugins/header_rewrite/matcher.h:71:23: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] 71 | explicit Matchers(const MatcherOps op) : Matcher(op), _data() {} | ^ plugins/header_rewrite/matcher.h:71:23: note: remove the ‘< >’ /home/bneradt/src/ts_asf_master_fix_std_20_build_failure/plugins/header_rewrite/matcher.h:222:38: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] 222 | explicit Matchers(const MatcherOps op) : Matcher(op) {} | ^ /home/bneradt/src/ts_asf_master_fix_std_20_build_failure/plugins/header_rewrite/matcher.h:222:38: note: remove the ‘< >’ --- lib/swoc/include/swoc/TextView.h | 2 +- plugins/header_rewrite/matcher.h | 4 ++-- src/tscore/HostLookup.cc | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/swoc/include/swoc/TextView.h b/lib/swoc/include/swoc/TextView.h index 9e914c8a63..3fecf0315b 100644 --- a/lib/swoc/include/swoc/TextView.h +++ b/lib/swoc/include/swoc/TextView.h @@ -1062,7 +1062,7 @@ svto_radix(TextView ) { static constexpr auto OVERFLOW_LIMIT = MAX / RADIX; uintmax_t zret = 0; uintmax_t v; - while (src.size() && (0 <= (v = swoc::svtoi_convert[uint8_t(*src)])) && v < RADIX) { + while (src.size() && ((v = swoc::svtoi_convert[uint8_t(*src)]) < RADIX)) { // Tweaked for performance - need to check range after @a RADIX multiply. ++src; // Update view iff the character is parsed. if (zret <= OVER
(trafficserver-ci) branch main updated: Revert "fedora:39 -> fedora:40 (#332)"
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6fb6757 Revert "fedora:39 -> fedora:40 (#332)" 6fb6757 is described below commit 6fb675735f18a69ab2af0caace369ec3bba5cc27 Author: bneradt AuthorDate: Tue Mar 26 22:18:29 2024 -0500 Revert "fedora:39 -> fedora:40 (#332)" This reverts commit 72c674fcd70f4d5462cb6af2ecbae6fecd82d4c2. I have to - it turns out autests fail with fedora:40. --- bin/pull-all.sh| 2 +- bin/push-all.sh| 2 +- jenkins/github/autest.pipeline | 2 +- jenkins/github/fedora.pipeline | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/pull-all.sh b/bin/pull-all.sh index 0c9af7e..7e9dcbd 100755 --- a/bin/pull-all.sh +++ b/bin/pull-all.sh @@ -1,7 +1,7 @@ #!/bin/sh +docker pull ci.trafficserver.apache.org/ats/fedora:38 docker pull ci.trafficserver.apache.org/ats/fedora:39 -docker pull ci.trafficserver.apache.org/ats/fedora:40 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.10 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:19.04 diff --git a/bin/push-all.sh b/bin/push-all.sh index f1953b9..cea2c49 100755 --- a/bin/push-all.sh +++ b/bin/push-all.sh @@ -1,7 +1,7 @@ #!/bin/sh +docker push ci.trafficserver.apache.org/ats/fedora:38 docker push ci.trafficserver.apache.org/ats/fedora:39 -docker push ci.trafficserver.apache.org/ats/fedora:40 docker push ci.trafficserver.apache.org/ats/ubuntu:20.10 docker push ci.trafficserver.apache.org/ats/ubuntu:20.04 docker push ci.trafficserver.apache.org/ats/ubuntu:19.04 diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index e04197d..1e09775 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { - image 'ci.trafficserver.apache.org/ats/fedora:40' + image 'ci.trafficserver.apache.org/ats/fedora:39' registryUrl 'https://ci.trafficserver.apache.org/' args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' label 'docker' diff --git a/jenkins/github/fedora.pipeline b/jenkins/github/fedora.pipeline index 95fd754..f2ce366 100644 --- a/jenkins/github/fedora.pipeline +++ b/jenkins/github/fedora.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { -image 'ats/fedora:40' +image 'ats/fedora:39' //registryUrl 'https://ci.trafficserver.apache.org/' args '-v ${HOME}/ccache:/tmp/ccache:rw' label 'linux'
(trafficserver-ci) branch main updated: fedora:39 -> fedora:40 (#332)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 72c674f fedora:39 -> fedora:40 (#332) 72c674f is described below commit 72c674fcd70f4d5462cb6af2ecbae6fecd82d4c2 Author: Brian Neradt AuthorDate: Tue Mar 26 15:00:04 2024 -0500 fedora:39 -> fedora:40 (#332) --- bin/pull-all.sh| 2 +- bin/push-all.sh| 2 +- jenkins/github/autest.pipeline | 2 +- jenkins/github/fedora.pipeline | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/pull-all.sh b/bin/pull-all.sh index 7e9dcbd..0c9af7e 100755 --- a/bin/pull-all.sh +++ b/bin/pull-all.sh @@ -1,7 +1,7 @@ #!/bin/sh -docker pull ci.trafficserver.apache.org/ats/fedora:38 docker pull ci.trafficserver.apache.org/ats/fedora:39 +docker pull ci.trafficserver.apache.org/ats/fedora:40 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.10 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:19.04 diff --git a/bin/push-all.sh b/bin/push-all.sh index cea2c49..f1953b9 100755 --- a/bin/push-all.sh +++ b/bin/push-all.sh @@ -1,7 +1,7 @@ #!/bin/sh -docker push ci.trafficserver.apache.org/ats/fedora:38 docker push ci.trafficserver.apache.org/ats/fedora:39 +docker push ci.trafficserver.apache.org/ats/fedora:40 docker push ci.trafficserver.apache.org/ats/ubuntu:20.10 docker push ci.trafficserver.apache.org/ats/ubuntu:20.04 docker push ci.trafficserver.apache.org/ats/ubuntu:19.04 diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index 1e09775..e04197d 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { - image 'ci.trafficserver.apache.org/ats/fedora:39' + image 'ci.trafficserver.apache.org/ats/fedora:40' registryUrl 'https://ci.trafficserver.apache.org/' args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' label 'docker' diff --git a/jenkins/github/fedora.pipeline b/jenkins/github/fedora.pipeline index f2ce366..95fd754 100644 --- a/jenkins/github/fedora.pipeline +++ b/jenkins/github/fedora.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { -image 'ats/fedora:39' +image 'ats/fedora:40' //registryUrl 'https://ci.trafficserver.apache.org/' args '-v ${HOME}/ccache:/tmp/ccache:rw' label 'linux'
(trafficserver-ci) branch main updated: Adding a fedora:40 Dockerfile (#331)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new dc1d1bc Adding a fedora:40 Dockerfile (#331) dc1d1bc is described below commit dc1d1bc03f4c7a46a522f28afe013f6f9859d71b Author: Brian Neradt AuthorDate: Tue Mar 26 11:22:06 2024 -0500 Adding a fedora:40 Dockerfile (#331) Cleaning up fedora:38 while I'm at it. --- docker/{fedora38 => fedora40}/Dockerfile| 109 +--- docker/{fedora38 => fedora40}/build_h3_tools.sh | 82 +- 2 files changed, 134 insertions(+), 57 deletions(-) diff --git a/docker/fedora38/Dockerfile b/docker/fedora40/Dockerfile similarity index 53% rename from docker/fedora38/Dockerfile rename to docker/fedora40/Dockerfile index 66f399a..acc0168 100644 --- a/docker/fedora38/Dockerfile +++ b/docker/fedora40/Dockerfile @@ -1,7 +1,10 @@ -FROM fedora:38 +FROM fedora:40 #--- # Install the various system packages we use. +# +# Try to keep all or at least most dnf commands at the beginning and clean +# afterwards to keep the Docker images smaller. #--- RUN <https://github.com/eBay/NuRaft.git + cd NuRaft + ./prepare.sh + + OPENSSL_PREFIX=/opt/openssl-quic + if [ -d "${OPENSSL_PREFIX}/lib" ]; then +OPENSSL_LIB="${OPENSSL_PREFIX}/lib" + elif [ -d "${OPENSSL_PREFIX}/lib64" ]; then +OPENSSL_LIB="${OPENSSL_PREFIX}/lib64" + else +echo "Could not find the OpenSSL install library directory." +exit 1 + fi + cmake \ +-B build \ +-G Ninja \ +-DCMAKE_INSTALL_PREFIX=/opt/ \ +-DOPENSSL_LIBRARY_PATH=${OPENSSL_LIB} \ +-DOPENSSL_INCLUDE_PATH=${OPENSSL_PREFIX}/include + cmake --build build + cmake --install build + cd ../ + rm -rf NuRaft +EOF + +# For Open Telemetry Tracer plugin. +RUN <https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz + tar zxf v3.11.3.tar.gz + cd json-3.11.3 + cmake -B build -G Ninja -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_INSTALL_PREFIX=/opt -DJSON_BuildTests=OFF + cmake --build build + cmake --install build + cd /root + rm -rf nlohmann-json + + mkdir opentelemetry-cpp + cd opentelemetry-cpp + wget https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.3.0.tar.gz + tar zxf v1.3.0.tar.gz + cd opentelemetry-cpp-1.3.0 + cmake -B build -G Ninja -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF -DWITH_JAEGER=OFF -DWITH_OTLP=ON -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_HTTP=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -Dnlohmann_json_ROOT=/opt/ -DCMAKE_INSTALL_PREFIX=/opt + cmake --build build --target all + cmake --install build --config Debug + cd /root + rm -rf opentelemetry-cpp +EOF + # Add the CI's test user. N.B: 1200 is the uid that our jenkins user is # configured with, so that has to be used. Otherwise there will be permissions # issues. @@ -111,8 +182,20 @@ RUN <https://github.com/lvc/installer.git + cd installer + for i in abi-dumper abi-tracker abi-compliance-checker vtable-dumper abi-monitor + do +make install prefix=/opt target=${i} + done + cd /root + rm -rf src/abi +EOF -# Keep this at the end to clean up the dnf cache. +# Keep this at the end to ensure the dnf cache is cleared out. RUN dnf clean all diff --git a/docker/fedora38/build_h3_tools.sh b/docker/fedora40/build_h3_tools.sh similarity index 81% rename from docker/fedora38/build_h3_tools.sh rename to docker/fedora40/build_h3_tools.sh index 9ae66f3..8c55773 100644 --- a/docker/fedora38/build_h3_tools.sh +++ b/docker/fedora40/build_h3_tools.sh @@ -37,7 +37,7 @@ set -e # that it later removes. # Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.0+quic+locks"} +OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} # Set these, if desired, to change these to your preferred installation # directory @@ -78,6 +78,14 @@ elif [ -e /etc/debian_version ]; then echo fi +if [ `uname -s` = "Darwin" ]; then +echo "+-+" +echo "| When building on a Mac, be aware that the Apple version of clang may|" +echo "| fail to build curl due to the issue described here: |" +echo "| https://github.com/curl/curl/issues/11391#issuecomment-1623890325 |" +echo "+-+" +fi + if [ -z ${QUICHE_BSSL_PATH+x} ]; then QUICHE_BSSL_PATH=${TMP_QUICHE_BSSL_PATH:-"${BASE
(trafficserver) branch master updated: Fix external yaml-cpp builds (#11182)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 71d32c5c01 Fix external yaml-cpp builds (#11182) 71d32c5c01 is described below commit 71d32c5c01e77dc47b27a55b9204e42a746852e3 Author: Brian Neradt AuthorDate: Mon Mar 25 13:01:33 2024 -0500 Fix external yaml-cpp builds (#11182) This fixes builds when a user builds yaml-cpp externally via: -DEXTERNAL_YAML_CPP=ON -Dyaml-cpp_ROOT= --- cmake/add_atsplugin.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/add_atsplugin.cmake b/cmake/add_atsplugin.cmake index 1412ebb8b4..204927f881 100644 --- a/cmake/add_atsplugin.cmake +++ b/cmake/add_atsplugin.cmake @@ -27,6 +27,7 @@ function(add_atsplugin name) PRIVATE "$" "$" "$" + "$" ) endif() set_target_properties(${name} PROPERTIES PREFIX "")
(trafficserver-ci) branch main updated: PR rocky: use /opt/yaml-cpp and /opt/libswoc (#330)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new a786b6f PR rocky: use /opt/yaml-cpp and /opt/libswoc (#330) a786b6f is described below commit a786b6f6301a2d9e4029a129e0a042bbe080cda2 Author: Brian Neradt AuthorDate: Mon Mar 25 12:08:05 2024 -0500 PR rocky: use /opt/yaml-cpp and /opt/libswoc (#330) Now that yaml-cpp and libswoc are installed in /opt in the rocky images, use those install dirs instead of building each of these for each build. --- jenkins/github/rocky.pipeline | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/jenkins/github/rocky.pipeline b/jenkins/github/rocky.pipeline index e60e934..27f61e5 100644 --- a/jenkins/github/rocky.pipeline +++ b/jenkins/github/rocky.pipeline @@ -67,23 +67,13 @@ pipeline { if [ -d cmake ] then -# Retrieve the libswoc version we use in ATS. -swoc_version=$(awk '/LIBSWOC_VERSION/ {print $NF; exit}' lib/swoc/CMakeLists.txt | tr -d '")') - -pushd /var/tmp -git clone https://github.com/apache/trafficserver-libswoc.git -pushd trafficserver-libswoc -git checkout ${swoc_version} -pipenv install -pipenv run scons -j`nproc` all -popd -popd - libswoc_dir=/var/tmp/trafficserver-libswoc/_install/debug_posix-$(uname -m)_default - # Now build ATS, using the external libswoc. +libswoc_dir=/opt/libswoc +yaml_cpp_dir=/opt/yaml-cpp PKG_CONFIG_PATH=${libswoc_dir}/lib/pkgconfig \ cmake -B build --preset ci-rocky \ - -DEXTERNAL_LIBSWOC=ON -Dlibswoc_ROOT=${libswoc_dir} + -DEXTERNAL_LIBSWOC=ON -Dlibswoc_ROOT=${libswoc_dir} \ + -DEXTERNAL_YAML_CPP=ON -Dyaml-cpp_ROOT=${yaml_cpp_dir} cmake --build build -v cmake --install build pushd build
(trafficserver-ci) branch main updated: Add yaml-cpp and libswoc installs to rockylinux:[8,9] (#329)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new b5632d1 Add yaml-cpp and libswoc installs to rockylinux:[8,9] (#329) b5632d1 is described below commit b5632d1dc2fc27bced379fc89e404efdc5976b6e Author: Brian Neradt AuthorDate: Mon Mar 25 12:03:21 2024 -0500 Add yaml-cpp and libswoc installs to rockylinux:[8,9] (#329) --- docker/rockylinux8/Dockerfile | 44 +++ docker/rockylinux9/Dockerfile | 44 +++ 2 files changed, 88 insertions(+) diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile index 041d300..b19ff78 100644 --- a/docker/rockylinux8/Dockerfile +++ b/docker/rockylinux8/Dockerfile @@ -193,5 +193,49 @@ RUN <https://raw.githubusercontent.com/apache/trafficserver/master/lib/swoc/CMakeLists.txt + swoc_version=$(awk '/LIBSWOC_VERSION/ {print $NF; exit}' CMakeLists.txt | tr -d '")') + + # Now, checkout that version and install libswoc in /opt/libswoc + git clone https://github.com/apache/trafficserver-libswoc.git + cd trafficserver-libswoc + git checkout ${swoc_version} + pipenv install + pipenv run scons -j`nproc` all + arch=$(uname -m) + old_path=/root/libswoc/trafficserver-libswoc/_install/debug_posix-${arch}_default + cp -rf ${old_path} /opt/libswoc + chmod 755 /opt/libswoc + sed -i "s:${old_path}:/opt/libswoc:g" /opt/libswoc/lib/pkgconfig/*.pc + cd /root/ + rm -rf /root/libswoc + + # Retrieve the yaml-cpp version we use in ATS. + cd /root/ + mkdir yaml-cpp + cd yaml-cpp + wget -O CMakeLists.txt https://raw.githubusercontent.com/apache/trafficserver/master/lib/yamlcpp/CMakeLists.txt + yaml_version=$(awk '/project/ {print $3}' CMakeLists.txt) + + cd /root/yaml-cpp + git clone https://github.com/jbeder/yaml-cpp.git + cd yaml-cpp + git checkout ${yaml_version} + cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/opt/yaml-cpp + cmake --build build + cmake --install build + cd /root + rm -rf yaml-cpp +EOF + # Keep this at the end to clean up the dnf cache. RUN dnf clean all diff --git a/docker/rockylinux9/Dockerfile b/docker/rockylinux9/Dockerfile index 5744389..1b8c4f4 100644 --- a/docker/rockylinux9/Dockerfile +++ b/docker/rockylinux9/Dockerfile @@ -170,6 +170,50 @@ RUN dnf install -y ctags elfutils-libelf-devel wdiff COPY /install_abi_tools.sh /root/install_abi_tools.sh RUN bash /root/install_abi_tools.sh +# Install some tools to test out of source builds. +RUN <https://raw.githubusercontent.com/apache/trafficserver/master/lib/swoc/CMakeLists.txt + swoc_version=$(awk '/LIBSWOC_VERSION/ {print $NF; exit}' CMakeLists.txt | tr -d '")') + + # Now, checkout that version and install libswoc in /opt/libswoc + git clone https://github.com/apache/trafficserver-libswoc.git + cd trafficserver-libswoc + git checkout ${swoc_version} + pipenv install + pipenv run scons -j`nproc` all + arch=$(uname -m) + old_path=/root/libswoc/trafficserver-libswoc/_install/debug_posix-${arch}_default + cp -rf ${old_path} /opt/libswoc + chmod 755 /opt/libswoc + sed -i "s:${old_path}:/opt/libswoc:g" /opt/libswoc/lib/pkgconfig/*.pc + cd /root/ + rm -rf /root/libswoc + + # Retrieve the yaml-cpp version we use in ATS. + cd /root/ + mkdir yaml-cpp + cd yaml-cpp + wget -O CMakeLists.txt https://raw.githubusercontent.com/apache/trafficserver/master/lib/yamlcpp/CMakeLists.txt + yaml_version=$(awk '/project/ {print $3}' CMakeLists.txt) + + cd /root/yaml-cpp + git clone https://github.com/jbeder/yaml-cpp.git + cd yaml-cpp + git checkout ${yaml_version} + cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/opt/yaml-cpp + cmake --build build + cmake --install build + cd /root + rm -rf yaml-cpp +EOF + RUN <
(trafficserver-ci) branch main updated: I cannot get the nghttp2 to work on centos:7 (#328)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c368829 I cannot get the nghttp2 to work on centos:7 (#328) c368829 is described below commit c3688295d99047f3871be4cbb68d845b82b8e75c Author: Brian Neradt AuthorDate: Fri Mar 22 17:51:37 2024 -0500 I cannot get the nghttp2 to work on centos:7 (#328) gmake[2]: Leaving directory '/root/build_h3_tools/nghttp2/third-party' Making all in src gmake[2]: Entering directory '/root/build_h3_tools/nghttp2/src' Makefile:1237: ../tests/munit/.deps/nghttpx_unittest-munit.Po: No such file or directory gmake[2]: *** No rule to make target '../tests/munit/.deps/nghttpx_unittest-munit.Po'. Stop. gmake[2]: Leaving directory '/root/build_h3_tools/nghttp2/src' gmake[1]: *** [Makefile:559: all-recursive] Error 1 gmake[1]: Leaving directory '/root/build_h3_tools/nghttp2' gmake: *** [Makefile:467: all] Error 2 I believe this is due to the test files being .c instead of .cc, and the older automake doesn't handle that well. This all worked on rockylinux:8, 9, and fedora:39. Giving up, at least for now. I wish there were a switch to turn off the unit tests. Co-authored-by: bneradt --- docker/centos7/build_h3_tools.sh | 110 --- 1 file changed, 46 insertions(+), 64 deletions(-) diff --git a/docker/centos7/build_h3_tools.sh b/docker/centos7/build_h3_tools.sh index d05b98f..b1b01d8 100644 --- a/docker/centos7/build_h3_tools.sh +++ b/docker/centos7/build_h3_tools.sh @@ -19,7 +19,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -e # This is a slightly modified version of: @@ -32,12 +31,12 @@ set -e # versions of these over time. # # * It also doesn't run sudo since the Dockerfile will run this as root. -# -# * It also doesn't use a mktemp since the caller sets up a temporary directory -# that it later removes. + + +set -e # Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} +OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1t+quic"} # Set these, if desired, to change these to your preferred installation # directory @@ -46,8 +45,10 @@ OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"} OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"} MAKE="make" +# These are for Linux like systems, specially the LDFLAGS, also depends on dirs above CFLAGS=${CFLAGS:-"-O3 -g"} CXXFLAGS=${CXXFLAGS:-"-O3 -g"} +LDFLAGS=${LDFLAGS:-"-Wl,-rpath,${OPENSSL_PREFIX}/lib"} if [ -e /etc/redhat-release ]; then MAKE="gmake" @@ -78,14 +79,6 @@ elif [ -e /etc/debian_version ]; then echo fi -if [ `uname -s` = "Darwin" ]; then -echo "+-+" -echo "| When building on a Mac, be aware that the Apple version of clang may|" -echo "| fail to build curl due to the issue described here: |" -echo "| https://github.com/curl/curl/issues/11391#issuecomment-1623890325 |" -echo "+-+" -fi - if [ -z ${QUICHE_BSSL_PATH+x} ]; then QUICHE_BSSL_PATH=${TMP_QUICHE_BSSL_PATH:-"${BASE}/boringssl/lib"} fi @@ -94,9 +87,6 @@ set -x if [ `uname -s` = "Linux" ] then num_threads=$(nproc) -elif [ `uname -s` = "FreeBSD" ] -then - num_threads=$(sysctl -n hw.ncpu) else # MacOS. num_threads=$(sysctl -n hw.logicalcpu) @@ -108,7 +98,7 @@ echo "Building boringssl..." # We need this go version. mkdir -p ${BASE}/go -if [ `uname -m` = "arm64" -o `uname -m` = "aarch64" ]; then +if [ `uname -m` = "arm64" ]; then ARCH="arm64" else ARCH="amd64" @@ -116,35 +106,32 @@ fi if [ `uname -s` = "Darwin" ]; then OS="darwin" -elif [ `uname -s` = "FreeBSD" ]; then -OS="freebsd" else OS="linux" fi -wget https://go.dev/dl/go1.21.6.${OS}-${ARCH}.tar.gz -rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.6.${OS}-${ARCH}.tar.gz -rm go1.21.6.${OS}-${ARCH}.tar.gz -chmod -R a+rX ${BASE} +wget https://go.dev/dl/go1.20.1.${OS}-${ARCH}.tar.gz +rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.20.1.${OS}-${ARCH}.tar.gz +rm go1.20.1.${OS}-${ARCH}.tar.gz GO_BINARY_PATH=${BASE}/go/bin/go if [ ! -d boringssl ]; then git clone https://boringssl.googlesource.com/boringssl cd boringssl - git checkout a1843d660b47116207877614af53defa767b
(trafficserver-ci) branch main updated: build_h3_tools.sh updates from latest ATS master (#327)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 25f2921 build_h3_tools.sh updates from latest ATS master (#327) 25f2921 is described below commit 25f292120ab9f50958bf99f3a91f974ca7caf4af Author: Brian Neradt AuthorDate: Fri Mar 22 15:37:59 2024 -0500 build_h3_tools.sh updates from latest ATS master (#327) --- docker/centos7/build_h3_tools.sh | 110 --- docker/fedora39/build_h3_tools.sh| 14 ++--- docker/rockylinux8/build_h3_tools.sh | 14 ++--- docker/rockylinux9/build_h3_tools.sh | 14 ++--- 4 files changed, 82 insertions(+), 70 deletions(-) diff --git a/docker/centos7/build_h3_tools.sh b/docker/centos7/build_h3_tools.sh index b1b01d8..d05b98f 100644 --- a/docker/centos7/build_h3_tools.sh +++ b/docker/centos7/build_h3_tools.sh @@ -19,6 +19,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -e # This is a slightly modified version of: @@ -31,12 +32,12 @@ # versions of these over time. # # * It also doesn't run sudo since the Dockerfile will run this as root. - - -set -e +# +# * It also doesn't use a mktemp since the caller sets up a temporary directory +# that it later removes. # Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1t+quic"} +OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} # Set these, if desired, to change these to your preferred installation # directory @@ -45,10 +46,8 @@ OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"} OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"} MAKE="make" -# These are for Linux like systems, specially the LDFLAGS, also depends on dirs above CFLAGS=${CFLAGS:-"-O3 -g"} CXXFLAGS=${CXXFLAGS:-"-O3 -g"} -LDFLAGS=${LDFLAGS:-"-Wl,-rpath,${OPENSSL_PREFIX}/lib"} if [ -e /etc/redhat-release ]; then MAKE="gmake" @@ -79,6 +78,14 @@ elif [ -e /etc/debian_version ]; then echo fi +if [ `uname -s` = "Darwin" ]; then +echo "+-+" +echo "| When building on a Mac, be aware that the Apple version of clang may|" +echo "| fail to build curl due to the issue described here: |" +echo "| https://github.com/curl/curl/issues/11391#issuecomment-1623890325 |" +echo "+-+" +fi + if [ -z ${QUICHE_BSSL_PATH+x} ]; then QUICHE_BSSL_PATH=${TMP_QUICHE_BSSL_PATH:-"${BASE}/boringssl/lib"} fi @@ -87,6 +94,9 @@ set -x if [ `uname -s` = "Linux" ] then num_threads=$(nproc) +elif [ `uname -s` = "FreeBSD" ] +then + num_threads=$(sysctl -n hw.ncpu) else # MacOS. num_threads=$(sysctl -n hw.logicalcpu) @@ -98,7 +108,7 @@ echo "Building boringssl..." # We need this go version. mkdir -p ${BASE}/go -if [ `uname -m` = "arm64" ]; then +if [ `uname -m` = "arm64" -o `uname -m` = "aarch64" ]; then ARCH="arm64" else ARCH="amd64" @@ -106,32 +116,35 @@ fi if [ `uname -s` = "Darwin" ]; then OS="darwin" +elif [ `uname -s` = "FreeBSD" ]; then +OS="freebsd" else OS="linux" fi -wget https://go.dev/dl/go1.20.1.${OS}-${ARCH}.tar.gz -rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.20.1.${OS}-${ARCH}.tar.gz -rm go1.20.1.${OS}-${ARCH}.tar.gz +wget https://go.dev/dl/go1.21.6.${OS}-${ARCH}.tar.gz +rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.6.${OS}-${ARCH}.tar.gz +rm go1.21.6.${OS}-${ARCH}.tar.gz +chmod -R a+rX ${BASE} GO_BINARY_PATH=${BASE}/go/bin/go if [ ! -d boringssl ]; then git clone https://boringssl.googlesource.com/boringssl cd boringssl - git checkout 31bad2514d21f6207f3925ba56754611c462a873 + git checkout a1843d660b47116207877614af53defa767be46a cd .. fi cd boringssl -mkdir -p build -cd build cmake \ + -B build \ -DGO_EXECUTABLE=${GO_BINARY_PATH} \ -DCMAKE_INSTALL_PREFIX=${BASE}/boringssl \ -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=1 ../ - -${MAKE} -j ${num_threads} -${MAKE} install + -DCMAKE_CXX_FLAGS='-Wno-error=ignored-attributes' \ + -DBUILD_SHARED_LIBS=1 +cmake --build build -j ${num_threads} +cmake --install build +chmod -R a+rX ${BASE} cd .. # Build quiche @@ -145,7 +158,7 @@ source /root/.cargo/env QUICHE_BASE="${BASE:-/opt}/quiche" [ ! -d quiche ] && git clone --recursive https://github.com/cloudflare/quiche.git cd quiche -git checkout 0b37da1cc564e40749ba650febd
(trafficserver-ci) branch main updated: Clean up unused docker file and image references (#326)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 880dc9a Clean up unused docker file and image references (#326) 880dc9a is described below commit 880dc9a9eb4212f664f53956f07358c2b09d60ad Author: Brian Neradt AuthorDate: Fri Mar 22 12:43:52 2024 -0500 Clean up unused docker file and image references (#326) fedora:32 is long since dead, and so is centos:6. Cleaning up the noise in our lists. We can always git revert if we need them back for some reason. --- bin/centos6.sh | 3 - bin/centos8.sh | 3 - bin/pull-all.sh | 7 +- bin/push-all.sh | 7 +- docker/alma/Dockerfile | 38 docker/alma/build_h3_tools.sh | 172 docker/centos8/Dockerfile | 90 --- docker/centos8/build_h3_tools.sh| 172 docker/centos8/install_abi_tools.sh | 1 - docker/fedora32/Dockerfile | 76 docker/fedora32/build_h3_tools.sh | 172 docker/fedora35/Dockerfile | 74 docker/fedora35/build_h3_tools.sh | 172 docker/fedora36/Dockerfile | 74 docker/fedora36/build_h3_tools.sh | 172 docker/fedora37/Dockerfile | 74 docker/fedora37/build_h3_tools.sh | 172 17 files changed, 4 insertions(+), 1475 deletions(-) diff --git a/bin/centos6.sh b/bin/centos6.sh deleted file mode 100755 index 22f2d46..000 --- a/bin/centos6.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -docker run -v /home:/home -v /CA:/CA -v /var/tmp/ccache:/var/tmp/ccache -i -t ci.trafficserver.apache.org/ats/centos:6 /bin/bash diff --git a/bin/centos8.sh b/bin/centos8.sh deleted file mode 100755 index b49f8a6..000 --- a/bin/centos8.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -docker run -v /home:/home -v /CA:/CA -v /var/tmp/ccache:/var/tmp/ccache -i -t ci.trafficserver.apache.org/ats/centos:8 /bin/bash diff --git a/bin/pull-all.sh b/bin/pull-all.sh index 9188cd4..7e9dcbd 100755 --- a/bin/pull-all.sh +++ b/bin/pull-all.sh @@ -1,16 +1,13 @@ #!/bin/sh -docker pull ci.trafficserver.apache.org/ats/fedora:33 -docker pull ci.trafficserver.apache.org/ats/fedora:32 -docker pull ci.trafficserver.apache.org/ats/fedora:31 +docker pull ci.trafficserver.apache.org/ats/fedora:38 +docker pull ci.trafficserver.apache.org/ats/fedora:39 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.10 docker pull ci.trafficserver.apache.org/ats/ubuntu:20.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:19.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:18.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:16.04 docker pull ci.trafficserver.apache.org/ats/ubuntu:14.04 -docker pull ci.trafficserver.apache.org/ats/centos:8 docker pull ci.trafficserver.apache.org/ats/centos:7 -docker pull ci.trafficserver.apache.org/ats/centos:6 docker pull ci.trafficserver.apache.org/ats/debian:9 docker pull ci.trafficserver.apache.org/ats/debian:8 diff --git a/bin/push-all.sh b/bin/push-all.sh index c6bdec7..cea2c49 100755 --- a/bin/push-all.sh +++ b/bin/push-all.sh @@ -1,16 +1,13 @@ #!/bin/sh -docker push ci.trafficserver.apache.org/ats/fedora:33 -docker push ci.trafficserver.apache.org/ats/fedora:32 -docker push ci.trafficserver.apache.org/ats/fedora:31 +docker push ci.trafficserver.apache.org/ats/fedora:38 +docker push ci.trafficserver.apache.org/ats/fedora:39 docker push ci.trafficserver.apache.org/ats/ubuntu:20.10 docker push ci.trafficserver.apache.org/ats/ubuntu:20.04 docker push ci.trafficserver.apache.org/ats/ubuntu:19.04 docker push ci.trafficserver.apache.org/ats/ubuntu:18.04 docker push ci.trafficserver.apache.org/ats/ubuntu:16.04 docker push ci.trafficserver.apache.org/ats/ubuntu:14.04 -docker push ci.trafficserver.apache.org/ats/centos:8 docker push ci.trafficserver.apache.org/ats/centos:7 -docker push ci.trafficserver.apache.org/ats/centos:6 docker push ci.trafficserver.apache.org/ats/debian:9 docker push ci.trafficserver.apache.org/ats/debian:8 diff --git a/docker/alma/Dockerfile b/docker/alma/Dockerfile deleted file mode 100644 index 0cea7d1..000 --- a/docker/alma/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM almalinux/almalinux:8 - -RUN yum -y install epel-release dnf-plugins-core; yum config-manager --set-enabled powertools; yum repolist; \ - -yum -y update; \ -# Compilers -yum -y install ccache make pkgconfig bison flex gcc-c++ clang \ -# Autoconf -autoconf automake libtool \ -# Various other tools -git rpm-build
(trafficserver) 01/01: Merge latest ASF master into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit d1bb631652275a02403526c49b2a5bf2af8af2f7 Merge: b4879978bb 57159d6a6f Author: bneradt AuthorDate: Fri Mar 22 12:24:00 2024 -0500 Merge latest ASF master into 11-Dev cmake/add_atsplugin.cmake | 6 +- example/cripts/example1.cc | 1 + include/cripts/Connections.hpp | 44 ++- include/mgmt/rpc/jsonrpc/json/YAMLCodec.h | 9 +- include/tscore/ink_queue.h | 8 +- lib/swoc/CMakeLists.txt | 2 +- lib/swoc/include/swoc/swoc_version.h| 4 +- src/iocore/cache/CMakeLists.txt | 1 + src/iocore/cache/P_CacheVol.h | 5 +- src/iocore/cache/unit_tests/test_Stripe.cc | 159 src/iocore/net/SSLDiags.cc | 6 + src/proxy/hdrs/CMakeLists.txt | 4 +- tests/gold_tests/timeout/active_timeout.test.py | 2 +- tools/build_h3_tools.sh | 14 +-- 14 files changed, 237 insertions(+), 28 deletions(-)
(trafficserver) branch 11-Dev updated (b4879978bb -> d1bb631652)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from b4879978bb Merge latest master into 11-Dev add 4c0bcfe9ca Test failure checks for Stripe::add_writer (#11160) add e978a57f10 Adds a conn.mark= operation for a connection (#11159) add 4681638c04 CID1508922 - Fix Uncaught exception. (#11166) add 5bc041246f Version update: libswoc 1.5.11 (#11177) add a0c216f677 Fix external libswoc builds (#11179) add 0e274361b4 SSL Diags - Use boringssl API to fetch the proper error description. (#11176) add fa68c156e9 H3 - Update QUIC test to use hostname instead of numeric address. (#11175) add 60d038cd80 Work around a GCC bug for __sync_val_compare_and_swap on ARMv8.1+ (#11147) add 57159d6a6f H3 deps build script update. (#11174) new d1bb631652 Merge latest ASF master into 11-Dev The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: cmake/add_atsplugin.cmake | 6 +- example/cripts/example1.cc | 1 + include/cripts/Connections.hpp | 44 ++- include/mgmt/rpc/jsonrpc/json/YAMLCodec.h | 9 +- include/tscore/ink_queue.h | 8 +- lib/swoc/CMakeLists.txt | 2 +- lib/swoc/include/swoc/swoc_version.h| 4 +- src/iocore/cache/CMakeLists.txt | 1 + src/iocore/cache/P_CacheVol.h | 5 +- src/iocore/cache/unit_tests/test_Stripe.cc | 159 src/iocore/net/SSLDiags.cc | 6 + src/proxy/hdrs/CMakeLists.txt | 4 +- tests/gold_tests/timeout/active_timeout.test.py | 2 +- tools/build_h3_tools.sh | 14 +-- 14 files changed, 237 insertions(+), 28 deletions(-) create mode 100644 src/iocore/cache/unit_tests/test_Stripe.cc
(trafficserver-ci) branch main updated: Fixing how LIBSWOC_VERSION is grepped (#325)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new f93ba10 Fixing how LIBSWOC_VERSION is grepped (#325) f93ba10 is described below commit f93ba103ee85b3ae9c7e28303e816a0c843b269f Author: Brian Neradt AuthorDate: Thu Mar 21 17:43:35 2024 -0500 Fixing how LIBSWOC_VERSION is grepped (#325) --- jenkins/github/rocky.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/rocky.pipeline b/jenkins/github/rocky.pipeline index 2f5b3ac..e60e934 100644 --- a/jenkins/github/rocky.pipeline +++ b/jenkins/github/rocky.pipeline @@ -68,7 +68,7 @@ pipeline { if [ -d cmake ] then # Retrieve the libswoc version we use in ATS. -swoc_version=$(awk '/set\(LIBSWOC_VERSION/ {print $NF}' lib/swoc/CMakeLists.txt | tr -d ')"') +swoc_version=$(awk '/LIBSWOC_VERSION/ {print $NF; exit}' lib/swoc/CMakeLists.txt | tr -d '")') pushd /var/tmp git clone https://github.com/apache/trafficserver-libswoc.git
(trafficserver-ci) branch main updated: Build libswoc out of source for rocky PR builds (#324)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 9db21ed Build libswoc out of source for rocky PR builds (#324) 9db21ed is described below commit 9db21ed09724304ec9cb349fbaf120d1a5778c45 Author: Brian Neradt AuthorDate: Thu Mar 21 17:15:27 2024 -0500 Build libswoc out of source for rocky PR builds (#324) --- jenkins/github/rocky.pipeline | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/jenkins/github/rocky.pipeline b/jenkins/github/rocky.pipeline index f2493c2..2f5b3ac 100644 --- a/jenkins/github/rocky.pipeline +++ b/jenkins/github/rocky.pipeline @@ -67,7 +67,23 @@ pipeline { if [ -d cmake ] then -cmake -B build --preset ci-rocky +# Retrieve the libswoc version we use in ATS. +swoc_version=$(awk '/set\(LIBSWOC_VERSION/ {print $NF}' lib/swoc/CMakeLists.txt | tr -d ')"') + +pushd /var/tmp +git clone https://github.com/apache/trafficserver-libswoc.git +pushd trafficserver-libswoc +git checkout ${swoc_version} +pipenv install +pipenv run scons -j`nproc` all +popd +popd + libswoc_dir=/var/tmp/trafficserver-libswoc/_install/debug_posix-$(uname -m)_default + +# Now build ATS, using the external libswoc. +PKG_CONFIG_PATH=${libswoc_dir}/lib/pkgconfig \ +cmake -B build --preset ci-rocky \ + -DEXTERNAL_LIBSWOC=ON -Dlibswoc_ROOT=${libswoc_dir} cmake --build build -v cmake --install build pushd build
(trafficserver) branch master updated: Fix external libswoc builds (#11179)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new a0c216f677 Fix external libswoc builds (#11179) a0c216f677 is described below commit a0c216f6771ab3f4cfc77127b09fe9eafca93acc Author: Brian Neradt AuthorDate: Thu Mar 21 16:52:01 2024 -0500 Fix external libswoc builds (#11179) This fixes builds against external libswoc rather than the local ATS lib/swoc code. --- cmake/add_atsplugin.cmake | 6 -- src/proxy/hdrs/CMakeLists.txt | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/add_atsplugin.cmake b/cmake/add_atsplugin.cmake index dae6a4c027..1412ebb8b4 100644 --- a/cmake/add_atsplugin.cmake +++ b/cmake/add_atsplugin.cmake @@ -23,8 +23,10 @@ function(add_atsplugin name) target_link_libraries(${name} PRIVATE ts::tsapi ts::tsutil) else() target_include_directories( - ${name} PRIVATE "$" - "$" + ${name} + PRIVATE "$" + "$" + "$" ) endif() set_target_properties(${name} PROPERTIES PREFIX "") diff --git a/src/proxy/hdrs/CMakeLists.txt b/src/proxy/hdrs/CMakeLists.txt index 9c3a2fb53f..34f4c2715f 100644 --- a/src/proxy/hdrs/CMakeLists.txt +++ b/src/proxy/hdrs/CMakeLists.txt @@ -51,11 +51,11 @@ if(BUILD_TESTING) unit_tests/test_URL.cc unit_tests/unit_test_main.cc ) - target_link_libraries(test_proxy_hdrs PRIVATE ts::hdrs ts::tscore ts::inkevent catch2::catch2) + target_link_libraries(test_proxy_hdrs PRIVATE ts::hdrs ts::tscore ts::inkevent libswoc::libswoc catch2::catch2) add_test(NAME test_proxy_hdrs COMMAND test_proxy_hdrs) add_executable(test_proxy_hdrs_xpack unit_tests/test_XPACK.cc) - target_link_libraries(test_proxy_hdrs_xpack PRIVATE ts::hdrs ts::tscore ts::tsutil libswoc catch2::catch2) + target_link_libraries(test_proxy_hdrs_xpack PRIVATE ts::hdrs ts::tscore ts::tsutil libswoc::libswoc catch2::catch2) add_test(NAME test_proxy_hdrs_xpack COMMAND test_proxy_hdrs_xpack) endif()
(trafficserver) branch master updated: Version update: libswoc 1.5.11 (#11177)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 5bc041246f Version update: libswoc 1.5.11 (#11177) 5bc041246f is described below commit 5bc041246fb71e3ef3feb76511e6a9145dda44d8 Author: Brian Neradt AuthorDate: Thu Mar 21 16:45:11 2024 -0500 Version update: libswoc 1.5.11 (#11177) I pulled in our ATS libswoc patches into apache/trafficserver-libswoc and cut a 1.5.11 release with that. This updates just the version we have internally to match that release. The code between both ATS libswoc and trafficserver-libswoc are now identical with 1.5.11 --- lib/swoc/CMakeLists.txt | 2 +- lib/swoc/include/swoc/swoc_version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/swoc/CMakeLists.txt b/lib/swoc/CMakeLists.txt index 5d877aeb63..3191524982 100644 --- a/lib/swoc/CMakeLists.txt +++ b/lib/swoc/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.11) project(Lib-SWOC CXX) -set(LIBSWOC_VERSION "1.5.5") +set(LIBSWOC_VERSION "1.5.11") set(CMAKE_CXX_STANDARD 17) cmake_policy(SET CMP0087 NEW) # override "lib64" to be "lib" unless the user explicitly sets it. diff --git a/lib/swoc/include/swoc/swoc_version.h b/lib/swoc/include/swoc/swoc_version.h index c51c2a4481..fd0c752eca 100644 --- a/lib/swoc/include/swoc/swoc_version.h +++ b/lib/swoc/include/swoc/swoc_version.h @@ -23,11 +23,11 @@ #pragma once #if !defined(SWOC_VERSION_NS) -#define SWOC_VERSION_NS _1_5_9 +#define SWOC_VERSION_NS _1_5_11 #endif namespace swoc { inline namespace SWOC_VERSION_NS { static constexpr unsigned MAJOR_VERSION = 1; static constexpr unsigned MINOR_VERSION = 5; -static constexpr unsigned POINT_VERSION = 9; +static constexpr unsigned POINT_VERSION = 11; }} // namespace swoc::SWOC_VERSION_NS
(trafficserver-libswoc) branch master updated: Update to 1.5.12
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git The following commit(s) were added to refs/heads/master by this push: new 7df56ee Update to 1.5.12 7df56ee is described below commit 7df56ee4a85bb49069853536d7daf978a76120ae Author: Brian Neradt AuthorDate: Thu Mar 21 16:25:12 2024 + Update to 1.5.12 --- code/CMakeLists.txt | 2 +- code/include/swoc/swoc_version.h | 4 ++-- code/libswoc.part| 2 +- doc/Doxyfile | 2 +- doc/code/TextView.en.rst | 4 ++-- doc/code/ip_networking.en.rst| 2 +- doc/conf.py | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 7094e80..e8b8406 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.11) project(Lib-SWOC CXX) -set(LIBSWOC_VERSION "1.5.11") +set(LIBSWOC_VERSION "1.5.12") set(CMAKE_CXX_STANDARD 17) cmake_policy(SET CMP0087 NEW) # override "lib64" to be "lib" unless the user explicitly sets it. diff --git a/code/include/swoc/swoc_version.h b/code/include/swoc/swoc_version.h index fd0c752..e346be1 100644 --- a/code/include/swoc/swoc_version.h +++ b/code/include/swoc/swoc_version.h @@ -23,11 +23,11 @@ #pragma once #if !defined(SWOC_VERSION_NS) -#define SWOC_VERSION_NS _1_5_11 +#define SWOC_VERSION_NS _1_5_12 #endif namespace swoc { inline namespace SWOC_VERSION_NS { static constexpr unsigned MAJOR_VERSION = 1; static constexpr unsigned MINOR_VERSION = 5; -static constexpr unsigned POINT_VERSION = 11; +static constexpr unsigned POINT_VERSION = 12; }} // namespace swoc::SWOC_VERSION_NS diff --git a/code/libswoc.part b/code/libswoc.part index b359d23..10c0aea 100644 --- a/code/libswoc.part +++ b/code/libswoc.part @@ -1,6 +1,6 @@ Import("*") PartName("libswoc") -PartVersion("1.5.11") +PartVersion("1.5.12") src_files = [ "src/ArenaWriter.cc", diff --git a/doc/Doxyfile b/doc/Doxyfile index dde7bbd..7a70d38 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "LibSWOC++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.5.11" +PROJECT_NUMBER = "1.5.12" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/code/TextView.en.rst b/doc/code/TextView.en.rst index 309ae44..44e5c1d 100644 --- a/doc/code/TextView.en.rst +++ b/doc/code/TextView.en.rst @@ -366,7 +366,7 @@ for values that are boolean. .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_TextView.cc#L73>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_TextView.cc#L73>`__. The basic list processing is the same as the previous example, extracting each comma separated element. The resulting element is treated as a "list" with ``=`` as the separator. Note if there is @@ -418,7 +418,7 @@ do not, so a flag to strip quotes from the resulting elements is needed. The fin .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_TextView.cc#L90>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_TextView.cc#L90>`__. This takes a :code:`TextView&` which is the source view which will be updated as tokens are removed (therefore the caller must do the empty view check). The other arguments are the separator character diff --git a/doc/code/ip_networking.en.rst b/doc/code/ip_networking.en.rst index dddbd44..e50611a 100644 --- a/doc/code/ip_networking.en.rst +++ b/doc/code/ip_networking.en.rst @@ -265,7 +265,7 @@ Blending Bitsets Some details are omitted for brevity and because they aren't directly relevant. The full implementation, which is run as a unit test to verify its correctness, - `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_ipspace_properties.cc>`__. + `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.12/unit_tests/ex_ipspace_properties.cc>`__. You can compile and step through the code to see how it works in more detail, or experiment with changing some of the example data. diff --git a/doc/conf.py b/doc/conf.py index 9f65972..1507e46 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -79,7 +79,7 @@ project = u'Solid Wall Of C++' copyright = u'{}, a...@apache.org'.format(date.today().year) # The full version, including alpha/beta/rc tags. -release = "1.5.11" +release = "1.5.12" # The short X.Y version. version = '.'.join(release.split('.', 2)[:2])
(trafficserver-libswoc) annotated tag 1.5.11 updated (3fa02cb -> 64cac20)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to annotated tag 1.5.11 in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git *** WARNING: tag 1.5.11 was modified! *** from 3fa02cb (commit) to 64cac20 (tag) tagging 3fa02cb101a86e04d0ab54f7cba6edb3fcad475e (commit) replaces 1.5.10 by Brian Neradt on Thu Mar 21 16:23:36 2024 + - Log - Fix port from ATS. --- No new revisions were added by this update. Summary of changes:
(trafficserver-libswoc) branch master updated: Fix port from ATS.
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git The following commit(s) were added to refs/heads/master by this push: new 3fa02cb Fix port from ATS. 3fa02cb is described below commit 3fa02cb101a86e04d0ab54f7cba6edb3fcad475e Author: Brian Neradt AuthorDate: Thu Mar 21 16:19:45 2024 + Fix port from ATS. A few patches didn't come over correctly when I ported in the ATS patches. I verified that with this patch, the source code is now identical with the ATS version. --- code/include/swoc/IPRange.h | 8 +++- code/include/swoc/IntrusiveHashMap.h | 9 + code/include/swoc/TextView.h | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/include/swoc/IPRange.h b/code/include/swoc/IPRange.h index 547afdb..b09b879 100644 --- a/code/include/swoc/IPRange.h +++ b/code/include/swoc/IPRange.h @@ -1985,7 +1985,13 @@ IPRangeView::clear() -> self_type & { inline bool IPRangeView::empty() const { - return AF_INET6 == _family ? _raw._6->empty() : AF_INET == _family ? _raw._4->empty() : true; + if (AF_INET6 == _family) { +return _raw._6->empty(); + } else if (AF_INET == _family) { +return _raw._4->empty(); + } else { +return true; + } } inline bool diff --git a/code/include/swoc/IntrusiveHashMap.h b/code/include/swoc/IntrusiveHashMap.h index 201f093..4bbe3b6 100644 --- a/code/include/swoc/IntrusiveHashMap.h +++ b/code/include/swoc/IntrusiveHashMap.h @@ -514,6 +514,15 @@ IntrusiveHashMap::insert(value_type *v) { if (spot != bucket->_v) { mixed_p = true; // found some other key, it's going to be mixed. } +if (spot != limit) { + // If an equal key was found, walk past those to insert at the upper end of the range. + do { +spot = H::next_ptr(spot); + } while (spot != limit && H::equal(key, H::key_of(spot))); + if (spot != limit) { // something not equal past last equivalent, it's going to be mixed. +mixed_p = true; + } +} _list.insert_before(spot, v); if (spot == bucket->_v) { // added before the bucket start, update the start. diff --git a/code/include/swoc/TextView.h b/code/include/swoc/TextView.h index 01ddb65..9e914c8 100644 --- a/code/include/swoc/TextView.h +++ b/code/include/swoc/TextView.h @@ -1384,7 +1384,7 @@ TextView::suffix(int n) const noexcept { inline TextView TextView::suffix_at(char c) const { self_type zret; - if (auto n = this->rfind(c); n != npos) { + if (auto n = this->rfind(c); n != npos && n + 1 < this->size()) { ++n; zret.assign(this->data() + n, this->size() - n); }
(trafficserver-libswoc) branch master updated: Update to 1.5.11 (#2)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git The following commit(s) were added to refs/heads/master by this push: new 48eee01 Update to 1.5.11 (#2) 48eee01 is described below commit 48eee019fdc2b4bda3095d788ee77d5ec84387f7 Author: Brian Neradt AuthorDate: Tue Mar 19 14:44:39 2024 -0500 Update to 1.5.11 (#2) --- code/CMakeLists.txt | 2 +- code/include/swoc/swoc_version.h | 4 ++-- code/libswoc.part| 2 +- doc/Doxyfile | 2 +- doc/code/TextView.en.rst | 4 ++-- doc/code/ip_networking.en.rst| 2 +- doc/conf.py | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index f4361be..7094e80 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.11) project(Lib-SWOC CXX) -set(LIBSWOC_VERSION "1.5.10") +set(LIBSWOC_VERSION "1.5.11") set(CMAKE_CXX_STANDARD 17) cmake_policy(SET CMP0087 NEW) # override "lib64" to be "lib" unless the user explicitly sets it. diff --git a/code/include/swoc/swoc_version.h b/code/include/swoc/swoc_version.h index 744ea0d..fd0c752 100644 --- a/code/include/swoc/swoc_version.h +++ b/code/include/swoc/swoc_version.h @@ -23,11 +23,11 @@ #pragma once #if !defined(SWOC_VERSION_NS) -#define SWOC_VERSION_NS _1_5_10 +#define SWOC_VERSION_NS _1_5_11 #endif namespace swoc { inline namespace SWOC_VERSION_NS { static constexpr unsigned MAJOR_VERSION = 1; static constexpr unsigned MINOR_VERSION = 5; -static constexpr unsigned POINT_VERSION = 10; +static constexpr unsigned POINT_VERSION = 11; }} // namespace swoc::SWOC_VERSION_NS diff --git a/code/libswoc.part b/code/libswoc.part index b9ea9e6..b359d23 100644 --- a/code/libswoc.part +++ b/code/libswoc.part @@ -1,6 +1,6 @@ Import("*") PartName("libswoc") -PartVersion("1.5.10") +PartVersion("1.5.11") src_files = [ "src/ArenaWriter.cc", diff --git a/doc/Doxyfile b/doc/Doxyfile index 258e0bf..dde7bbd 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "LibSWOC++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.5.10" +PROJECT_NUMBER = "1.5.11" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/code/TextView.en.rst b/doc/code/TextView.en.rst index 8a4ad9a..309ae44 100644 --- a/doc/code/TextView.en.rst +++ b/doc/code/TextView.en.rst @@ -366,7 +366,7 @@ for values that are boolean. .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.10/unit_tests/ex_TextView.cc#L73>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_TextView.cc#L73>`__. The basic list processing is the same as the previous example, extracting each comma separated element. The resulting element is treated as a "list" with ``=`` as the separator. Note if there is @@ -418,7 +418,7 @@ do not, so a flag to strip quotes from the resulting elements is needed. The fin .. sidebar:: Verification - `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.10/unit_tests/ex_TextView.cc#L90>`__. + `Test code for example <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_TextView.cc#L90>`__. This takes a :code:`TextView&` which is the source view which will be updated as tokens are removed (therefore the caller must do the empty view check). The other arguments are the separator character diff --git a/doc/code/ip_networking.en.rst b/doc/code/ip_networking.en.rst index 13a02b5..dddbd44 100644 --- a/doc/code/ip_networking.en.rst +++ b/doc/code/ip_networking.en.rst @@ -265,7 +265,7 @@ Blending Bitsets Some details are omitted for brevity and because they aren't directly relevant. The full implementation, which is run as a unit test to verify its correctness, - `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.10/unit_tests/ex_ipspace_properties.cc>`__. + `is available here <https://github.com/SolidWallOfCode/libswoc/blob/1.5.11/unit_tests/ex_ipspace_properties.cc>`__. You can compile and step through the code to see how it works in more detail, or experiment with changing some of the example data. diff --git a/doc/conf.py b/doc/conf.py index d937c48..9f65972 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -79,7 +79,7 @@ project = u'Solid Wall Of C++' copyright = u'{}, a...@apache.org'.format(date.tod
(trafficserver) branch 11-Dev updated (bf54760629 -> b4879978bb)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from bf54760629 remove support for session id based session resumption (#11157) add 9012706b4d Fix validation regex for http.connect_ports (#11149) add 5d6f2f6c05 Fix a couple misspellings (#11137) add d733ed0eea [Fuzzing] Add fuzzing harness for `HTTP3Frame` (#11128) add 1c37f7ab7e cmake: Link pcre2 to src/api (#11120) add 1f066251ac CID1534729: txnbox - avoid copying object. (#11134) add 9387ed65cd CID1534716: use after move on txn_box ip_space module. (#11133) add ab95203602 libsowc - remove legacy Errata. (#10986) add b0dc506fb4 install tsutil files even if tsutil is static (#11141) add a1427c82a7 set CMAKE_HOST for TS_BUILD_CANONICAL_HOST (#11154) add 0bde81a7fa Fix asan and valgrind issue with libswoc unit test (#11138) add b7e33af35f Fixed asan issue for test_AIO when an argument wasn't set on the command line (#11139) add 9cec2633f1 Move Doc struct to Doc.h (#11026) add 62eb17c107 Fix a build error (#11162) add 0b813fdfb9 Add ENABLE_CLANG_TIDY option (#11077) add 98e60108c8 Adds TSHttpTxnErrorBodyGet() corresponding to the Set (#11163) add b4f1fcacb9 Restore alignment for structs stored in cache (#11167) add e1e8e434d3 set compile definition to turn on maxminddb (#11169) add baaac08ff9 http3: Add missing declaration (#11145) new b4879978bb Merge latest master into 11-Dev The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CMakeLists.txt |4 + cmake/ClangTidy.cmake | 59 ++ cmake/add_atsplugin.cmake |1 + doc/admin-guide/files/records.yaml.en.rst |2 +- .../api/functions/TSHttpTxnErrorBodySet.en.rst | 21 + include/iocore/cache/CacheVC.h |1 + include/iocore/net/YamlSNIConfig.h |5 +- include/mgmt/config/FileManager.h | 22 +- include/mgmt/rpc/handlers/common/ErrorUtils.h | 22 +- include/mgmt/rpc/handlers/common/RecordsUtils.h|3 +- include/mgmt/rpc/handlers/config/Configuration.h |4 +- include/mgmt/rpc/handlers/plugins/Plugins.h|2 +- include/mgmt/rpc/handlers/records/Records.h| 16 +- include/mgmt/rpc/handlers/server/Server.h |4 +- include/mgmt/rpc/handlers/storage/Storage.h|4 +- include/mgmt/rpc/jsonrpc/Context.h |8 +- include/mgmt/rpc/jsonrpc/Defs.h| 11 +- include/mgmt/rpc/jsonrpc/JsonRPCManager.h |9 +- include/mgmt/rpc/jsonrpc/json/YAMLCodec.h | 14 +- include/mgmt/rpc/server/CommBase.h |2 +- include/mgmt/rpc/server/IPCSocketServer.h |4 +- include/proxy/hdrs/HTTP.h | 12 +- include/proxy/hdrs/HdrHeap.h |9 +- include/proxy/http3/Http3Transaction.h |3 + include/ts/ts.h| 10 + include/tscore/Errata.h| 1047 include/tsutil/ts_errata.h | 82 +- lib/swoc/include/swoc/Errata.h |1 + lib/swoc/unit_tests/ex_IntrusiveDList.cc |6 + lib/swoc/unit_tests/ex_MemArena.cc |3 + lib/swoc/unit_tests/test_IntrusiveDList.cc | 37 + lib/swoc/unit_tests/test_IntrusiveHashMap.cc | 13 +- lib/swoc/unit_tests/test_ip.cc |2 +- .../experimental/stale_response/stale_response.cc |2 +- .../experimental/txn_box/plugin/src/ip_space.cc|2 +- .../experimental/txn_box/plugin/src/text_block.cc |4 +- plugins/header_rewrite/CMakeLists.txt |1 + src/api/CMakeLists.txt |4 +- src/api/InkAPI.cc | 23 +- src/cripts/CMakeLists.txt |2 + src/iocore/aio/CMakeLists.txt |2 + src/iocore/aio/test_AIO.cc | 24 +- src/iocore/cache/CMakeLists.txt|2 + src/iocore/cache/Cache.cc |1 + src/iocore/cache/CacheDir.cc |1 + src/iocore/cache/CacheEvacuateDocVC.cc |1 + src/iocore/cache/CacheRead.cc |1 + src/iocore/cache/CacheVC.cc|1 + src/iocore/cache/CacheWrite.cc |1 + src/iocore/cache/P_CacheDir.h |2 + src/iocore/cache/P_CacheDoc.h
(trafficserver) 01/01: Merge latest master into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit b4879978bb5478bd633855ec520dbe4fb0b69cf6 Merge: bf54760629 baaac08ff9 Author: bneradt AuthorDate: Tue Mar 19 13:29:43 2024 -0500 Merge latest master into 11-Dev CMakeLists.txt |4 + cmake/ClangTidy.cmake | 59 ++ cmake/add_atsplugin.cmake |1 + doc/admin-guide/files/records.yaml.en.rst |2 +- .../api/functions/TSHttpTxnErrorBodySet.en.rst | 21 + include/iocore/cache/CacheVC.h |1 + include/iocore/net/YamlSNIConfig.h |5 +- include/mgmt/config/FileManager.h | 22 +- include/mgmt/rpc/handlers/common/ErrorUtils.h | 22 +- include/mgmt/rpc/handlers/common/RecordsUtils.h|3 +- include/mgmt/rpc/handlers/config/Configuration.h |4 +- include/mgmt/rpc/handlers/plugins/Plugins.h|2 +- include/mgmt/rpc/handlers/records/Records.h| 16 +- include/mgmt/rpc/handlers/server/Server.h |4 +- include/mgmt/rpc/handlers/storage/Storage.h|4 +- include/mgmt/rpc/jsonrpc/Context.h |8 +- include/mgmt/rpc/jsonrpc/Defs.h| 11 +- include/mgmt/rpc/jsonrpc/JsonRPCManager.h |9 +- include/mgmt/rpc/jsonrpc/json/YAMLCodec.h | 14 +- include/mgmt/rpc/server/CommBase.h |2 +- include/mgmt/rpc/server/IPCSocketServer.h |4 +- include/proxy/hdrs/HTTP.h | 12 +- include/proxy/hdrs/HdrHeap.h |9 +- include/proxy/http3/Http3Transaction.h |3 + include/ts/ts.h| 10 + include/tscore/Errata.h| 1047 include/tsutil/ts_errata.h | 82 +- lib/swoc/include/swoc/Errata.h |1 + lib/swoc/unit_tests/ex_IntrusiveDList.cc |6 + lib/swoc/unit_tests/ex_MemArena.cc |3 + lib/swoc/unit_tests/test_IntrusiveDList.cc | 37 + lib/swoc/unit_tests/test_IntrusiveHashMap.cc | 13 +- lib/swoc/unit_tests/test_ip.cc |2 +- .../experimental/stale_response/stale_response.cc |2 +- .../experimental/txn_box/plugin/src/ip_space.cc|2 +- .../experimental/txn_box/plugin/src/text_block.cc |4 +- plugins/header_rewrite/CMakeLists.txt |1 + src/api/CMakeLists.txt |4 +- src/api/InkAPI.cc | 23 +- src/cripts/CMakeLists.txt |2 + src/iocore/aio/CMakeLists.txt |2 + src/iocore/aio/test_AIO.cc | 24 +- src/iocore/cache/CMakeLists.txt|2 + src/iocore/cache/Cache.cc |1 + src/iocore/cache/CacheDir.cc |1 + src/iocore/cache/CacheEvacuateDocVC.cc |1 + src/iocore/cache/CacheRead.cc |1 + src/iocore/cache/CacheVC.cc|1 + src/iocore/cache/CacheWrite.cc |1 + src/iocore/cache/P_CacheDir.h |2 + src/iocore/cache/P_CacheDoc.h | 98 ++ src/iocore/cache/P_CacheInternal.h |1 + src/iocore/cache/P_CacheTest.h |1 + src/iocore/cache/P_CacheVol.h | 69 +- src/iocore/cache/Stripe.cc |1 + src/iocore/dns/CMakeLists.txt |2 + src/iocore/eventsystem/CMakeLists.txt |2 + src/iocore/hostdb/CMakeLists.txt |2 + src/iocore/io_uring/CMakeLists.txt |2 + src/iocore/net/CMakeLists.txt |2 + src/iocore/net/SSLSNIConfig.cc |4 +- src/iocore/net/YamlSNIConfig.cc| 14 +- src/iocore/net/quic/QUICTypes.cc |1 + src/iocore/net/unit_tests/test_YamlSNIConfig.cc| 10 +- src/iocore/utils/CMakeLists.txt|2 + src/mgmt/config/AddConfigFilesHere.cc |1 - src/mgmt/config/CMakeLists.txt |2 + src/mgmt/config/FileManager.cc | 45 +- src/mgmt/rpc/CMakeLists.txt| 16 +- src/mgmt/rpc/handlers/common/ErrorUtils.cc | 69 ++ src/mgmt/rpc/handlers/config/Configuration.cc | 22 +- src/mgmt/rpc/handlers/plugins/Plugins.cc |4 +- src/mgmt/rpc/handlers/records/Records.cc | 10 +- src/mgmt/rpc/handlers/server/Server.cc | 14 +- src/mgmt/rpc/handlers/storage/Storage.cc | 16 +- src/mgmt
(trafficserver-libswoc) annotated tag 1.5.10 updated (5914a47 -> e2a6f3e)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to annotated tag 1.5.10 in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git *** WARNING: tag 1.5.10 was modified! *** from 5914a47 (commit) to e2a6f3e (tag) tagging 5914a4759bf5c77cd2edfe3a81ba906a4e9c6c63 (commit) by Brian Neradt on Tue Mar 19 18:27:40 2024 + - Log - This contains the following commits from apache/trafficserver: * 0bde81a7f Fix asan and valgrind issue with libswoc unit test (#11138) * ab9520360 libsowc - remove legacy Errata. (#10986) * 7f32f4eba test_ip: add iterator temporary for gcc release builds (#11124) * 20bae7ff5 Add libswoc unit tests (#11106) * c7b4151e9 IPRange.h: resolve compiler error about dangling pointer to temporary (#11090) * bd2c5c274 Change the constructor for LocalBufferWriter to be noexcept (#11059) * dc8d76135 restore IntrusiveHashMap insert code to tscore (#10992) * dc4dc3578 Fix problem with the negation (#10971) --- No new revisions were added by this update. Summary of changes:
(trafficserver-libswoc) 04/06: test_ip: add iterator temporary for gcc release builds (#11124)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit b5058b709a3eb255e8083bc51005f897d6f671a8 Author: Brian Neradt AuthorDate: Tue Mar 19 18:11:29 2024 + test_ip: add iterator temporary for gcc release builds (#11124) (cherry picked from commit 7f32f4eba4c023971bbdd3e6d448480d3922a5d0) --- unit_tests/test_ip.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_ip.cc b/unit_tests/test_ip.cc index 28291b5..f848978 100644 --- a/unit_tests/test_ip.cc +++ b/unit_tests/test_ip.cc @@ -1252,7 +1252,8 @@ TEST_CASE("IPSpace Edge", "[libswoc][ipspace][edge]") { auto = *spot; auto = get<1>(v1); - if (auto &&[r, p] = *(cspace.find(a1)); !r.empty()) { + auto const iter = cspace.find(a1); + if (auto &&[r, p] = *iter; !r.empty()) { static_assert(std::is_same_v); IPRange rr = r; swoc::IPRangeView rvv{r};
(trafficserver-libswoc) 05/06: libsowc - remove legacy Errata. (#10986)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 3b4529676e83a7851db00458bc823700f549ed57 Author: Brian Neradt AuthorDate: Tue Mar 19 18:15:08 2024 + libsowc - remove legacy Errata. (#10986) (cherry picked from commit ab952036020bb2ba15a69caaec362719f209e16b) --- code/include/swoc/Errata.h | 1 + 1 file changed, 1 insertion(+) diff --git a/code/include/swoc/Errata.h b/code/include/swoc/Errata.h index 6ee0be5..fff9e17 100644 --- a/code/include/swoc/Errata.h +++ b/code/include/swoc/Errata.h @@ -1544,4 +1544,5 @@ get(swoc::Rv const ) { throw std::domain_error("Errata index value out of bounds"); } /// @endcond + }} // namespace swoc::SWOC_VERSION_NS
(trafficserver-libswoc) 02/06: restore IntrusiveHashMap insert code to tscore (#10992)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 208af5fc6c67cd1648db4e4cf3a3cf9284482976 Author: Brian Neradt AuthorDate: Tue Mar 19 17:55:02 2024 + restore IntrusiveHashMap insert code to tscore (#10992) (cherry picked from commit dc8d761352ef6aecb106d4b160d2583a5591d36e) --- code/include/swoc/IntrusiveHashMap.h | 9 - 1 file changed, 9 deletions(-) diff --git a/code/include/swoc/IntrusiveHashMap.h b/code/include/swoc/IntrusiveHashMap.h index 4bbe3b6..201f093 100644 --- a/code/include/swoc/IntrusiveHashMap.h +++ b/code/include/swoc/IntrusiveHashMap.h @@ -514,15 +514,6 @@ IntrusiveHashMap::insert(value_type *v) { if (spot != bucket->_v) { mixed_p = true; // found some other key, it's going to be mixed. } -if (spot != limit) { - // If an equal key was found, walk past those to insert at the upper end of the range. - do { -spot = H::next_ptr(spot); - } while (spot != limit && H::equal(key, H::key_of(spot))); - if (spot != limit) { // something not equal past last equivalent, it's going to be mixed. -mixed_p = true; - } -} _list.insert_before(spot, v); if (spot == bucket->_v) { // added before the bucket start, update the start.
(trafficserver-libswoc) branch master updated (3e635a1 -> 5914a47)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git from 3e635a1 Update to 1.5.10 new 66f11ff Fix problem with the negation (#10971) new 208af5f restore IntrusiveHashMap insert code to tscore (#10992) new f8e0abc Change the constructor for LocalBufferWriter to be noexcept (#11059) new b5058b7 test_ip: add iterator temporary for gcc release builds (#11124) new 3b45296 libsowc - remove legacy Errata. (#10986) new 5914a47 Fix asan and valgrind issue with libswoc unit test (#11138) The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: code/include/swoc/BufferWriter.h | 10 -- code/include/swoc/Errata.h | 1 + code/include/swoc/IntrusiveHashMap.h | 9 - code/src/TextView.cc | 7 ++- unit_tests/ex_IntrusiveDList.cc | 6 ++ unit_tests/ex_MemArena.cc| 3 +++ unit_tests/test_IntrusiveDList.cc| 37 unit_tests/test_IntrusiveHashMap.cc | 13 - unit_tests/test_ip.cc| 5 +++-- 9 files changed, 76 insertions(+), 15 deletions(-)
(trafficserver-libswoc) 06/06: Fix asan and valgrind issue with libswoc unit test (#11138)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 5914a4759bf5c77cd2edfe3a81ba906a4e9c6c63 Author: Brian Neradt AuthorDate: Tue Mar 19 18:16:28 2024 + Fix asan and valgrind issue with libswoc unit test (#11138) (cherry picked from commit 0bde81a7fac7513ee19e0b6ce4f3c42cf27bc7ea) --- unit_tests/ex_IntrusiveDList.cc | 6 ++ unit_tests/ex_MemArena.cc | 3 +++ unit_tests/test_IntrusiveDList.cc | 37 + unit_tests/test_IntrusiveHashMap.cc | 13 - unit_tests/test_ip.cc | 2 +- 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/unit_tests/ex_IntrusiveDList.cc b/unit_tests/ex_IntrusiveDList.cc index 3c59a9e..a26f386 100644 --- a/unit_tests/ex_IntrusiveDList.cc +++ b/unit_tests/ex_IntrusiveDList.cc @@ -212,4 +212,10 @@ TEST_CASE("IntrusiveDList Inheritance", "[libswoc][IntrusiveDList][example]") { } REQUIRE(priv2_list.head()->payload() == "Item 1"); REQUIRE(priv2_list.tail()->payload() == "Item 23"); + + // Delete everything in priv_list. + priv_list.apply([](PrivateThing *thing) { delete thing; }); + + // Delete everything in priv2_list. + priv2_list.apply([](PrivateThing2 *thing) { delete thing; }); } diff --git a/unit_tests/ex_MemArena.cc b/unit_tests/ex_MemArena.cc index a6f7098..e0e9a03 100644 --- a/unit_tests/ex_MemArena.cc +++ b/unit_tests/ex_MemArena.cc @@ -221,4 +221,7 @@ TEST_CASE("MemArena example", "[libswoc][MemArena][example]") { REQUIRE(arena.contains(ihm)); REQUIRE(arena.contains(thing)); REQUIRE(arena.contains(thing->name.data())); + + // Call the destructor for the IntrusiveHashMap to free anything it allocated. + ihm->~Map(); }; diff --git a/unit_tests/test_IntrusiveDList.cc b/unit_tests/test_IntrusiveDList.cc index 51f57a0..96c3e6f 100644 --- a/unit_tests/test_IntrusiveDList.cc +++ b/unit_tests/test_IntrusiveDList.cc @@ -118,6 +118,7 @@ TEST_CASE("IntrusiveDList", "[libswoc][IntrusiveDList]") { list.append(thing); list.erase(list.tail()); + delete thing; // this deletes "two" REQUIRE(list.count() == 3); REQUIRE(list.tail() != nullptr); REQUIRE(list.tail()->_payload == "muddle"); @@ -126,6 +127,9 @@ TEST_CASE("IntrusiveDList", "[libswoc][IntrusiveDList]") { list.insert_before(list.end(), new Thing("trailer")); REQUIRE(list.count() == 4); REQUIRE(list.tail()->_payload == "trailer"); + + // Delete everything in list. + list.apply([](Thing *thing) { delete thing; }); } TEST_CASE("IntrusiveDList list prefix", "[libswoc][IntrusiveDList]") { @@ -174,6 +178,21 @@ TEST_CASE("IntrusiveDList list prefix", "[libswoc][IntrusiveDList]") { REQUIRE(list_rest.head()->_payload == "16"); REQUIRE(list.count() == 0); REQUIRE(list.head() == nullptr); + + // Delete everything in list. + list.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_1. + list_1.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_5. + list_5.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_most. + list_most.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_rest. + list_rest.apply([](Thing *thing) { delete thing; }); } TEST_CASE("IntrusiveDList list suffix", "[libswoc][IntrusiveDList]") { @@ -230,6 +249,21 @@ TEST_CASE("IntrusiveDList list suffix", "[libswoc][IntrusiveDList]") { REQUIRE(list.tail()->_payload == "20"); REQUIRE(list.nth(7)->_payload == "8"); REQUIRE(list.nth(17)->_payload == "18"); + + // Delete everything in list. + list.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_1. + list_1.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_5. + list_5.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_most. + list_most.apply([](Thing *thing) { delete thing; }); + + // Delete everything in list_rest. + list_rest.apply([](Thing *thing) { delete thing; }); } TEST_CASE("IntrusiveDList Extra", "[libswoc][IntrusiveDList]") { @@ -269,4 +303,7 @@ TEST_CASE("IntrusiveDList Extra", "[libswoc][IntrusiveDList]") { bwprint(tmp, "{}", idx); REQUIRE(spot->_payload == tmp); } + + // Delete everything in list. + list.apply([](Thing *thing) { delete thing; }); } diff --git a/unit_tests/test_IntrusiveHashMap.cc b/unit_tests/test_IntrusiveHashMap.cc index 1844ae3..e3fa247 100644 --- a/unit_tests/test_IntrusiveHashMap.cc +++ b/unit_tests/test_Intr
(trafficserver-libswoc) 01/06: Fix problem with the negation (#10971)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit 66f11ff19e237dc5aefaf7e923ce63697af60cd6 Author: Brian Neradt AuthorDate: Tue Mar 19 17:52:33 2024 + Fix problem with the negation (#10971) (cherry picked from commit dc4dc35780a923fbe8759994f481250b8486a505) --- code/src/TextView.cc | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/src/TextView.cc b/code/src/TextView.cc index fbfb343..5e6cd74 100644 --- a/code/src/TextView.cc +++ b/code/src/TextView.cc @@ -63,7 +63,12 @@ svtoi(TextView src, TextView *out, int base) { out->assign(start, parsed.data_end()); } if (neg) { -zret = -intmax_t(std::min(n, ABS_MIN)); +uintmax_t temp = std::min(n, ABS_MIN); +if (temp == ABS_MIN) { + zret = std::numeric_limits::min(); +} else { + zret = -intmax_t(temp); +} } else { zret = std::min(n, ABS_MAX); }
(trafficserver-libswoc) 03/06: Change the constructor for LocalBufferWriter to be noexcept (#11059)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git commit f8e0abca76a386dd1a377f2e8f247607b2a4ba1a Author: Brian Neradt AuthorDate: Tue Mar 19 17:55:52 2024 + Change the constructor for LocalBufferWriter to be noexcept (#11059) (cherry picked from commit bd2c5c274e2d39b55494d3e693b5d8e5faeec352) --- code/include/swoc/BufferWriter.h | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/include/swoc/BufferWriter.h b/code/include/swoc/BufferWriter.h index 154da37..32dfc99 100644 --- a/code/include/swoc/BufferWriter.h +++ b/code/include/swoc/BufferWriter.h @@ -406,6 +406,9 @@ public: /// @endcond protected: + // Used for derived classes where we don't want to throw exceptions. + FixedBufferWriter(char *buffer, size_t capacity, bool noexcept_flag) noexcept; + char *const _buffer; ///< Output buffer. size_t _capacity; ///< Size of output buffer. size_t _attempted = 0; ///< Number of characters written, including those discarded due error condition. @@ -440,7 +443,7 @@ template class LocalBufferWriter : public FixedBufferWriter { public: /// Construct an empty writer. - LocalBufferWriter(); + LocalBufferWriter() noexcept; LocalBufferWriter(const LocalBufferWriter ) = delete; @@ -498,6 +501,9 @@ inline FixedBufferWriter::FixedBufferWriter(char *buffer, size_t capacity) : _bu }; } +inline FixedBufferWriter::FixedBufferWriter(char *buffer, size_t capacity, bool /* noexcept_flag */) noexcept : _buffer(buffer), _capacity(capacity) { +} + inline FixedBufferWriter::FixedBufferWriter(MemSpan const ) : _buffer{static_cast(span.data())}, _capacity{span.size()} {} @@ -646,7 +652,7 @@ inline FixedBufferWriter::operator swoc::TextView() const { } // --- LocalBufferWriter --- -template LocalBufferWriter::LocalBufferWriter() : super_type(_arr, N) {} +template LocalBufferWriter::LocalBufferWriter() noexcept : super_type(_arr, N, true) {} }} // namespace swoc::SWOC_VERSION_NS
(trafficserver) branch 11-Dev updated (0cc15e0d3d -> a96362a997)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a change to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 0cc15e0d3d Bump version to 11.0.0 (#11135) add 7c1e8a2326 Python3.8: fix list type hints (#11097) add 822ffefc73 Remove dependency between tscore and iocore/eventsystem (#11092) add e381a58315 cmake README.md tweaks (#11098) add 331ae7e5ab TSVConnFd: replace autest wait condition (#11099) add 02e0824b72 Cleanup: Remove deprecated MUTEX_TAKE_LOCK_FOR (#11095) add 72f7898642 Fix MacOS linking warning for xcode 15 (#11062) add 31c15927e6 Make linking libraries to plugins optional (#11039) add 7ccdbd30ac Added config to support exit on client cert load failure (#10958) add 2c1ea0607b Revert "fix race condition with session thread migration (#10897)" (#11101) add 73a668cfd1 docs: Update cmake documentation for experimental plugins. (#11078) add 47e23d7d27 Fix a bug in parsing chunked messages (#11073) add 5c3352eb5b xpack: Fix division by zero error (#11107) add 5ed1504a37 add back EVENT_INTERVAL (#11072) add 20bae7ff5c Add libswoc unit tests (#11106) add 8e1c1b9faf Change Regex class to use PCRE2 (#11014) add 67bcbf4b33 Use EMERGENCY instead of FATAL for some certificate loading errors (#11108) add 4c933c730e Added namespace fmt to function call format_to in Cripts (#6) add 9e0b359c63 dont install static libraries (#9) add eaae6ca812 autests change perl shasum to cksum (#8) add ad69650995 Mute some coverity issues. (#7) add 7f32f4eba4 test_ip: add iterator temporary for gcc release builds (#11124) add 1d58cd4512 http3: Propagate edata as well (#11121) add d0739eac99 cleanup: Remove unnecessary dependency from a header file (#11125) add 1125cc22a5 Add new API TSContScheduleOnEntirePool and TSContScheduleEveryOnEntirePool (#10742) add 007caf8e72 fix hostdb.host_file.interval to be set at reconfig time (#11104) add 12cbce5577 Only work around dup lib issue on appleclang (#11105) add 60a90630fd Fix package name in build system. (#11109) add 0d84ded118 rate_limit plugin: Decouple metrics and queue config (#11122) add df078fb147 NOT_WRITE_AVAIL: schedule event to resend data frames (#11094) add d0996add37 cleanup cript example. add missing function (#11129) add 85a4cb96b8 CI osx and fedora: -DENABLE_CRIPTS (#11126) add bbff993964 Fixes broken refactoring to new Metrics (#11130) add 36ff81f909 Bump version to 10.1 (#11132) add a6d9c4a575 Fix for issue 11123. (#11127) add bfde409887 Coverity fixes. CID 1534726 , CID 1534745, CID1534723 (#1) add e0aaf4bc16 http3: Fix a crash on READ_READY event for QPACK (#11136) add 2184c7af36 Adds 10.0.x to the list of docs version (#11146) add 265ebcad3d Docs: header rewrite regex has case insensitive pcre flag (#11148) add 1c4825ddbf Add copying of _templates dir so sphinx can generate the version menu (#11151) new a96362a997 Merge remote-tracking branch 'upstream/master' into 11-Dev The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CMakeLists.txt | 10 +- CMakePresets.json |8 +- README.md | 13 +- cmake/add_atsplugin.cmake |9 +- doc/CMakeLists.txt |2 + doc/admin-guide/files/records.yaml.en.rst |6 + doc/admin-guide/plugins/combo_handler.en.rst |9 +- doc/admin-guide/plugins/header_freq.en.rst |7 +- doc/admin-guide/plugins/header_rewrite.en.rst |3 +- doc/admin-guide/plugins/icap.en.rst|8 +- doc/admin-guide/plugins/index.en.rst |5 +- doc/admin-guide/plugins/regex_revalidate.en.rst|5 +- doc/admin-guide/plugins/stek_share.en.rst |5 +- doc/admin-guide/plugins/url_sig.en.rst | 11 +- doc/admin-guide/plugins/wasm.en.rst| 14 +- rst => TSContScheduleEveryOnEntirePool.en.rst} | 27 +- .../api/functions/TSContScheduleEveryOnPool.en.rst | 10 +- ...l.en.rst => TSContScheduleEveryOnThread.en.rst} | 18 +- ...ol.en.rst => TSContScheduleOnEntirePool.en.rst} | 24 +- .../api/functions/TSContScheduleOnPool.en.rst | 47 +- .../api/functions/TSContScheduleOnThread.en.rst|5 +- .../plugins/example-plugins/index.en.rst |6 +- doc/static/languages.json |2 + example/CMakeLists.txt |2 + example/cripts/CMakeLists.txt
(trafficserver) 01/01: Merge remote-tracking branch 'upstream/master' into 11-Dev
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch 11-Dev in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit a96362a9976c5167fc39454709f07279bf7ed922 Merge: 0cc15e0d3d 1c4825ddbf Author: bneradt AuthorDate: Fri Mar 8 13:11:32 2024 -0500 Merge remote-tracking branch 'upstream/master' into 11-Dev Conflicts: CMakeLists.txt CMakeLists.txt | 10 +- CMakePresets.json |8 +- README.md | 13 +- cmake/add_atsplugin.cmake |9 +- doc/CMakeLists.txt |2 + doc/admin-guide/files/records.yaml.en.rst |6 + doc/admin-guide/plugins/combo_handler.en.rst |9 +- doc/admin-guide/plugins/header_freq.en.rst |7 +- doc/admin-guide/plugins/header_rewrite.en.rst |3 +- doc/admin-guide/plugins/icap.en.rst|8 +- doc/admin-guide/plugins/index.en.rst |5 +- doc/admin-guide/plugins/regex_revalidate.en.rst|5 +- doc/admin-guide/plugins/stek_share.en.rst |5 +- doc/admin-guide/plugins/url_sig.en.rst | 11 +- doc/admin-guide/plugins/wasm.en.rst| 14 +- rst => TSContScheduleEveryOnEntirePool.en.rst} | 27 +- .../api/functions/TSContScheduleEveryOnPool.en.rst | 10 +- ...l.en.rst => TSContScheduleEveryOnThread.en.rst} | 18 +- ...ol.en.rst => TSContScheduleOnEntirePool.en.rst} | 24 +- .../api/functions/TSContScheduleOnPool.en.rst | 47 +- .../api/functions/TSContScheduleOnThread.en.rst|5 +- .../plugins/example-plugins/index.en.rst |6 +- doc/static/languages.json |2 + example/CMakeLists.txt |2 + example/cripts/CMakeLists.txt |1 + include/cripts/Crypto.hpp |6 +- include/cripts/Headers.hpp |6 +- include/cripts/Lulu.hpp| 12 +- include/cripts/Metrics.hpp |4 +- include/cripts/Time.hpp|2 +- include/cripts/Urls.hpp| 14 +- include/iocore/eventsystem/EventProcessor.h|3 + include/iocore/eventsystem/Lock.h |6 +- include/proxy/hdrs/XPACK.h |5 + include/proxy/http/remap/UrlRewrite.h |2 +- include/proxy/http2/Http2CommonSession.h | 10 +- include/proxy/http2/Http2ConnectionState.h |6 +- include/proxy/http2/Http2Stream.h |4 +- include/proxy/http3/Http3Transaction.h |2 +- include/ts/ts.h|3 + include/tscore/Encoding.h |4 +- include/tscore/FrequencyCounter.h |2 +- include/tsutil/Regex.h | 106 +- lib/swoc/CMakeLists.txt|4 + lib/swoc/include/swoc/IntrusiveHashMap.h |9 + lib/swoc/include/swoc/TextView.h |2 +- lib/swoc/unit_tests/CMakeLists.txt | 51 + lib/swoc/unit_tests/ex_IntrusiveDList.cc | 215 ++ lib/swoc/unit_tests/ex_Lexicon.cc | 130 ++ lib/swoc/unit_tests/ex_MemArena.cc | 224 ++ lib/swoc/unit_tests/ex_TextView.cc | 319 +++ lib/swoc/unit_tests/ex_UnitParser.cc | 183 ++ lib/swoc/unit_tests/ex_bw_format.cc| 691 +++ lib/swoc/unit_tests/ex_ipspace_properties.cc | 639 ++ lib/swoc/unit_tests/examples/resolver.txt | 21 + lib/swoc/unit_tests/test_BufferWriter.cc | 506 + lib/swoc/unit_tests/test_Errata.cc | 430 lib/swoc/unit_tests/test_IntrusiveDList.cc | 272 +++ lib/swoc/unit_tests/test_IntrusiveHashMap.cc | 274 +++ lib/swoc/unit_tests/test_Lexicon.cc| 276 +++ lib/swoc/unit_tests/test_MemArena.cc | 663 ++ lib/swoc/unit_tests/test_MemSpan.cc| 310 +++ lib/swoc/unit_tests/test_Scalar.cc | 257 +++ lib/swoc/unit_tests/test_TextView.cc | 651 ++ lib/swoc/unit_tests/test_Vectray.cc| 82 + lib/swoc/unit_tests/test_bw_format.cc | 694 +++ lib/swoc/unit_tests/test_ip.cc | 2187 lib/swoc/unit_tests/test_meta.cc | 119 ++ lib/swoc/unit_tests/test_range.cc | 39 + lib/swoc/unit_tests/test_swoc_file.cc | 341 +++ lib/swoc/unit_tests/unit_test_main.cc | 39 + lib/swoc/unit_tests/unit_tests.part| 42 + plugins/experimental/maxmind_acl/CMakeLists.txt|2 +-
(trafficserver-ci) branch main updated: Update build_h3_tools fedora:39, rocky:[8,9] (#320)
This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 5f225e5 Update build_h3_tools fedora:39, rocky:[8,9] (#320) 5f225e5 is described below commit 5f225e5e6cb63587100c7089d1e3cbe09af9d1d2 Author: Brian Neradt AuthorDate: Wed Mar 6 12:30:46 2024 -0500 Update build_h3_tools fedora:39, rocky:[8,9] (#320) --- docker/fedora39/build_h3_tools.sh| 18 +- docker/rockylinux8/build_h3_tools.sh | 18 +- docker/rockylinux9/build_h3_tools.sh | 18 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/docker/fedora39/build_h3_tools.sh b/docker/fedora39/build_h3_tools.sh index 5e2e463..063f0e7 100644 --- a/docker/fedora39/build_h3_tools.sh +++ b/docker/fedora39/build_h3_tools.sh @@ -37,7 +37,7 @@ set -e # that it later removes. # Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.2+quic"} +OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} # Set these, if desired, to change these to your preferred installation # directory @@ -122,16 +122,16 @@ else OS="linux" fi -wget https://go.dev/dl/go1.21.0.${OS}-${ARCH}.tar.gz -rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.0.${OS}-${ARCH}.tar.gz -rm go1.21.0.${OS}-${ARCH}.tar.gz +wget https://go.dev/dl/go1.21.6.${OS}-${ARCH}.tar.gz +rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.6.${OS}-${ARCH}.tar.gz +rm go1.21.6.${OS}-${ARCH}.tar.gz chmod -R a+rX ${BASE} GO_BINARY_PATH=${BASE}/go/bin/go if [ ! -d boringssl ]; then git clone https://boringssl.googlesource.com/boringssl cd boringssl - git checkout e4f60679caa293c047be69f57fc48b46c7452327 + git checkout a1843d660b47116207877614af53defa767be46a cd .. fi cd boringssl @@ -195,7 +195,7 @@ LDFLAGS=${LDFLAGS:-"-Wl,-rpath,${OPENSSL_LIB}"} # Then nghttp3 echo "Building nghttp3..." -[ ! -d nghttp3 ] && git clone --depth 1 -b v0.13.0 https://github.com/ngtcp2/nghttp3.git +[ ! -d nghttp3 ] && git clone --depth 1 -b v1.1.0 https://github.com/ngtcp2/nghttp3.git cd nghttp3 autoreconf -if ./configure \ @@ -212,7 +212,7 @@ cd .. # Now ngtcp2 echo "Building ngtcp2..." -[ ! -d ngtcp2 ] && git clone --depth 1 -b v0.17.0 https://github.com/ngtcp2/ngtcp2.git +[ ! -d ngtcp2 ] && git clone --depth 1 -b v1.1.0 https://github.com/ngtcp2/ngtcp2.git cd ngtcp2 autoreconf -if ./configure \ @@ -229,7 +229,7 @@ cd .. # Then nghttp2, with support for H3 echo "Building nghttp2 ..." -[ ! -d nghttp2 ] && git clone --depth 1 -b v1.55.1 https://github.com/tatsuhiro-t/nghttp2.git +[ ! -d nghttp2 ] && git clone --depth 1 -b v1.58.0 https://github.com/tatsuhiro-t/nghttp2.git cd nghttp2 autoreconf -if if [ `uname -s` = "Darwin" ] || [ `uname -s` = "FreeBSD" ] @@ -256,7 +256,7 @@ cd .. # Then curl echo "Building curl ..." -[ ! -d curl ] && git clone --depth 1 -b curl-8_2_1 https://github.com/curl/curl.git +[ ! -d curl ] && git clone --depth 1 -b curl-8_5_0 https://github.com/curl/curl.git cd curl # On mac autoreconf fails on the first attempt with an issue finding ltmain.sh. # The second runs fine. diff --git a/docker/rockylinux8/build_h3_tools.sh b/docker/rockylinux8/build_h3_tools.sh index 58012a0..736427e 100644 --- a/docker/rockylinux8/build_h3_tools.sh +++ b/docker/rockylinux8/build_h3_tools.sh @@ -37,7 +37,7 @@ set -e # that it later removes. # Update this as the draft we support updates. -OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.2+quic"} +OPENSSL_BRANCH=${OPENSSL_BRANCH:-"openssl-3.1.4+quic"} # Set these, if desired, to change these to your preferred installation # directory @@ -122,16 +122,16 @@ else OS="linux" fi -wget https://go.dev/dl/go1.21.0.${OS}-${ARCH}.tar.gz -rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.0.${OS}-${ARCH}.tar.gz -rm go1.21.0.${OS}-${ARCH}.tar.gz +wget https://go.dev/dl/go1.21.6.${OS}-${ARCH}.tar.gz +rm -rf ${BASE}/go && tar -C ${BASE} -xf go1.21.6.${OS}-${ARCH}.tar.gz +rm go1.21.6.${OS}-${ARCH}.tar.gz chmod -R a+rX ${BASE} GO_BINARY_PATH=${BASE}/go/bin/go if [ ! -d boringssl ]; then git clone https://boringssl.googlesource.com/boringssl cd boringssl - git checkout e4f60679caa293c047be69f57fc48b46c7452327 + git checkout a1843d660b47116207877614af53defa767be46a cd .. fi cd boringssl @@ -200,7 +200,7 @@ LDFLAGS=${LDFLAGS:-"-Wl,-rpath,${OPENSSL_LIB}"} # Then nghttp3 echo "Building nghttp3..." -[ ! -d nghttp3 ] && git clone --depth 1 -b v0.13.0 https://github.com/ngtcp2/nghttp3.git +[ ! -d nghttp3 ] && git clone --depth 1 -b v1.1.0 https://github.com/