Skip to content

Commit bc17d20

Browse files
committed
chg: Use explicit declaration of requirement to derive from ProtocolMessage
1 parent bab6c1a commit bc17d20

File tree

16 files changed

+38
-36
lines changed

16 files changed

+38
-36
lines changed

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/mitm/MitMWorkflowExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ protected void parseRawBytesIntoProtocolMessages(byte[] rawProtocolMessageBytes,
309309
List<ProtocolMessage> protocolMessages, ProtocolMessageType protocolMessageType) {
310310
int dataPointer = 0;
311311
while (dataPointer != rawProtocolMessageBytes.length && workflowContext.isProceedWorkflow()) {
312-
ProtocolMessageHandler pmh = protocolMessageType.getProtocolMessageHandler(
312+
ProtocolMessageHandler<? extends ProtocolMessage> pmh = protocolMessageType.getProtocolMessageHandler(
313313
rawProtocolMessageBytes[dataPointer], tlsContext);
314314
if (Arrays.equals(rawProtocolMessageBytes,
315315
new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 })) {
@@ -331,7 +331,7 @@ protected void parseRawBytesIntoProtocolMessages(byte[] rawProtocolMessageBytes,
331331
*
332332
* @param pmh
333333
*/
334-
private void handleIncomingAlert(ProtocolMessageHandler pmh) {
334+
private void handleIncomingAlert(ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
335335
if (pmh.getProtocolMessage().getProtocolMessageType() == ProtocolMessageType.ALERT) {
336336
AlertMessage am = (AlertMessage) pmh.getProtocolMessage();
337337
am.setMessageIssuer(ConnectionEnd.SERVER);
@@ -347,7 +347,7 @@ private void handleIncomingAlert(ProtocolMessageHandler pmh) {
347347
* @param protocolMessages
348348
* @param pmh
349349
*/
350-
private void identifyCorrectProtocolMessage(List<ProtocolMessage> protocolMessages, ProtocolMessageHandler pmh) {
350+
private void identifyCorrectProtocolMessage(List<ProtocolMessage> protocolMessages, ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
351351
ProtocolMessage pm = null;
352352
if (workflowContext.getProtocolMessagePointer() < protocolMessages.size()) {
353353
pm = protocolMessages.get(workflowContext.getProtocolMessagePointer());

TLS/src/main/java/de/rub/nds/tlsattacker/dtls/workflow/Dtls12WorkflowExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ private boolean receiveAndParseNextProtocolMessage(ProtocolMessage pm) throws Ex
244244
byte[] rawMessageBytes = rcvRecord.getProtocolMessageBytes().getValue();
245245
ProtocolMessageType rcvRecordContentType = ProtocolMessageType.getContentType(rcvRecord.getContentType()
246246
.getValue());
247-
ProtocolMessageHandler pmh = rcvRecordContentType.getProtocolMessageHandler(
247+
ProtocolMessageHandler<? extends ProtocolMessage> pmh = rcvRecordContentType.getProtocolMessageHandler(
248248
rawMessageBytes[messageParseBufferOffset], tlsContext);
249249

250250
if (!pmh.isCorrectProtocolMessage(pm)) {
@@ -291,7 +291,7 @@ private ProtocolMessage getWorkflowProtocolMessage(int messagePointer) {
291291
return null;
292292
}
293293

294-
private boolean handleIncomingAlert(ProtocolMessageHandler pmh) {
294+
private boolean handleIncomingAlert(ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
295295
AlertMessage am = (AlertMessage) pmh.getProtocolMessage();
296296
am.setMessageIssuer(ConnectionEnd.SERVER);
297297
if (AlertLevel.getAlertLevel(am.getLevel().getValue()) == AlertLevel.FATAL) {
@@ -301,7 +301,7 @@ private boolean handleIncomingAlert(ProtocolMessageHandler pmh) {
301301
return true;
302302
}
303303

304-
private ProtocolMessage wrongMessageFound(ProtocolMessageHandler pmh) {
304+
private ProtocolMessage wrongMessageFound(ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
305305
LOGGER.debug("The configured protocol message is not equal to the message being parsed or the message was not found.");
306306
removeNextProtocolMessages(protocolMessages, workflowContext.getProtocolMessagePointer());
307307
pmh.initializeProtocolMessage();

TLS/src/main/java/de/rub/nds/tlsattacker/tls/constants/HandshakeMessageType.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.Map;
1313

1414
import de.rub.nds.tlsattacker.dtls.protocol.handshake.HelloVerifyRequestHandler;
15+
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessage;
1516
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessageHandler;
1617
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessageHandlerBearer;
1718
import de.rub.nds.tlsattacker.tls.protocol.handshake.CertificateHandler;
@@ -40,48 +41,48 @@ public enum HandshakeMessageType implements ProtocolMessageHandlerBearer {
4041
HELLO_REQUEST((byte) 0) {
4142

4243
@Override
43-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
44+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
4445
return new HelloRequestHandler(tlsContext);
4546
}
4647
},
4748
CLIENT_HELLO((byte) 1) {
4849

4950
@Override
50-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
51+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
5152
return new ClientHelloHandler<>(tlsContext);
5253
}
5354
},
5455
SERVER_HELLO((byte) 2) {
5556

5657
@Override
57-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
58+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
5859
return new ServerHelloHandler(tlsContext);
5960
}
6061
},
6162
HELLO_VERIFY_REQUEST((byte) 3) {
6263
@Override
63-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
64+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
6465
return new HelloVerifyRequestHandler<>(tlsContext);
6566
}
6667
},
6768
NEW_SESSION_TICKET((byte) 4) {
6869

6970
@Override
70-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
71+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
7172
throw new UnsupportedOperationException("Message " + NEW_SESSION_TICKET + " NOT supported yet.");
7273
}
7374
},
7475
CERTIFICATE((byte) 11) {
7576

7677
@Override
77-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
78+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
7879
return new CertificateHandler<>(tlsContext);
7980
}
8081
},
8182
SERVER_KEY_EXCHANGE((byte) 12) {
8283

8384
@Override
84-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
85+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
8586
CipherSuite cs = tlsContext.getSelectedCipherSuite();
8687
KeyExchangeAlgorithm algorithm = AlgorithmResolver.getKeyExchangeAlgorithm(cs);
8788
switch (algorithm) {
@@ -101,28 +102,28 @@ ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
101102
CERTIFICATE_REQUEST((byte) 13) {
102103

103104
@Override
104-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
105+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
105106
return new CertificateRequestHandler<>(tlsContext);
106107
}
107108
},
108109
SERVER_HELLO_DONE((byte) 14) {
109110

110111
@Override
111-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
112+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
112113
return new ServerHelloDoneHandler(tlsContext);
113114
}
114115
},
115116
CERTIFICATE_VERIFY((byte) 15) {
116117

117118
@Override
118-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
119+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
119120
return new CertificateVerifyHandler<>(tlsContext);
120121
}
121122
},
122123
CLIENT_KEY_EXCHANGE((byte) 16) {
123124

124125
@Override
125-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
126+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
126127
CipherSuite cs = tlsContext.getSelectedCipherSuite();
127128
KeyExchangeAlgorithm algorithm = AlgorithmResolver.getKeyExchangeAlgorithm(cs);
128129
switch (algorithm) {
@@ -144,7 +145,7 @@ ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
144145
FINISHED((byte) 20) {
145146

146147
@Override
147-
ProtocolMessageHandler getMessageHandler(TlsContext tlsContext) {
148+
ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext) {
148149
return new FinishedHandler(tlsContext);
149150
}
150151
};
@@ -188,10 +189,10 @@ public final String getName() {
188189
return this.name();
189190
}
190191

191-
abstract ProtocolMessageHandler getMessageHandler(TlsContext tlsContext);
192+
abstract ProtocolMessageHandler<? extends ProtocolMessage> getMessageHandler(TlsContext tlsContext);
192193

193194
@Override
194-
public ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext) {
195+
public ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext) {
195196
return getMessageHandler(tlsContext);
196197
}
197198
}

TLS/src/main/java/de/rub/nds/tlsattacker/tls/constants/ProtocolMessageType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public byte[] getArrayValue() {
6262
return new byte[] { value };
6363
}
6464

65-
public ProtocolMessageHandler getProtocolMessageHandler(byte value, TlsContext tlsContext) {
65+
public ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(byte value, TlsContext tlsContext) {
6666
ProtocolMessageHandler<? extends ProtocolMessage> pmh = null;
6767
LOGGER.debug("Trying to get a protocol message handler for the following content type: {}", this);
6868
switch (this) {

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/ArbitraryMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public ArbitraryMessage() {
2222
}
2323

2424
@Override
25-
public ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext) {
25+
public ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext) {
2626
throw new UnsupportedOperationException("Arbitrary message protocol handler not supported yet.");
2727
}
2828

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/ProtocolMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public abstract class ProtocolMessage extends ModifiableVariableHolder implement
8080
protected ModifiableByteArray completeResultingMessage;
8181

8282
@Override
83-
public abstract ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext);
83+
public abstract ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext);
8484

8585
public ProtocolMessageType getProtocolMessageType() {
8686
return protocolMessageType;

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/ProtocolMessageHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ public Message getProtocolMessage() {
176176
/**
177177
* @param protocolMessage
178178
*/
179-
public void setProtocolMessage(Message protocolMessage) {
180-
this.protocolMessage = protocolMessage;
179+
@SuppressWarnings("unchecked")
180+
public void setProtocolMessage(ProtocolMessage protocolMessage) {
181+
this.protocolMessage = (Message) protocolMessage;
181182
}
182183
}

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/ProtocolMessageHandlerBearer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@
1515
*/
1616
public interface ProtocolMessageHandlerBearer {
1717

18-
public abstract ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext);
18+
public abstract ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext);
1919
}

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/alert/AlertMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public String toCompactString() {
112112
}
113113

114114
@Override
115-
public ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext) {
115+
public ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext) {
116116
AlertHandler ah = new AlertHandler(tlsContext);
117117
ah.setProtocolMessage(this);
118118
return ah;

TLS/src/main/java/de/rub/nds/tlsattacker/tls/protocol/application/ApplicationMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void setData(byte[] data) {
4949
}
5050

5151
@Override
52-
public ProtocolMessageHandler getProtocolMessageHandler(TlsContext tlsContext) {
52+
public ProtocolMessageHandler<? extends ProtocolMessage> getProtocolMessageHandler(TlsContext tlsContext) {
5353
ApplicationHandler ah = new ApplicationHandler(tlsContext);
5454
ah.setProtocolMessage(this);
5555
return ah;

0 commit comments

Comments
 (0)