Skip to content

Commit ec101ba

Browse files
authored
Merge pull request #10149 from julek-wolfssl/refactor-middle-padding
Refactor record padding handling to eliminate middle padding pattern
2 parents 064ebaa + 39642d5 commit ec101ba

10 files changed

Lines changed: 841 additions & 197 deletions

File tree

.github/workflows/os-check.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,13 @@ jobs:
138138
# This should be a safe limit for the tests to run.
139139
timeout-minutes: 14
140140
steps:
141+
# tlslite-ng is consumed by scripts/multi-msg-record.test (run from
142+
# `make check`); without it that test is SKIPped.
143+
- uses: actions/setup-python@v5
144+
with:
145+
python-version: '3.x'
146+
- run: pip install tlslite-ng
147+
141148
- name: Build and test wolfSSL
142149
uses: wolfSSL/actions-build-autotools-project@v1
143150
with:
@@ -182,6 +189,13 @@ jobs:
182189
# This should be a safe limit for the tests to run.
183190
timeout-minutes: 14
184191
steps:
192+
# tlslite-ng is consumed by scripts/multi-msg-record.test (run from
193+
# `make check`); without it that test is SKIPped.
194+
- uses: actions/setup-python@v5
195+
with:
196+
python-version: '3.x'
197+
- run: pip install tlslite-ng
198+
185199
- name: Build and test wolfSSL
186200
uses: wolfSSL/actions-build-autotools-project@v1
187201
with:
@@ -208,6 +222,13 @@ jobs:
208222
# This should be a safe limit for the tests to run.
209223
timeout-minutes: 14
210224
steps:
225+
# tlslite-ng is consumed by scripts/multi-msg-record.test (run from
226+
# `make check`); without it that test is SKIPped.
227+
- uses: actions/setup-python@v5
228+
with:
229+
python-version: '3.x'
230+
- run: pip install tlslite-ng
231+
211232
- name: Build and test wolfSSL
212233
uses: wolfSSL/actions-build-autotools-project@v1
213234
with:
@@ -270,6 +291,12 @@ jobs:
270291
timeout-minutes: 14
271292
steps:
272293
- uses: actions/checkout@v4
294+
# tlslite-ng is consumed by scripts/multi-msg-record.test (run from
295+
# `make check`); without it that test is SKIPped.
296+
- uses: actions/setup-python@v5
297+
with:
298+
python-version: '3.x'
299+
- run: pip install tlslite-ng
273300
- run: ./autogen.sh
274301
- name: user_settings_all.h with compatibility layer
275302
run: |

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ tracefile.txt
200200
*.bak
201201
*.dummy
202202
*.xcworkspace
203+
workspace.pid*/
203204
xcuserdata
204205
compile
205206
NTRU_algorithm/

scripts/include.am

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,22 @@ endif
106106
dist_noinst_SCRIPTS+= scripts/unit.test
107107
noinst_SCRIPTS+= scripts/unit.test.in
108108

109+
# multi-msg-record.test drives the wolfSSL example client against a
110+
# Python (tlslite-ng) peer to verify parsing of TLS records that carry
111+
# multiple handshake messages. The script probes the client binary
112+
# at runtime for TLS 1.2, TLS 1.3 and secure-renegotiation support
113+
# and skips phases that are not compiled in. The whole test exits 77
114+
# (SKIP) if python3 or tlslite-ng is missing or if nothing is
115+
# runnable.
116+
dist_noinst_SCRIPTS+= scripts/multi-msg-record.test
117+
109118
endif
110119
endif
111120

121+
# The Python half of multi-msg-record.test always ships in tarballs so
122+
# the wrapper can find it on the installed side.
123+
EXTRA_DIST+= scripts/multi-msg-record.py
124+
112125
dist_noinst_SCRIPTS+= scripts/pem.test
113126

114127
EXTRA_DIST += scripts/sniffer-static-rsa.pcap \

0 commit comments

Comments
 (0)