src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java

Print this page
8167680 DTLS implementation bugs

*** 1,7 **** /* ! * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 277,286 **** --- 277,296 ---- void initHandshaker() { // clean up fragmenter = null; } + @Override + void launchRetransmission() { + // Note: Please don't retransmit if there are handshake messages + // or alerts waiting in the queue. + if (((alertMemos == null) || alertMemos.isEmpty()) && + (fragmenter != null) && fragmenter.isRetransmittable()) { + fragmenter.setRetransmission(); + } + } + // buffered record fragment private static class RecordMemo { byte contentType; byte majorVersion; byte minorVersion;