3636 --enable-dtls-mtu --enable-earlydata --enable-session-ticket \
3737 --enable-dtlscid --enable-opensslextra --enable-ipv6 \
3838 --enable-static --enable-shared --enable-debug \
39- CFLAGS="-DWOLFSSL_DTLS13_NO_HRR_ON_RESUME -g" >/dev/null
39+ CFLAGS="-DWOLFSSL_DTLS13_NO_HRR_ON_RESUME -DWOLFSSL_DTLS_RECORDS_CAN_SPAN_DATAGRAMS - g" >/dev/null
4040 make -j"$(nproc)" >/dev/null && make install >/dev/null
4141 echo built
4242
@@ -60,19 +60,22 @@ jobs:
6060 grep -v 'would read block' /tmp/c.out | head -12
6161 exit $rc
6262
63- - name : memory-bio-dtls -- why are records dropped on dtls13
63+ - name : memory-bio-dtls -- does the span flag fix dtls13
6464 if : always()
6565 run : |
6666 cd dtls
6767 export LD_LIBRARY_PATH=/tmp/inst/lib
68- perl -0pi -e 's/#if 0\n(\s*wolfSSL_Debugging_ON)/#if 1\n$1/' memory-bio-dtls.c
69- gcc -g -O0 -o /tmp/mb13 memory-bio-dtls.c -I/tmp/inst/include \
68+ gcc -g -o /tmp/mb13 memory-bio-dtls.c -I/tmp/inst/include \
7069 -L/tmp/inst/lib -lwolfssl -lpthread -lm || exit 1
71- timeout 8 /tmp/mb13 > /tmp/o13.txt 2>&1
72- echo "rc=$?"
73- echo "=== the 2 Dropping lines, with 6 lines of context each:"
74- grep -n -B6 -A2 -i 'Dropping' /tmp/o13.txt | head -40
75- echo "=== cookie lines:"
76- grep -n -i 'cookie' /tmp/o13.txt | head -8
77- echo "=== everything between the last BIO write and the spin:"
78- awk '/BIO_MEMORY_write/{n=NR} {a[NR]=$0} END{for(i=n;i<n+30 && i<=NR;i++) print a[i]}' /tmp/o13.txt
70+ sed 's/#ifdef WOLFSSL_DTLS13/#if 0/' memory-bio-dtls.c > /tmp/mb12.c
71+ gcc -g -o /tmp/mb12 /tmp/mb12.c -I/tmp/inst/include \
72+ -L/tmp/inst/lib -lwolfssl -lpthread -lm || exit 1
73+ bad=0
74+ for v in 13 12; do
75+ timeout 15 /tmp/mb$v > /tmp/o$v.txt 2>&1
76+ rc=$?
77+ echo "=== DTLS 1.$v : rc=$rc (0=WORKS)"
78+ head -6 /tmp/o$v.txt
79+ [ $rc -eq 0 ] || bad=1
80+ done
81+ exit $bad
0 commit comments