SSL in DTLS mode. SSL_CTX with SSL_MODE_ENABLE_PARTIAL_WRITE option
enabled so SSL_write() may return less than the given data length.

It does not work. I call SSL_write() by passing a very long data
(65536) and it still returns -1. So, in case I want to write a big
data over a DTLS UDP connection, how can I do that? I expected that
SSL_MODE_ENABLE_PARTIAL_WRITE would work in a way that SSL_write()
returns a value suitable for a UDP datagram so I send it and then call
SS_write() again by passing the following chuck in my data buffer.

I've also tried to give SSL_write() less data (for example 16384 bytes
which is NOT suitable for UDP) and in that case it returns 16384.

It also happen during the DTLS handshake that the SSL_read() of the
incoming ClientHello produces all the DTLS responses into a single
step, so when I read from the network BIO I get a data buffer
containing many DTLS response records all together. They usually fit
into a single UDP datagram, but in case they do not I have no idea on
how to get separate DTLS records in order to send them separately in
different UDP datagrams.

-- 
Iñaki Baz Castillo
<i...@aliax.net>

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to