int ssl3_do_change_cipher_spec(SSL *s)
{
int i;
+ size_t finish_md_len;
const char *sender;
- int slen;
+ size_t slen;
if (s->server)
i = SSL3_CHANGE_CIPHER_SERVER_READ;
slen = s->method->ssl3_enc->client_finished_label_len;
}
- i = s->method->ssl3_enc->final_finish_mac(s,
- sender, slen,
- s->s3->tmp.peer_finish_md);
- if (i == 0) {
+ finish_md_len = s->method->ssl3_enc->final_finish_mac(s, sender, slen,
+ s->s3->tmp.peer_finish_md);
+ if (finish_md_len == 0) {
SSLerr(SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC, ERR_R_INTERNAL_ERROR);
return 0;
}
- s->s3->tmp.peer_finish_md_len = i;
+ s->s3->tmp.peer_finish_md_len = finish_md_len;
return (1);
}
int ssl3_dispatch_alert(SSL *s)
{
int i, j;
- unsigned int alertlen;
+ size_t alertlen;
void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ size_t written;
s->s3->alert_dispatch = 0;
alertlen = 2;
- i = do_ssl3_write(s, SSL3_RT_ALERT, &s->s3->send_alert[0], &alertlen, 1, 0);
+ i = do_ssl3_write(s, SSL3_RT_ALERT, &s->s3->send_alert[0], &alertlen, 1, 0,
+ &written);
if (i <= 0) {
s->s3->alert_dispatch = 1;
} else {
cb(s, SSL_CB_WRITE_ALERT, j);
}
}
- return (i);
+ return i;
}