/** * 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.MaxFragmentLength; /** * Maximum Fragment Length Extension described in rfc3546 * * @author Juraj Somorovsky <juraj.somorovsky@rub.de> */ public class MaxFragmentLengthExtensionMessage extends ExtensionMessage { private MaxFragmentLength maxFragmentLengthConfig; /** * Maximum fragment length value described in rfc3546 */ @ModifiableVariableProperty(type = ModifiableVariableProperty.Type.TLS_CONSTANT) ModifiableByteArray maxFragmentLength; public MaxFragmentLengthExtensionMessage() { this.extensionTypeConstant = ExtensionType.MAX_FRAGMENT_LENGTH; } public MaxFragmentLength getMaxFragmentLengthConfig() { return maxFragmentLengthConfig; } public void setMaxFragmentLengthConfig(MaxFragmentLength maxFragmentLengthConfig) { this.maxFragmentLengthConfig = maxFragmentLengthConfig; } public ModifiableByteArray getMaxFragmentLength() { return maxFragmentLength; } public void setMaxFragmentLength(ModifiableByteArray maxFragmentLength) { this.maxFragmentLength = maxFragmentLength; } public void setMaxFragmentLength(byte[] maxFragmentLength) { this.maxFragmentLength = ModifiableVariableFactory.safelySetValue(this.maxFragmentLength, maxFragmentLength); } @Override public ExtensionHandler<? extends ExtensionMessage> getExtensionHandler() { return MaxFragmentLengthExtensionHandler.getInstance(); } }