(trafficserver) branch master updated (abc4d5d341 -> d31a40fecb)

2024-05-20 Thread bneradt
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)

2024-05-20 Thread bneradt
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)

2024-05-16 Thread bneradt
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)

2024-05-15 Thread bneradt
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

2024-05-15 Thread bneradt
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)

2024-05-14 Thread bneradt
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)

2024-05-14 Thread bneradt
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)

2024-05-09 Thread bneradt
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)

2024-05-09 Thread bneradt
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)

2024-05-09 Thread bneradt
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)

2024-05-08 Thread bneradt
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)

2024-05-08 Thread bneradt
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)

2024-05-08 Thread bneradt
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)

2024-05-08 Thread bneradt
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)

2024-05-07 Thread bneradt
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)

2024-05-07 Thread bneradt
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

2024-05-07 Thread bneradt
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)

2024-05-07 Thread bneradt
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)

2024-05-03 Thread bneradt
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)

2024-05-03 Thread bneradt
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)

2024-05-03 Thread bneradt
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)

2024-05-03 Thread bneradt
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)

2024-05-02 Thread bneradt
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)

2024-05-01 Thread bneradt
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)

2024-05-01 Thread bneradt
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)

2024-04-30 Thread bneradt
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)

2024-04-26 Thread bneradt
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)

2024-04-26 Thread bneradt
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)

2024-04-26 Thread bneradt
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)

2024-04-25 Thread bneradt
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)

2024-04-25 Thread bneradt
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)

2024-04-25 Thread bneradt
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)

2024-04-24 Thread bneradt
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)

2024-04-24 Thread bneradt
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)

2024-04-23 Thread bneradt
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)

2024-04-23 Thread bneradt
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)

2024-04-23 Thread bneradt
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)

2024-04-22 Thread bneradt
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)

2024-04-19 Thread bneradt
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)

2024-04-16 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-15 Thread bneradt
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)

2024-04-12 Thread bneradt
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)

2024-04-11 Thread bneradt
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)

2024-04-10 Thread bneradt
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)

2024-04-09 Thread bneradt
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)

2024-04-09 Thread bneradt
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)

2024-04-08 Thread bneradt
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)

2024-04-08 Thread bneradt
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)

2024-04-08 Thread bneradt
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)

2024-04-03 Thread bneradt
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

2024-04-02 Thread bneradt
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)

2024-04-02 Thread bneradt
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)

2024-03-28 Thread bneradt
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)

2024-03-28 Thread bneradt
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)

2024-03-28 Thread bneradt
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)

2024-03-28 Thread bneradt
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)

2024-03-27 Thread bneradt
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)

2024-03-27 Thread bneradt
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)

2024-03-27 Thread bneradt
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)

2024-03-26 Thread bneradt
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)"

2024-03-26 Thread bneradt
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)

2024-03-26 Thread bneradt
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)

2024-03-26 Thread bneradt
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)

2024-03-25 Thread bneradt
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)

2024-03-25 Thread bneradt
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)

2024-03-25 Thread bneradt
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)

2024-03-22 Thread bneradt
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)

2024-03-22 Thread bneradt
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)

2024-03-22 Thread bneradt
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

2024-03-22 Thread bneradt
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)

2024-03-22 Thread bneradt
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)

2024-03-21 Thread bneradt
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)

2024-03-21 Thread bneradt
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)

2024-03-21 Thread bneradt
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)

2024-03-21 Thread bneradt
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

2024-03-21 Thread bneradt
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)

2024-03-21 Thread bneradt
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.

2024-03-21 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-19 Thread bneradt
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)

2024-03-08 Thread bneradt
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

2024-03-08 Thread bneradt
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)

2024-03-06 Thread bneradt
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/

  1   2   3   4   5   6   7   8   9   10   >