Commit 5032abdf authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

TLS 1.3 support for ssl_print_ticket()

parent 26212351
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -1265,7 +1265,7 @@ static int ssl_print_cert_request(BIO *bio, int indent, SSL *s,
    return 1;
}

static int ssl_print_ticket(BIO *bio, int indent,
static int ssl_print_ticket(BIO *bio, int indent, SSL *s,
                            const unsigned char *msg, size_t msglen)
{
    unsigned int tick_life;
@@ -1281,8 +1281,23 @@ static int ssl_print_ticket(BIO *bio, int indent,
    msg += 4;
    BIO_indent(bio, indent + 2, 80);
    BIO_printf(bio, "ticket_lifetime_hint=%u\n", tick_life);
    if (SSL_IS_TLS13(s)) {
        unsigned int ticket_age_add;
        if (msglen < 4)
            return 0;
        ticket_age_add = (msg[0] << 24) | (msg[1] << 16) | (msg[2] << 8)
                          | msg[3];
        msglen -= 4;
        msg += 4;
        BIO_indent(bio, indent + 2, 80);
        BIO_printf(bio, "ticket_age_add=%u\n", ticket_age_add);
    }
    if (!ssl_print_hexbuf(bio, indent + 2, "ticket", 2, &msg, &msglen))
        return 0;
    if (SSL_IS_TLS13(s) && !ssl_print_extensions(bio, indent + 2, 0,
                                                 SSL3_MT_NEWSESSION_TICKET,
                                                 &msg, &msglen))
        return 0;
    if (msglen)
        return 0;
    return 1;
@@ -1368,7 +1383,7 @@ static int ssl_print_handshake(BIO *bio, SSL *ssl, int server,
        break;

    case SSL3_MT_NEWSESSION_TICKET:
        if (!ssl_print_ticket(bio, indent + 2, msg, msglen))
        if (!ssl_print_ticket(bio, indent + 2, ssl, msg, msglen))
            return 0;
        break;