Skip to content

Commit b6ebda3

Browse files
committed
Sync from upstream.
2 parents 1ae38cd + 2427765 commit b6ebda3

40 files changed

+1459
-1498
lines changed

.github/workflows/ci.yml renamed to .github/workflows/build.yml

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
name: CI
1+
name: build
22

33
on: [push, pull_request]
44

5+
concurrency:
6+
group: ${{format('{0}:{1}:{2}', github.repository, github.workflow, github.ref)}}
7+
cancel-in-progress: true
8+
59
env:
610
UBSAN_OPTIONS: print_stacktrace=1
711

@@ -221,24 +225,26 @@ jobs:
221225
container: ${{ matrix.container }}
222226

223227
steps:
224-
- name: Check if running in container
225-
if: matrix.container != ''
226-
run: echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV
227-
- name: If running in container, upgrade packages
228+
- name: Setup container environment
228229
if: matrix.container != ''
229230
run: |
230-
apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev locales
231-
sudo apt-add-repository ppa:git-core/ppa
232-
sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
233-
python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))')
234-
if [[ ${python_version} =~ ^3\.[0-5]$ ]]; then
235-
true
236-
else
237-
apt-get install -y python3-distutils
238-
fi
239-
sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py
240-
sudo python3 get-pip.py
241-
sudo /usr/local/bin/pip install cmake
231+
apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev locales
232+
sudo apt-add-repository ppa:git-core/ppa
233+
sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
234+
python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))')
235+
if [[ ${python_version} =~ ^3\.[0-5]$ ]]; then
236+
true
237+
else
238+
apt-get install -y python3-distutils
239+
fi
240+
sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py
241+
sudo python3 get-pip.py
242+
sudo /usr/local/bin/pip install cmake
243+
244+
if [[ "${{matrix.container}}" == "ubuntu:16.04" ]] || [[ "${{matrix.container}}" == "ubuntu:18.04" ]]; then
245+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
246+
fi
247+
242248
- uses: actions/checkout@v3
243249

244250
- name: Install packages

.github/workflows/fuzz.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: fuzz
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
schedule:
8+
- cron: "25 00 * * *"
9+
10+
concurrency:
11+
group: ${{format('{0}:{1}:{2}', github.repository, github.workflow, github.ref)}}
12+
cancel-in-progress: true
13+
14+
15+
jobs:
16+
fuzz:
17+
runs-on: ubuntu-24.04
18+
steps:
19+
- uses: actions/checkout@v3
20+
21+
- name: Install packages
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y clang
25+
26+
- name: Setup Boost
27+
run: |
28+
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
29+
LIBRARY=${GITHUB_REPOSITORY#*/}
30+
echo LIBRARY: $LIBRARY
31+
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
32+
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
33+
echo GITHUB_REF: $GITHUB_REF
34+
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
35+
REF=${REF#refs/heads/}
36+
echo REF: $REF
37+
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
38+
echo BOOST_BRANCH: $BOOST_BRANCH
39+
cd ..
40+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
41+
cd boost-root
42+
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
43+
git submodule update --init tools/boostdep
44+
python3 tools/boostdep/depinst/depinst.py $LIBRARY
45+
./bootstrap.sh
46+
./b2
47+
48+
- name: Fuzz corpus
49+
uses: actions/[email protected]
50+
id: cache-corpus
51+
with:
52+
path: ${{ github.workspace }}/corpus.tar
53+
key: corpus-${{ github.run_id }}
54+
enableCrossOsArchive: true
55+
restore-keys: |
56+
corpus-
57+
58+
- name: Run fuzzer
59+
run: |
60+
cd ../boost-root/libs/beast
61+
mkdir build
62+
cd build
63+
cmake \
64+
-DCMAKE_CXX_COMPILER=clang++ \
65+
-DCMAKE_C_COMPILER=clang \
66+
-DBeast_BUILD_TESTS=ON \
67+
-DBeast_BUILD_FUZZERS=ON \
68+
-DBOOST_BEAST_FUZZER_CORPUS_PATH=${{ github.workspace }}/corpus.tar ..
69+
make boost_beast_fuzz_all

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
Version 355:
2+
3+
* awaitable examples are simplified
4+
* server-flex-awaitable example demonstrates an explicit, graceful shutdown
5+
* Add fuzzing targets
6+
* Fix overloads that are ambiguous when using default completion tokens
7+
* Fix misplaced static_assert in `http::basic_fields` move-assignment operator
8+
* Fix narrowing conversion in `read_size_hint_db()`
9+
10+
--------------------------------------------------------------------------------
11+
112
Version 354:
213

314
* `ssl_stream` and `flat_stream` are deprecated (Use `net::ssl::stream` instead)

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,12 @@ endfunction()
8383
#
8484
#-------------------------------------------------------------------------------
8585

86-
project (Beast VERSION 354)
86+
project (Beast VERSION 355)
8787

8888
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
8989
option (Beast_BUILD_EXAMPLES "Build examples" ON)
9090
option (Beast_BUILD_TESTS "Build tests" ${BUILD_TESTING})
91+
option (Beast_BUILD_FUZZERS "Build fuzzers" OFF)
9192
option (Beast_ENABLE_HANDLER_TRACKING "Define BOOST_ASIO_ENABLE_HANDLER_TRACKING when building libraries" OFF)
9293
option (Boost_USE_STATIC_LIBS "Use Static Boost libraries" ON)
9394

doc/qbk/release_notes.qbk

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,40 @@
1111

1212
[/-----------------------------------------------------------------------------]
1313

14+
[heading Boost 1.86]
15+
16+
[*API Changes]
17+
18+
* [issue 2878] Added HTTP status code 418 `I'm a teapot`
19+
20+
[*Fixes]
21+
22+
* [issue 2879] Narrowing conversion in `read_size_hint_db()`
23+
* [issue 2893] Overloads that are ambiguous when using default completion tokens
24+
* [issue 2517] Misplaced static_assert in `http::basic_fields` move-assignment operator
25+
* [issue 2880] Underflow of `bytes_transferred` in WebSocket partial write operations
26+
* [issue 2879] `websocket::stream::read_size_hint()` does not exceed `read_message_max`
27+
* [issue 2877] Various warnings in tests
28+
* [issue 2872] Error handling in SSL shutdown operations in examples
29+
* [issue 2869] Annotate fallthrough case in zlib
30+
* [issue 2866] Handling of expired timers in `basic_stream::ops::transfer_op`
31+
* [issue 2864] Ambiguity in `test::basic_stream` constructor overloads
32+
* [issue 2861] Partial parsing of the final chunk in `http::parser`
33+
34+
[*Improvements]
35+
36+
* [issue 2897] Graceful shutdown in `server_flex_awaitable` example
37+
* [issue 2897] Simplified awaitable examples
38+
* [issue 2888] Added fuzzing targets
39+
* [issue 2875] Removed superfluous uses of `std::bind` in some examples
40+
* [issue 2875] `ssl_stream` does not use `flat_stream`
41+
42+
[*Documentation]
43+
44+
* [issue 2875] `ssl_stream` and `flat_stream` marked as deprecated
45+
* [issue 2875] `net::ssl::stream` is canonical in snippets and examples
46+
* [issue 2872] Added `SSL/TLS Shutdown Procedure` section
47+
1448
[heading Boost 1.85]
1549

1650
[*API Changes]

0 commit comments

Comments
 (0)