Commit 4db2c2c9 authored by kelsey's avatar kelsey
Browse files

Single middlebox support for 2019 MSP Hackathon

parent d97cff72
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1381,6 +1381,10 @@ SSL_F_TLMSP_MAC_INPUT:660:tlmsp_mac_input
SSL_F_TLMSP_MIDDLEBOX_ADD:661:TLMSP_middlebox_add
SSL_F_TLMSP_MIDDLEBOX_ADD:661:TLMSP_middlebox_add
SSL_F_TLMSP_MIDDLEBOX_CREATE:662:tlmsp_middlebox_create
SSL_F_TLMSP_MIDDLEBOX_CREATE:662:tlmsp_middlebox_create
SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS:663:tlmsp_middlebox_handshake_process
SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS:663:tlmsp_middlebox_handshake_process
SSL_F_TLMSP_MIDDLEBOX_POST_WRITE_CHANGE_CIPHER_SPEC:700:\
	tlmsp_middlebox_post_write_change_cipher_spec
SSL_F_TLMSP_MIDDLEBOX_PROCESS_CHANGE_CIPHER_SPEC:701:\
	tlmsp_middlebox_process_change_cipher_spec
SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO:684:\
SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO:684:\
	tlmsp_middlebox_process_client_hello
	tlmsp_middlebox_process_client_hello
SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO:686:\
SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO:686:\
+2 −0
Original line number Original line Diff line number Diff line
@@ -287,6 +287,8 @@ int ERR_load_SSL_strings(void);
# define SSL_F_TLMSP_MIDDLEBOX_ADD                        661
# define SSL_F_TLMSP_MIDDLEBOX_ADD                        661
# define SSL_F_TLMSP_MIDDLEBOX_CREATE                     662
# define SSL_F_TLMSP_MIDDLEBOX_CREATE                     662
# define SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS          663
# define SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS          663
# define SSL_F_TLMSP_MIDDLEBOX_POST_WRITE_CHANGE_CIPHER_SPEC 700
# define SSL_F_TLMSP_MIDDLEBOX_PROCESS_CHANGE_CIPHER_SPEC 701
# define SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO       684
# define SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO       684
# define SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO       686
# define SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO       686
# define SSL_F_TLMSP_MIDDLEBOX_SEND_MIDDLEBOX_HELLO       687
# define SSL_F_TLMSP_MIDDLEBOX_SEND_MIDDLEBOX_HELLO       687
+4 −0
Original line number Original line Diff line number Diff line
@@ -435,6 +435,10 @@ static const ERR_STRING_DATA SSL_str_functs[] = {
     "tlmsp_middlebox_create"},
     "tlmsp_middlebox_create"},
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS, 0),
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_HANDSHAKE_PROCESS, 0),
     "tlmsp_middlebox_handshake_process"},
     "tlmsp_middlebox_handshake_process"},
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_POST_WRITE_CHANGE_CIPHER_SPEC, 0),
     "tlmsp_middlebox_post_write_change_cipher_spec"},
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_PROCESS_CHANGE_CIPHER_SPEC, 0),
     "tlmsp_middlebox_process_change_cipher_spec"},
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO, 0),
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_PROCESS_CLIENT_HELLO, 0),
     "tlmsp_middlebox_process_client_hello"},
     "tlmsp_middlebox_process_client_hello"},
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO, 0),
    {ERR_PACK(ERR_LIB_SSL, SSL_F_TLMSP_MIDDLEBOX_PROCESS_SERVER_HELLO, 0),
+2 −1
Original line number Original line Diff line number Diff line
@@ -1747,7 +1747,8 @@ int tls_parse_stoc_etm(SSL *s, PACKET *pkt, unsigned int context, X509 *x,
    /* Ignore if inappropriate ciphersuite */
    /* Ignore if inappropriate ciphersuite */
    if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC)
    if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC)
            && s->s3->tmp.new_cipher->algorithm_mac != SSL_AEAD
            && s->s3->tmp.new_cipher->algorithm_mac != SSL_AEAD
            && s->s3->tmp.new_cipher->algorithm_enc != SSL_RC4)
            && s->s3->tmp.new_cipher->algorithm_enc != SSL_RC4
            && !SSL_IS_TLMSP(s))
        s->ext.use_etm = 1;
        s->ext.use_etm = 1;


    return 1;
    return 1;
+2 −1
Original line number Original line Diff line number Diff line
@@ -568,7 +568,8 @@ int tls_parse_ctos_use_srtp(SSL *s, PACKET *pkt, unsigned int context, X509 *x,
int tls_parse_ctos_etm(SSL *s, PACKET *pkt, unsigned int context, X509 *x,
int tls_parse_ctos_etm(SSL *s, PACKET *pkt, unsigned int context, X509 *x,
                       size_t chainidx)
                       size_t chainidx)
{
{
    if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC))
    if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC) &&
        !SSL_IS_TLMSP(s))
        s->ext.use_etm = 1;
        s->ext.use_etm = 1;


    return 1;
    return 1;
Loading