Skip to content

Commit 9fc91d1

Browse files
committed
Re-added changes we lost upon moving class here
1 parent 7262b70 commit 9fc91d1

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

TLS-Scanner-Core/src/main/java/de/rub/nds/tlsscanner/core/vector/response/FingerprintChecker.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
public class FingerprintChecker {
1515

1616
public static EqualityError checkEquality(ResponseFingerprint fingerprint1, ResponseFingerprint fingerprint2) {
17+
boolean foundRecordContentMismatch = false;
1718
if (fingerprint1.getMessageList().size() == fingerprint2.getMessageList().size()) {
1819
for (int i = 0; i < fingerprint1.getMessageList().size(); i++) {
1920
if (!fingerprint1.getMessageList().get(i).toCompactString()
@@ -36,11 +37,6 @@ public static EqualityError checkEquality(ResponseFingerprint fingerprint1, Resp
3637
.equals(fingerprint2.getRecordList().get(i).getClass())) {
3738
return EqualityError.RECORD_CLASS;
3839
}
39-
// This also finds fragmentation issues
40-
if (fingerprint1.getRecordList().get(i).getCompleteRecordBytes().getValue().length
41-
!= fingerprint2.getRecordList().get(i).getCompleteRecordBytes().getValue().length) {
42-
return EqualityError.RECORD_CONTENT;
43-
}
4440
if (fingerprint1.getRecordList().get(i) instanceof Record
4541
&& fingerprint2.getRecordList().get(i) instanceof Record) {
4642
// Comparing Records
@@ -56,6 +52,12 @@ public static EqualityError checkEquality(ResponseFingerprint fingerprint1, Resp
5652
return EqualityError.RECORD_VERSION;
5753
}
5854

55+
// This also finds fragmentation issues
56+
if (fingerprint1.getRecordList().get(i).getCompleteRecordBytes().getValue().length
57+
!= fingerprint2.getRecordList().get(i).getCompleteRecordBytes().getValue().length) {
58+
foundRecordContentMismatch = true;
59+
}
60+
5961
} else {
6062
// Comparing BlobRecords
6163
if (java.util.Arrays.equals(
@@ -69,11 +71,13 @@ public static EqualityError checkEquality(ResponseFingerprint fingerprint1, Resp
6971
return EqualityError.RECORD_COUNT;
7072
}
7173
}
72-
if (fingerprint1.getSocketState() == fingerprint2.getSocketState()) {
73-
return EqualityError.NONE;
74-
} else {
74+
if (fingerprint1.getSocketState() != fingerprint2.getSocketState()) {
7575
return EqualityError.SOCKET_STATE;
76+
} else if (foundRecordContentMismatch) {
77+
return EqualityError.RECORD_CONTENT;
7678
}
79+
80+
return EqualityError.NONE;
7781
}
7882

7983
private FingerprintChecker() {

0 commit comments

Comments
 (0)