• D
    DTLS revision. · 173e72e6
    Dr. Stephen Henson 提交于
    Revise DTLS code. There was a *lot* of code duplication in the
    DTLS code that generates records. This makes it harder to maintain and
    sometimes a TLS update is omitted by accident from the DTLS code.
    
    Specifically almost all of the record generation functions have code like
    this:
    
    some_pointer = buffer + HANDSHAKE_HEADER_LENGTH;
    ... Record creation stuff ...
    set_handshake_header(ssl, SSL_MT_SOMETHING, message_len);
    
    ...
    
    write_handshake_message(ssl);
    
    Where the "Record creation stuff" is identical between SSL/TLS and DTLS or
    in some cases has very minor differences.
    
    By adding a few fields to SSL3_ENC to include the header length, some flags
    and function pointers for handshake header setting and handshake writing the
    code can cope with both cases.
    
    Note: although this passes "make test" and some simple DTLS tests there may
    be some minor differences in the DTLS code that have to be accounted for.
    173e72e6
d1_clnt.c 21.4 KB