mirror of
https://github.com/mii443/libdatachannel.git
synced 2025-08-23 07:35:30 +00:00
Cleanup
This commit is contained in:
@ -88,7 +88,6 @@ DtlsTransport::DtlsTransport(shared_ptr<IceTransport> lower, shared_ptr<Certific
|
|||||||
check_gnutls(
|
check_gnutls(
|
||||||
gnutls_credentials_set(mSession, GNUTLS_CRD_CERTIFICATE, mCertificate->credentials()));
|
gnutls_credentials_set(mSession, GNUTLS_CRD_CERTIFICATE, mCertificate->credentials()));
|
||||||
|
|
||||||
gnutls_dtls_set_mtu(mSession, 1280 - 40 - 8); // min MTU over UDP/IPv6 (only for handshake)
|
|
||||||
gnutls_dtls_set_timeouts(mSession,
|
gnutls_dtls_set_timeouts(mSession,
|
||||||
1000, // 1s retransmission timeout recommended by RFC 6347
|
1000, // 1s retransmission timeout recommended by RFC 6347
|
||||||
30000); // 30s total timeout
|
30000); // 30s total timeout
|
||||||
@ -161,6 +160,7 @@ void DtlsTransport::runRecvLoop() {
|
|||||||
// Handshake loop
|
// Handshake loop
|
||||||
try {
|
try {
|
||||||
changeState(State::Connecting);
|
changeState(State::Connecting);
|
||||||
|
gnutls_dtls_set_mtu(mSession, 1280 - 40 - 8); // min MTU over UDP/IPv6
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
do {
|
do {
|
||||||
@ -184,7 +184,7 @@ void DtlsTransport::runRecvLoop() {
|
|||||||
|
|
||||||
// Receive loop
|
// Receive loop
|
||||||
try {
|
try {
|
||||||
PLOG_DEBUG << "DTLS handshake done";
|
PLOG_INFO << "DTLS handshake done";
|
||||||
changeState(State::Connected);
|
changeState(State::Connected);
|
||||||
|
|
||||||
const size_t bufferSize = maxMtu;
|
const size_t bufferSize = maxMtu;
|
||||||
@ -391,7 +391,6 @@ DtlsTransport::DtlsTransport(shared_ptr<IceTransport> lower, shared_ptr<Certific
|
|||||||
throw std::runtime_error("Unable to create SSL instance");
|
throw std::runtime_error("Unable to create SSL instance");
|
||||||
|
|
||||||
SSL_set_ex_data(mSsl, TransportExIndex, this);
|
SSL_set_ex_data(mSsl, TransportExIndex, this);
|
||||||
SSL_set_mtu(mSsl, 1280 - 40 - 8); // min MTU over UDP/IPv6
|
|
||||||
|
|
||||||
if (lower->role() == Description::Role::Active)
|
if (lower->role() == Description::Role::Active)
|
||||||
SSL_set_connect_state(mSsl);
|
SSL_set_connect_state(mSsl);
|
||||||
@ -465,6 +464,7 @@ void DtlsTransport::runRecvLoop() {
|
|||||||
const size_t maxMtu = 4096;
|
const size_t maxMtu = 4096;
|
||||||
try {
|
try {
|
||||||
changeState(State::Connecting);
|
changeState(State::Connecting);
|
||||||
|
SSL_set_mtu(mSsl, 1280 - 40 - 8); // min MTU over UDP/IPv6
|
||||||
|
|
||||||
// Initiate the handshake
|
// Initiate the handshake
|
||||||
int ret = SSL_do_handshake(mSsl);
|
int ret = SSL_do_handshake(mSsl);
|
||||||
@ -485,12 +485,12 @@ void DtlsTransport::runRecvLoop() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (SSL_is_init_finished(mSsl)) {
|
if (SSL_is_init_finished(mSsl)) {
|
||||||
PLOG_DEBUG << "DTLS handshake done";
|
|
||||||
changeState(State::Connected);
|
|
||||||
|
|
||||||
// RFC 8261: DTLS MUST support sending messages larger than the current path
|
// RFC 8261: DTLS MUST support sending messages larger than the current path
|
||||||
// MTU See https://tools.ietf.org/html/rfc8261#section-5
|
// MTU See https://tools.ietf.org/html/rfc8261#section-5
|
||||||
SSL_set_mtu(mSsl, maxMtu + 1);
|
SSL_set_mtu(mSsl, maxMtu + 1);
|
||||||
|
|
||||||
|
PLOG_INFO << "DTLS handshake done";
|
||||||
|
changeState(State::Connected);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int ret = SSL_read(mSsl, buffer, bufferSize);
|
int ret = SSL_read(mSsl, buffer, bufferSize);
|
||||||
|
Reference in New Issue
Block a user