/** * 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(); } }