Skip to content

Commit 69b03e4

Browse files
committed
Simplify code using error-prone's suggestions
1 parent 04d9948 commit 69b03e4

5 files changed

Lines changed: 42 additions & 76 deletions

File tree

src/main/java/se/uu/it/dtlsfuzzer/components/sul/mapper/DtlsOutputMapper.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ private String toAbstractOutputString(List<String> abstractMessageStrings) {
138138
}
139139

140140
private String toOutputString(ProtocolMessage message) {
141-
if (message instanceof CertificateMessage) {
142-
CertificateMessage cert = (CertificateMessage) message;
141+
if (message instanceof CertificateMessage cert) {
143142
if (cert.getCertificatesListLength().getValue() > 0) {
144143
String certTypeString = getCertSignatureTypeString(cert);
145144
return certTypeString + "_" + message.toCompactString();
@@ -162,16 +161,12 @@ private String getCertSignatureTypeString(CertificateMessage message) {
162161
X509Certificate x509Cert = message.getX509CertificateListFromEntries().get(0);
163162
certType = x509Cert.getX509SignatureAlgorithm().getSignatureAlgorithm();
164163
}
165-
switch (certType) {
166-
case RSA_PKCS1:
167-
case RSA_PSS_RSAE:
168-
case RSA_SSA_PSS:
169-
return "RSA";
170-
case ECDSA:
171-
return "ECDSA";
172-
default:
164+
return switch (certType) {
165+
case RSA_PKCS1, RSA_PSS_RSAE, RSA_SSA_PSS -> "RSA";
166+
case ECDSA -> "ECDSA";
167+
default ->
173168
throw new NotImplementedException("Signature algorithm mapping not implemented for: " + certType.name());
174-
}
169+
};
175170
}
176171

177172
}

src/main/java/se/uu/it/dtlsfuzzer/components/sul/mapper/symbols/inputs/ClientHelloRenegotiationInput.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,20 @@ public ClientHelloRenegotiationInput() {
3838

3939
@Override
4040
public boolean isEnabled(ExecutionContext context) {
41-
switch (enabled) {
42-
case OWN_EPOCH_CHANGE :
41+
return switch (enabled) {
42+
case OWN_EPOCH_CHANGE ->
4343
// send epoch is 1 or more
44-
return getTlsContext(context).getWriteEpoch() > 0;
45-
case SERVER_EPOCH_CHANGE :
44+
getTlsContext(context).getWriteEpoch() > 0;
45+
case SERVER_EPOCH_CHANGE ->
4646
// receive epoch is 1 or more
47-
return getTlsContext(context).getReadEpoch() > 0;
48-
case ONCE :
49-
return getTlsExecutionContext(context)
47+
getTlsContext(context).getReadEpoch() > 0;
48+
case ONCE ->
49+
getTlsExecutionContext(context)
5050
.getTlsStepContextStream()
5151
.noneMatch(s -> this.equals(s.getInput()) && s.getIndex() != getTlsExecutionContext(context).getStepCount() - 1);
52-
default :
53-
return true;
54-
}
52+
default ->
53+
true;
54+
};
5555
}
5656

5757
@Override

src/main/java/se/uu/it/dtlsfuzzer/components/sul/mapper/symbols/inputs/ClientKeyExchangeInput.java

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -33,38 +33,21 @@ public ClientKeyExchangeInput(KeyExchangeAlgorithm algorithm) {
3333
@Override
3434
public TlsProtocolMessage generateProtocolMessage(ExecutionContext context) {
3535
getTlsContext(context).setPreMasterSecret(null);
36-
ProtocolMessage message = null;
3736
if (algorithm == null) {
3837
throw new RuntimeException("Algorithm not set");
3938
}
40-
switch (algorithm) {
41-
case RSA :
42-
message = new RSAClientKeyExchangeMessage();
43-
break;
44-
case PSK :
45-
message = new PskClientKeyExchangeMessage();
46-
break;
47-
case DH :
48-
message = new DHClientKeyExchangeMessage();
49-
break;
50-
case ECDH :
51-
message = new ECDHClientKeyExchangeMessage();
52-
break;
53-
case PSK_RSA :
54-
message = new PskRsaClientKeyExchangeMessage();
55-
break;
56-
case GOST :
57-
message = new GOSTClientKeyExchangeMessage();
58-
break;
59-
case SRP :
60-
message = new SrpClientKeyExchangeMessage();
61-
break;
62-
default :
39+
ProtocolMessage message = switch (algorithm) {
40+
case RSA -> new RSAClientKeyExchangeMessage();
41+
case PSK -> new PskClientKeyExchangeMessage();
42+
case DH -> new DHClientKeyExchangeMessage();
43+
case ECDH -> new ECDHClientKeyExchangeMessage();
44+
case PSK_RSA -> new PskRsaClientKeyExchangeMessage();
45+
case GOST -> new GOSTClientKeyExchangeMessage();
46+
case SRP -> new SrpClientKeyExchangeMessage();
47+
default ->
6348
throw new RuntimeException("Algorithm " + algorithm
6449
+ " not supported");
65-
66-
}
67-
50+
};
6851
return new TlsProtocolMessage(message);
6952
}
7053

src/main/java/se/uu/it/dtlsfuzzer/components/sul/mapper/symbols/inputs/ServerKeyExchangeInput.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,14 @@ public TlsProtocolMessage generateProtocolMessage(ExecutionContext context) {
3030
if (algorithm == null) {
3131
throw new RuntimeException("Algorithm not set");
3232
}
33-
ProtocolMessage ske = null;
34-
switch (algorithm) {
35-
case DH :
36-
ske = new DHEServerKeyExchangeMessage();
37-
break;
38-
case ECDH :
39-
ske = new ECDHEServerKeyExchangeMessage();
40-
break;
41-
case PSK:
42-
ske = new PskServerKeyExchangeMessage();
43-
break;
44-
default :
33+
ProtocolMessage ske = switch (algorithm) {
34+
case DH -> new DHEServerKeyExchangeMessage();
35+
case ECDH -> new ECDHEServerKeyExchangeMessage();
36+
case PSK -> new PskServerKeyExchangeMessage();
37+
default ->
4538
throw new RuntimeException("Algorithm " + algorithm
4639
+ " not supported");
47-
}
40+
};
4841
return new TlsProtocolMessage(ske);
4942
}
5043

src/main/java/se/uu/it/dtlsfuzzer/components/sul/mapper/symbols/inputs/TlsInputType.java

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,17 @@ public enum TlsInputType {
66
CCS, HANDSHAKE, ALERT, APPLICATION, UNKNOWN, HEARTBEAT, EMPTY;
77

88
public static TlsInputType fromTlsMessageType(ProtocolMessageType type) {
9-
switch (type) {
10-
case ALERT :
11-
return TlsInputType.ALERT;
12-
case APPLICATION_DATA :
13-
return TlsInputType.APPLICATION;
14-
case CHANGE_CIPHER_SPEC :
15-
return TlsInputType.CCS;
16-
case HANDSHAKE :
17-
return TlsInputType.HANDSHAKE;
18-
case HEARTBEAT :
19-
return TlsInputType.HEARTBEAT;
20-
case UNKNOWN :
21-
return TlsInputType.UNKNOWN;
22-
default :
9+
return switch (type) {
10+
case ALERT -> TlsInputType.ALERT;
11+
case APPLICATION_DATA -> TlsInputType.APPLICATION;
12+
case CHANGE_CIPHER_SPEC -> TlsInputType.CCS;
13+
case HANDSHAKE -> TlsInputType.HANDSHAKE;
14+
case HEARTBEAT -> TlsInputType.HEARTBEAT;
15+
case UNKNOWN -> TlsInputType.UNKNOWN;
16+
default -> {
2317
throw new RuntimeException("Type not supported: " + type);
24-
}
18+
}
19+
};
2520
}
2621

2722
}

0 commit comments

Comments
 (0)