[openssl-users] SSL_F_SSL3_GET_MESSAGE and SSL_R_UNEXPECTED_MESSAGE

Jeffrey Walton noloader at gmail.com
Sun Jan 18 20:00:37 UTC 2015


In the code below from s3_both.c, what would cause the
SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE)?

I'm having trouble understanding the 'reuse_message', and what
satisfies the condition 'tmp.message_type != mt' (i.e., what causes
the failure).

Jeff

==========

long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
    {
    unsigned char *p;
    unsigned long l;
    long n;
    int i,al;

    if (s->s3->tmp.reuse_message)
        {
        s->s3->tmp.reuse_message=0;
        if ((mt >= 0) && (s->s3->tmp.message_type != mt))
            {
            al=SSL_AD_UNEXPECTED_MESSAGE;
            SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE);
            goto f_err;
            }
        *ok=1;
        s->init_msg = s->init_buf->data + 4;
        s->init_num = (int)s->s3->tmp.message_size;
        return s->init_num;
        }
    ...


More information about the openssl-users mailing list