Skip to content

Commit

Permalink
Merge pull request #1047 from tls-attacker/fix/useProvidedDtlsFragments
Browse files Browse the repository at this point in the history
Fixed the use of the provided fragments in DtlsFragmentLayer
  • Loading branch information
mmaehren committed Jul 7, 2023
2 parents aaf0042 + 7b25103 commit 9d5d054
Showing 1 changed file with 10 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,16 @@ public LayerProcessingResult<DtlsHandshakeMessageFragment> sendData(
fragments = getEnoughFragments(context, data.length);
} else {
// use the provided fragments
fragments.add(getUnprocessedConfiguredContainers().get(0));
if (context.getConfig().isCreateFragmentsDynamically()) {
fragments.addAll(
getEnoughFragments(
context,
data.length - fragments.get(0).getMaxFragmentLengthConfig()));
int dataToBeSent = data.length;
List<DtlsHandshakeMessageFragment> givenFragments =
getUnprocessedConfiguredContainers();
while (dataToBeSent > 0 && givenFragments.size() > 0) {
DtlsHandshakeMessageFragment nextFragment = givenFragments.remove(0);
fragments.add(nextFragment);
dataToBeSent -= nextFragment.getMaxFragmentLengthConfig();
}
if (dataToBeSent > 0 && context.getConfig().isCreateFragmentsDynamically()) {
fragments.addAll(getEnoughFragments(context, dataToBeSent));
}
}
fragments =
Expand Down

0 comments on commit 9d5d054

Please sign in to comment.