Skip to content

Commit e908817

Browse files
authored
Merge pull request #48 from tls-attacker/FixByteArraySerialization
Fix byte array serialization
2 parents e53ea92 + e412245 commit e908817

10 files changed

+24
-44
lines changed

src/main/java/de/rub/nds/modifiablevariable/ModifiableVariable.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import de.rub.nds.modifiablevariable.singlebyte.ByteSubtractModification;
4141
import de.rub.nds.modifiablevariable.singlebyte.ByteXorModification;
4242
import de.rub.nds.modifiablevariable.string.StringExplicitValueModification;
43-
import de.rub.nds.modifiablevariable.util.ByteArrayAdapter;
43+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
4444
import java.io.Serializable;
4545
import java.util.Objects;
4646
import javax.xml.bind.annotation.XmlAccessType;
@@ -62,7 +62,6 @@
6262
@XmlRootElement
6363
@XmlTransient
6464
@XmlAccessorType(XmlAccessType.FIELD)
65-
@XmlJavaTypeAdapter(value = ByteArrayAdapter.class, type = byte[].class)
6665
public abstract class ModifiableVariable<E> implements Serializable {
6766

6867
protected Boolean autoformat = null;
@@ -120,6 +119,7 @@ public void setModification(VariableModification<E> modification) {
120119
this.modification = modification;
121120
}
122121

122+
@XmlTransient
123123
public VariableModification<E> getModification() {
124124
return modification;
125125
}

src/main/java/de/rub/nds/modifiablevariable/VariableModification.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import de.rub.nds.modifiablevariable.filter.AccessModificationFilter;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14-
import de.rub.nds.modifiablevariable.util.ByteArrayAdapter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1515
import javax.xml.bind.annotation.XmlAccessType;
1616
import javax.xml.bind.annotation.XmlAccessorType;
1717
import javax.xml.bind.annotation.XmlElement;
@@ -25,7 +25,6 @@
2525
@XmlRootElement
2626
@XmlTransient
2727
@XmlAccessorType(XmlAccessType.FIELD)
28-
@XmlJavaTypeAdapter(value = ByteArrayAdapter.class, type = byte[].class)
2928
public abstract class VariableModification<E> {
3029

3130
protected static final Logger LOGGER = LogManager.getLogger(VariableModification.class);

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayDuplicateModification.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1415
import javax.xml.bind.annotation.XmlAccessType;
1516
import javax.xml.bind.annotation.XmlAccessorType;
1617
import javax.xml.bind.annotation.XmlRootElement;
1718
import javax.xml.bind.annotation.XmlType;
19+
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
1820

1921
@XmlRootElement
2022
@XmlType(propOrder = { "modificationFilter" })

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayExplicitValueModification.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1415
import java.util.Arrays;
1516
import java.util.Random;
1617
import javax.xml.bind.annotation.XmlAccessType;
1718
import javax.xml.bind.annotation.XmlAccessorType;
1819
import javax.xml.bind.annotation.XmlRootElement;
1920
import javax.xml.bind.annotation.XmlType;
21+
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
2022

2123
@XmlRootElement
2224
@XmlType(propOrder = { "explicitValue", "modificationFilter" })
@@ -25,6 +27,7 @@ public class ByteArrayExplicitValueModification extends VariableModification<byt
2527

2628
private static final int MAX_EXPLICIT_VALUE = 256;
2729

30+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
2831
private byte[] explicitValue;
2932

3033
public ByteArrayExplicitValueModification() {

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayInsertModification.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1415
import java.util.Arrays;
1516
import java.util.Random;
1617
import javax.xml.bind.annotation.XmlAccessType;
1718
import javax.xml.bind.annotation.XmlAccessorType;
1819
import javax.xml.bind.annotation.XmlRootElement;
1920
import javax.xml.bind.annotation.XmlType;
21+
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
2022

2123
@XmlRootElement
2224
@XmlType(propOrder = { "bytesToInsert", "startPosition", "modificationFilter" })
@@ -27,6 +29,7 @@ public class ByteArrayInsertModification extends VariableModification<byte[]> {
2729

2830
private static final int MAX_INSERT_MODIFIER = 32;
2931

32+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
3033
private byte[] bytesToInsert;
3134

3235
private int startPosition;

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayPayloadModification.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,25 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1415
import java.util.Arrays;
1516
import javax.xml.bind.annotation.XmlAccessType;
1617
import javax.xml.bind.annotation.XmlAccessorType;
1718
import javax.xml.bind.annotation.XmlRootElement;
1819
import javax.xml.bind.annotation.XmlType;
20+
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
1921

2022
@XmlRootElement
2123
@XmlType(propOrder = { "prependPayload", "payload", "appendPayload", "insert", "insertPosition", "modificationFilter" })
22-
@XmlAccessorType(XmlAccessType.FIELD)
2324
public class ByteArrayPayloadModification extends VariableModification<byte[]> {
2425

26+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
2527
private byte[] prependPayload = new byte[] {};
2628

29+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
2730
private byte[] payload = new byte[] {};
2831

32+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
2933
private byte[] appendPayload = new byte[] {};
3034

3135
private boolean insert = false;

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayShuffleModification.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14-
import de.rub.nds.modifiablevariable.util.ByteArrayAdapter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1515
import java.util.Arrays;
1616
import java.util.Random;
1717
import javax.xml.bind.annotation.XmlAccessType;
@@ -32,6 +32,7 @@ public class ByteArrayShuffleModification extends VariableModification<byte[]> {
3232

3333
private static final int MAX_MODIFIER_VALUE = 256;
3434

35+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
3536
private byte[] shuffle;
3637

3738
public ByteArrayShuffleModification() {

src/main/java/de/rub/nds/modifiablevariable/bytearray/ByteArrayXorModification.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111

1212
import de.rub.nds.modifiablevariable.VariableModification;
1313
import de.rub.nds.modifiablevariable.util.ArrayConverter;
14+
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1415
import java.util.Arrays;
1516
import java.util.Random;
1617
import javax.xml.bind.annotation.XmlAccessType;
1718
import javax.xml.bind.annotation.XmlAccessorType;
1819
import javax.xml.bind.annotation.XmlRootElement;
1920
import javax.xml.bind.annotation.XmlType;
21+
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
2022

2123
@XmlRootElement
2224
@XmlType(propOrder = { "xor", "startPosition", "modificationFilter" })
@@ -27,6 +29,7 @@ public class ByteArrayXorModification extends VariableModification<byte[]> {
2729

2830
private static final int MAX_XOR_MODIFIER = 32;
2931

32+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
3033
private byte[] xor;
3134

3235
private int startPosition;

src/main/java/de/rub/nds/modifiablevariable/bytearray/ModifiableByteArray.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import de.rub.nds.modifiablevariable.ModifiableVariable;
1313
import de.rub.nds.modifiablevariable.VariableModification;
1414
import de.rub.nds.modifiablevariable.util.ArrayConverter;
15-
import de.rub.nds.modifiablevariable.util.ByteArrayAdapter;
1615
import de.rub.nds.modifiablevariable.util.UnformattedByteArrayAdapter;
1716
import java.io.Serializable;
1817
import java.util.Arrays;
@@ -22,14 +21,13 @@
2221
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
2322

2423
@XmlRootElement
25-
@XmlAccessorType(XmlAccessType.FIELD)
24+
@XmlAccessorType(XmlAccessType.PROPERTY)
2625
public class ModifiableByteArray extends ModifiableVariable<byte[]> implements Serializable {
2726

2827
public ModifiableByteArray() {
2928
autoformat = true;
3029
}
3130

32-
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
3331
private byte[] originalValue;
3432

3533
@Override
@@ -39,6 +37,7 @@ protected void createRandomModification() {
3937
}
4038

4139
@Override
40+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
4241
public byte[] getOriginalValue() {
4342
return originalValue;
4443
}
@@ -48,6 +47,7 @@ public void setOriginalValue(byte[] originalValue) {
4847
this.originalValue = originalValue;
4948
}
5049

50+
@XmlJavaTypeAdapter(UnformattedByteArrayAdapter.class)
5151
public byte[] getAssertEquals() {
5252
return assertEquals;
5353
}

src/main/java/de/rub/nds/modifiablevariable/util/ByteArrayAdapter.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)