/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.tls.protocol.extension;
import de.rub.nds.tlsattacker.modifiablevariable.ModifiableVariableFactory;
import de.rub.nds.tlsattacker.modifiablevariable.ModifiableVariableProperty;
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ModifiableByteArray;
import de.rub.nds.tlsattacker.tls.constants.ExtensionType;
import de.rub.nds.tlsattacker.tls.constants.HeartbeatMode;
/**
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
*/
public class HeartbeatExtensionMessage extends ExtensionMessage {
private HeartbeatMode heartbeatModeConfig;
@ModifiableVariableProperty(type = ModifiableVariableProperty.Type.TLS_CONSTANT)
ModifiableByteArray heartbeatMode;
public HeartbeatExtensionMessage() {
this.extensionTypeConstant = ExtensionType.HEARTBEAT;
}
public ModifiableByteArray getHeartbeatMode() {
return heartbeatMode;
}
public void setHeartbeatMode(ModifiableByteArray heartbeatMode) {
this.heartbeatMode = heartbeatMode;
}
public void setHeartbeatMode(byte[] heartbeatMode) {
this.heartbeatMode = ModifiableVariableFactory.safelySetValue(this.heartbeatMode, heartbeatMode);
}
public HeartbeatMode getHeartbeatModeConfig() {
return heartbeatModeConfig;
}
public void setHeartbeatModeConfig(HeartbeatMode heartbeatModeConfig) {
this.heartbeatModeConfig = heartbeatModeConfig;
}
@Override
public ExtensionHandler<? extends ExtensionMessage> getExtensionHandler() {
return HeartbeatExtensionHandler.getInstance();
}
}