Skip to content

Commit aeb42cf

Browse files
c-southwestkostis
andauthored
Use parallel protocol-state-fuzzer & update CI tests to use 8 threads (#190)
* Override cloneWithThreadId() in TlsSulServerConfig and TlsSulClientConfig * Fix port number configuration * Update ci.yml by adding "-eqvThreads 8" to all tests * Add patches to increase socket timeout for jsse and scandium * Use latest commit SHA of ProtocolState-Fuzzer --------- Co-authored-by: Kostis Sagonas <kostis@it.uu.se>
1 parent c37aaa0 commit aeb42cf

File tree

8 files changed

+143
-29
lines changed

8 files changed

+143
-29
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
- name: Test Contiki-NG TinyDTLS Server (psk)
2727
run: |
28-
java -jar target/dtls-fuzzer.jar args/ctinydtls/learn_ctinydtls_server_psk -roundLimit 5
28+
java -jar target/dtls-fuzzer.jar args/ctinydtls/learn_ctinydtls_server_psk -roundLimit 5 -eqvThreads 8
2929
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/ctinydtls_server_psk output/ctinydtls_server_psk 5
3030
3131
CTinyDTLS_Client_psk:
@@ -51,7 +51,7 @@ jobs:
5151

5252
- name: Test Contiki-NG TinyDTLS Client (psk)
5353
run: |
54-
java -jar target/dtls-fuzzer.jar args/ctinydtls/learn_ctinydtls_client_psk -roundLimit 5
54+
java -jar target/dtls-fuzzer.jar args/ctinydtls/learn_ctinydtls_client_psk -roundLimit 5 -eqvThreads 8
5555
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/ctinydtls_client_psk output/ctinydtls_client_psk 5
5656
5757
ETinyDTLS_Server_psk:
@@ -77,7 +77,7 @@ jobs:
7777

7878
- name: Test Eclipse TinyDTLS Server (psk)
7979
run: |
80-
java -jar target/dtls-fuzzer.jar args/etinydtls/learn_etinydtls_server_psk -inputResponseTimeout CHANGE_CIPHER_SPEC:250 -roundLimit 5
80+
java -jar target/dtls-fuzzer.jar args/etinydtls/learn_etinydtls_server_psk -inputResponseTimeout CHANGE_CIPHER_SPEC:250 -roundLimit 5 -eqvThreads 8
8181
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/etinydtls_server_psk output/etinydtls_server_psk 5
8282
8383
ETinyDTLS_Client_psk:
@@ -103,7 +103,7 @@ jobs:
103103

104104
- name: Test Eclipse TinyDTLS Client (psk)
105105
run: |
106-
java -jar target/dtls-fuzzer.jar args/etinydtls/learn_etinydtls_client_psk -inputResponseTimeout CHANGE_CIPHER_SPEC:250 -roundLimit 5
106+
java -jar target/dtls-fuzzer.jar args/etinydtls/learn_etinydtls_client_psk -inputResponseTimeout CHANGE_CIPHER_SPEC:250 -roundLimit 5 -eqvThreads 8
107107
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/etinydtls_client_psk output/etinydtls_client_psk 5
108108
109109
JSSE-12-0-2_Server_ecdhe_cert_req:
@@ -129,7 +129,7 @@ jobs:
129129

130130
- name: Test jsse-12.0.2 Server (ecdhe_cert_req)
131131
run: |
132-
java -jar target/dtls-fuzzer.jar args/jsse/learn_jsse_server_ecdhe_cert_req -Djsse.version=12.0.2 -roundLimit 5
132+
java -jar target/dtls-fuzzer.jar args/jsse/learn_jsse_server_ecdhe_cert_req -Djsse.version=12.0.2 -roundLimit 5 -eqvThreads 8
133133
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/jsse-12.0.2_server_ecdhe_cert_req output/jsse-12.0.2_server_ecdhe_cert_req 5
134134
135135
JSSE-12-0-2_Client_ecdhe_cert:
@@ -155,7 +155,7 @@ jobs:
155155

156156
- name: Test jsse-12.0.2 Client (ecdhe_cert)
157157
run: |
158-
java -jar target/dtls-fuzzer.jar args/jsse/learn_jsse_client_ecdhe_cert -Djsse.version=12.0.2 -roundLimit 5
158+
java -jar target/dtls-fuzzer.jar args/jsse/learn_jsse_client_ecdhe_cert -Djsse.version=12.0.2 -roundLimit 5 -eqvThreads 8
159159
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/jsse-12.0.2_client_ecdhe_cert output/jsse-12.0.2_client_ecdhe_cert 5
160160
161161
Mbedtls-2-26-0_Server_all_cert_req:
@@ -181,7 +181,7 @@ jobs:
181181

182182
- name: Test mbedtls-2.26.0 Server (all_cert_req)
183183
run: |
184-
java -jar target/dtls-fuzzer.jar args/mbedtls/learn_mbedtls_server_all_cert_req -Dmbedtls.version=2.26.0 -roundLimit 5
184+
java -jar target/dtls-fuzzer.jar args/mbedtls/learn_mbedtls_server_all_cert_req -Dmbedtls.version=2.26.0 -roundLimit 5 -eqvThreads 8
185185
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/mbedtls-2.26.0_server_all_cert_req output/mbedtls-2.26.0_server_all_cert_req 5
186186
187187
Mbedtls-2-26-0_Client_dhe_ecdhe_rsa_eneg:
@@ -207,7 +207,7 @@ jobs:
207207

208208
- name: Test mbedtls-2.26.0 Client (dhe_ecdhe_rsa_cert_reneg)
209209
run: |
210-
java -jar target/dtls-fuzzer.jar args/mbedtls/learn_mbedtls_client_dhe_ecdhe_rsa_cert_reneg -Dmbedtls.version=2.26.0 -roundLimit 5
210+
java -jar target/dtls-fuzzer.jar args/mbedtls/learn_mbedtls_client_dhe_ecdhe_rsa_cert_reneg -Dmbedtls.version=2.26.0 -roundLimit 5 -eqvThreads 8
211211
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/mbedtls-2.26.0_client_dhe_ecdhe_rsa_cert_reneg output/mbedtls-2.26.0_client_dhe_ecdhe_rsa_cert_reneg 5
212212
213213
OpenSSL-1-1-1k_Server_all_cert_req:
@@ -233,7 +233,7 @@ jobs:
233233

234234
- name: Test openssl-1.1.1k Server (all_cert_req)
235235
run: |
236-
java -jar target/dtls-fuzzer.jar args/openssl/learn_openssl_server_all_cert_req -Dopenssl.version=1.1.1k -roundLimit 5
236+
java -jar target/dtls-fuzzer.jar args/openssl/learn_openssl_server_all_cert_req -Dopenssl.version=1.1.1k -roundLimit 5 -eqvThreads 8
237237
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/openssl-1.1.1k_server_all_cert_req output/openssl-1.1.1k_server_all_cert_req 5
238238
239239
OpenSSL-1-1-1k_Client_dhe_ecdhe_rsa_eneg:
@@ -259,7 +259,7 @@ jobs:
259259

260260
- name: Test openssl-1.1.1k Client (dhe_ecdhe_rsa_reneg)
261261
run: |
262-
java -jar target/dtls-fuzzer.jar args/openssl/learn_openssl_client_dhe_ecdhe_rsa_cert_reneg -Dopenssl.version=1.1.1k -roundLimit 5
262+
java -jar target/dtls-fuzzer.jar args/openssl/learn_openssl_client_dhe_ecdhe_rsa_cert_reneg -Dopenssl.version=1.1.1k -roundLimit 5 -eqvThreads 8
263263
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/openssl-1.1.1k_client_dhe_ecdhe_rsa_cert_reneg output/openssl-1.1.1k_client_dhe_ecdhe_rsa_cert_reneg 5
264264
265265
PionDTLS-2-0-9_Server_psk:
@@ -290,7 +290,7 @@ jobs:
290290

291291
- name: Test piondtls-2.0.9 Server (psk)
292292
run: |
293-
java -jar target/dtls-fuzzer.jar args/piondtls/learn_piondtls_server_psk -Dpiondtls.version=2.0.9 -roundLimit 5
293+
java -jar target/dtls-fuzzer.jar args/piondtls/learn_piondtls_server_psk -Dpiondtls.version=2.0.9 -roundLimit 5 -eqvThreads 8
294294
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/piondtls-2.0.9_server_psk output/piondtls-2.0.9_server_psk 5
295295
296296
PionDTLS-2-0-9_Client_psk:
@@ -321,7 +321,7 @@ jobs:
321321

322322
- name: Test piondtls-2.0.9 Client (psk)
323323
run: |
324-
java -jar target/dtls-fuzzer.jar args/piondtls/learn_piondtls_client_psk -Dpiondtls.version=2.0.9 -roundLimit 7
324+
java -jar target/dtls-fuzzer.jar args/piondtls/learn_piondtls_client_psk -Dpiondtls.version=2.0.9 -roundLimit 7 -eqvThreads 8
325325
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/piondtls-2.0.9_client_psk output/piondtls-2.0.9_client_psk 7
326326
327327
Scandium-2-0-0-M16_Server_ecdhe_cert_req:
@@ -347,7 +347,7 @@ jobs:
347347

348348
- name: Test scandium-2.0.0-M16 Server (ecdhe_cert_req)
349349
run: |
350-
java -jar target/dtls-fuzzer.jar args/scandium/learn_scandium_server_ecdhe_cert_req -Dscandium.version=2.0.0-M16 -roundLimit 5
350+
java -jar target/dtls-fuzzer.jar args/scandium/learn_scandium_server_ecdhe_cert_req -Dscandium.version=2.0.0-M16 -roundLimit 5 -eqvThreads 8
351351
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/scandium-2.0.0-M16_server_ecdhe_cert_req output/scandium-2.0.0-M16_server_ecdhe_cert_req 5
352352
353353
Scandium-2-0-0-M16_Client_ecdhe_cert:
@@ -374,7 +374,7 @@ jobs:
374374
- name: Test scandium-2.0.0-M16 Client (ecdhe_cert)
375375
run: |
376376
# we are running just two rounds here because producing the third hypothesis takes too long
377-
java -jar target/dtls-fuzzer.jar args/scandium/learn_scandium_client_ecdhe_cert -Dscandium.version=2.0.0-M16 -roundLimit 2
377+
java -jar target/dtls-fuzzer.jar args/scandium/learn_scandium_client_ecdhe_cert -Dscandium.version=2.0.0-M16 -roundLimit 2 -eqvThreads 8
378378
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/scandium-2.0.0-M16_client_ecdhe_cert output/scandium-2.0.0-M16_client_ecdhe_cert 2
379379
380380
WolfSSL-4-7-1r_DTLS-1-2_Server_psk:
@@ -400,7 +400,7 @@ jobs:
400400

401401
- name: Test wolfssl-4.7.1r DTLS 1.2 Server (psk)
402402
run: |
403-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk -Dwolfssl.version=4.7.1r -roundLimit 5
403+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk -Dwolfssl.version=4.7.1r -roundLimit 5 -eqvThreads 8
404404
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/wolfssl-4.7.1r_server_psk output/wolfssl-4.7.1r_server_psk 5
405405
406406
WolfSSL-4-7-1r_DTLS-1-2_Client_psk:
@@ -426,7 +426,7 @@ jobs:
426426

427427
- name: Test wolfssl-4.7.1r DTLS 1.2 Client (psk)
428428
run: |
429-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk -Dwolfssl.version=4.7.1r -roundLimit 6
429+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk -Dwolfssl.version=4.7.1r -roundLimit 6 -eqvThreads 8
430430
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/wolfssl-4.7.1r_client_psk output/wolfssl-4.7.1r_client_psk 6
431431
432432
WolfSSL-5-7-6_DTLS-1-2_Server_psk:
@@ -452,7 +452,7 @@ jobs:
452452

453453
- name: Test wolfssl-5.7.6 DTLS 1.2 Server (psk)
454454
run: |
455-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk -Dwolfssl.version=5.7.6 -roundLimit 4
455+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk -Dwolfssl.version=5.7.6 -roundLimit 4 -eqvThreads 8
456456
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/wolfssl-5.7.6_server_psk output/wolfssl-5.7.6_server_psk 4
457457
458458
WolfSSL-5-7-6_DTLS-1-2_Client_psk:
@@ -478,7 +478,7 @@ jobs:
478478

479479
- name: Test wolfssl-5.7.6 DTLS 1.2 Client (psk)
480480
run: |
481-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk -Dwolfssl.version=5.7.6 -roundLimit 6
481+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk -Dwolfssl.version=5.7.6 -roundLimit 6 -eqvThreads 8
482482
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/wolfssl-5.7.6_client_psk output/wolfssl-5.7.6_client_psk 6
483483
484484
WolfSSL-5-7-6_DTLS-1-3_Server_psk:
@@ -504,7 +504,7 @@ jobs:
504504

505505
- name: Test wolfssl-5.7.6 DTLS 1.3 Server (psk)
506506
run: |
507-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 3
507+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_psk_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 3 -eqvThreads 8
508508
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/wolfssl-5.7.6_server_psk_DTLS13 output/wolfssl-5.7.6_server_psk_DTLS13 3
509509
510510
WolfSSL-5-7-6_DTLS-1-3_Server_dhe_cert_nreq:
@@ -530,7 +530,7 @@ jobs:
530530

531531
- name: Test wolfssl-5.7.6 DTLS 1.3 Server (dhe_cert_nreq)
532532
run: |
533-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_dhe_cert_nreq_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 3
533+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_dhe_cert_nreq_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 3 -eqvThreads 8
534534
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/wolfssl-5.7.6_server_dhe_cert_nreq_DTLS13 output/wolfssl-5.7.6_server_dhe_cert_nreq_DTLS13 3
535535
536536
WolfSSL-5-7-6_DTLS-1-3_Server_dhe_cert_req:
@@ -556,7 +556,7 @@ jobs:
556556

557557
- name: Test wolfssl-5.7.6 DTLS 1.3 Server (dhe_cert_req)
558558
run: |
559-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_dhe_cert_req_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 4
559+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_server_dhe_cert_req_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 4 -eqvThreads 8
560560
experiments/scripts/diff_hyps.sh experiments/models/regression/servers/rounds/wolfssl-5.7.6_server_dhe_cert_req_DTLS13 output/wolfssl-5.7.6_server_dhe_cert_req_DTLS13 4
561561
562562
WolfSSL-5-7-6_DTLS-1-3_Client_psk:
@@ -582,7 +582,7 @@ jobs:
582582

583583
- name: Test wolfssl-5.7.6 DTLS 1.3 Client (psk)
584584
run: |
585-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 5
585+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_psk_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 5 -eqvThreads 8
586586
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/wolfssl-5.7.6_client_psk_DTLS13 output/wolfssl-5.7.6_client_psk_DTLS13 5
587587
588588
WolfSSL-5-7-6_DTLS-1-3_Client_dhe_cert_nreq:
@@ -608,7 +608,7 @@ jobs:
608608

609609
- name: Test wolfssl-5.7.6 DTLS 1.3 Client (dhe_cert_nreq)
610610
run: |
611-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_dhe_cert_nreq_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 7
611+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_dhe_cert_nreq_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 7 -eqvThreads 8
612612
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/wolfssl-5.7.6_client_dhe_cert_nreq_DTLS13 output/wolfssl-5.7.6_client_dhe_cert_nreq_DTLS13 7
613613
614614
WolfSSL-5-7-6_DTLS-1-3_Client_dhe_cert_req:
@@ -634,5 +634,5 @@ jobs:
634634

635635
- name: Test wolfssl-5.7.6 DTLS 1.3 Client (dhe_cert_req)
636636
run: |
637-
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_dhe_cert_req_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 8
637+
java -jar target/dtls-fuzzer.jar args/wolfssl/learn_wolfssl_client_dhe_cert_req_DTLS13 -Dwolfssl.version=5.7.6 -roundLimit 8 -eqvThreads 8
638638
experiments/scripts/diff_hyps.sh experiments/models/regression/clients/rounds/wolfssl-5.7.6_client_dhe_cert_req_DTLS13 output/wolfssl-5.7.6_client_dhe_cert_req_DTLS13 8

experiments/patches/jsse-12.0.2.patch

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff -ruN suts/jsse-12.0.2/src/main/java/se/uu/it/jsse/examples/dtlsclientserver/ThreadStarter.java suts/jsse-12.0.2_patched/src/main/java/se/uu/it/jsse/examples/dtlsclientserver/ThreadStarter.java
2+
--- suts/jsse-12.0.2/src/main/java/se/uu/it/jsse/examples/dtlsclientserver/ThreadStarter.java 2025-03-18 21:40:25.914683921 +0100
3+
+++ suts/jsse-12.0.2_patched/src/main/java/se/uu/it/jsse/examples/dtlsclientserver/ThreadStarter.java 2025-03-18 21:46:09.535577539 +0100
4+
@@ -43,7 +43,7 @@
5+
InetSocketAddress address = new InetSocketAddress(args[0], Integer.valueOf(args[1]));
6+
srvSocket = new ServerSocket();
7+
srvSocket.setReuseAddress(true);
8+
- srvSocket.setSoTimeout(20000);
9+
+ srvSocket.setSoTimeout(200000);
10+
srvSocket.bind(address);
11+
this.config = config;
12+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff -ruN suts/scandium-2.0.0-M16/scandium-dtls-clientserver/src/main/java/org/eclipse/californium/scandium/examples/ThreadStarter.java suts/scandium-2.0.0-M16_patched/scandium-dtls-clientserver/src/main/java/org/eclipse/californium/scandium/examples/ThreadStarter.java
2+
--- suts/scandium-2.0.0-M16/scandium-dtls-clientserver/src/main/java/org/eclipse/californium/scandium/examples/ThreadStarter.java 2023-02-01 13:44:35.000000000 +0100
3+
+++ suts/scandium-2.0.0-M16_patched/scandium-dtls-clientserver/src/main/java/org/eclipse/californium/scandium/examples/ThreadStarter.java 2025-03-18 20:25:19.221887275 +0100
4+
@@ -42,7 +42,7 @@
5+
clientServerBuilder = dtlsServerSupplier;
6+
srvSocket = new ServerSocket();
7+
srvSocket.setReuseAddress(true);
8+
- srvSocket.setSoTimeout(20000);
9+
+ srvSocket.setSoTimeout(200000);
10+
srvSocket.bind(address);
11+
12+
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ readonly SCRIPT_DIR
88
readonly PATCHES_DIR="${SCRIPT_DIR}/experiments/patches"
99

1010

11-
readonly PROTOCOLSTATEFUZZER_COMMIT="e679d1e"
11+
readonly PROTOCOLSTATEFUZZER_COMMIT="b104b0e"
1212
readonly PROTOCOLSTATEFUZZER_REP_URL="https://github.com/protocol-fuzzing/protocol-state-fuzzer.git"
1313
readonly PROTOCOLSTATEFUZZER_FOLDER="ProtocolState-Fuzzer"
1414

src/main/java/se/uu/it/dtlsfuzzer/components/sul/core/TlsSul.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import se.uu.it.dtlsfuzzer.components.sul.core.config.ConfigDelegate;
3535
import se.uu.it.dtlsfuzzer.components.sul.core.config.TlsSulClientConfig;
3636
import se.uu.it.dtlsfuzzer.components.sul.core.config.TlsSulConfig;
37+
import se.uu.it.dtlsfuzzer.components.sul.core.config.TlsSulServerConfig;
3738
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsExecutionContext;
3839
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsProtocolMessage;
3940
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsState;
@@ -141,6 +142,16 @@ public void pre() {
141142
config.getDefaultClientConnection().setUseIpv6(false); // fix NullPointerException
142143
config.getDefaultServerConnection().setUseIpv6(false); // fix NullPointerException
143144
State state = new State(config, new WorkflowTrace());
145+
// fix port number
146+
if (sulConfig.isFuzzingClient()) {
147+
int port = ((TlsSulClientConfig) sulConfig).getPort();
148+
config.getDefaultServerConnection().setPort(port);
149+
} else {
150+
String realHost = ((TlsSulServerConfig) sulConfig).getHost();
151+
var split = realHost.split(":");
152+
int port = Integer.parseInt(split[1]);
153+
config.getDefaultClientConnection().setPort(port);
154+
}
144155
context = new TlsExecutionContext(sulConfig, new TlsState(state));
145156
TransportHandler transportHandler = null;
146157

@@ -166,7 +177,6 @@ public void pre() {
166177
public void run() {
167178
initializeTransportHandler();
168179
}
169-
170180
});
171181
chWaiter.start();
172182
receivedClientHello = false;

src/main/java/se/uu/it/dtlsfuzzer/components/sul/core/TlsSulBuilder.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ public TlsSul build(SulConfig sulConfig, CleanupTasks cleanupTasks) {
3636
TlsSul tlsSul = new TlsSul((TlsSulConfig) sulConfig, mapperConfig, mapperComposer, cleanupTasks);
3737

3838
if (sulConfig.getSulAdapterConfig().getAdapterPort() != null) {
39-
if (sulAdapter == null) {
40-
sulAdapter = new TlsSulAdapter(sulConfig.getSulAdapterConfig(), cleanupTasks, sulConfig.isFuzzingClient());
41-
}
39+
sulAdapter = new TlsSulAdapter(sulConfig.getSulAdapterConfig(), cleanupTasks, sulConfig.isFuzzingClient());
4240
tlsSul.setSulAdapter(sulAdapter);
4341
}
4442
return tlsSul;

0 commit comments

Comments
 (0)