rdata = (DTLS1_RECORD_DATA *)item->data;
- SSL3_BUFFER_release(RECORD_LAYER_get_rbuf(&s->rlayer));
+ SSL3_BUFFER_release(&s->rlayer.rbuf);
- s->packet = rdata->packet;
- s->packet_length = rdata->packet_length;
- memcpy(RECORD_LAYER_get_rbuf(&s->rlayer), &(rdata->rbuf),
- sizeof(SSL3_BUFFER));
- memcpy(RECORD_LAYER_get_rrec(&s->rlayer), &(rdata->rrec),
- sizeof(SSL3_RECORD));
+ s->rlayer.packet = rdata->packet;
+ s->rlayer.packet_length = rdata->packet_length;
+ memcpy(&s->rlayer.rbuf, &(rdata->rbuf), sizeof(SSL3_BUFFER));
+ memcpy(&s->rlayer.rrec, &(rdata->rrec), sizeof(SSL3_RECORD));
/* Set proper sequence number for mac calculation */
memcpy(&(s->s3->read_sequence[2]), &(rdata->packet[5]), 6);
return -1;
}
- rdata->packet = s->packet;
- rdata->packet_length = s->packet_length;
- memcpy(&(rdata->rbuf), RECORD_LAYER_get_rbuf(&s->rlayer),
- sizeof(SSL3_BUFFER));
- memcpy(&(rdata->rrec), RECORD_LAYER_get_rrec(&s->rlayer),
- sizeof(SSL3_RECORD));
+ rdata->packet = s->rlayer.packet;
+ rdata->packet_length = s->rlayer.packet_length;
+ memcpy(&(rdata->rbuf), &s->rlayer.rbuf, sizeof(SSL3_BUFFER));
+ memcpy(&(rdata->rrec), &s->rlayer.rrec, sizeof(SSL3_RECORD));
item->data = rdata;
}
#endif
- s->packet = NULL;
- s->packet_length = 0;
- memset(RECORD_LAYER_get_rbuf(&s->rlayer), 0, sizeof(SSL3_BUFFER));
- memset(RECORD_LAYER_get_rrec(&s->rlayer), 0, sizeof(SSL3_RECORD));
+ s->rlayer.packet = NULL;
+ s->rlayer.packet_length = 0;
+ memset(&s->rlayer.rbuf, 0, sizeof(SSL3_BUFFER));
+ memset(&s->rlayer.rrec, 0, sizeof(SSL3_RECORD));
if (!ssl3_setup_buffers(s)) {
SSLerr(SSL_F_DTLS1_BUFFER_RECORD, ERR_R_INTERNAL_ERROR);
if (!dtls1_process_record(s))
return (0);
if (dtls1_buffer_record(s, &(s->d1->processed_rcds),
- SSL3_RECORD_get_seq_num(RECORD_LAYER_get_rrec(&s->rlayer))) < 0)
+ SSL3_RECORD_get_seq_num(&s->rlayer.rrec)) < 0)
return -1;
}
}
SSL3_RECORD *rr;
void (*cb) (const SSL *ssl, int type2, int val) = NULL;
- if (!SSL3_BUFFER_is_initialised(RECORD_LAYER_get_rbuf(&s->rlayer))) {
+ if (!SSL3_BUFFER_is_initialised(&s->rlayer.rbuf)) {
/* Not initialized yet */
if (!ssl3_setup_buffers(s))
return (-1);
* s->s3->rrec.off, - offset into 'data' for next read
* s->s3->rrec.length, - number of bytes.
*/
- rr = RECORD_LAYER_get_rrec(&s->rlayer);
+ rr = &s->rlayer.rrec;
/*
* We are not handshaking and have no data yet, so process data buffered
goto start;
/* get new packet if necessary */
- if ((rr->length == 0) || (s->rstate == SSL_ST_READ_BODY)) {
+ if ((rr->length == 0) || (s->rlayer.rstate == SSL_ST_READ_BODY)) {
ret = dtls1_get_record(s);
if (ret <= 0) {
ret = dtls1_read_failed(s, ret);
rr->length -= n;
rr->off += n;
if (rr->length == 0) {
- s->rstate = SSL_ST_READ_HEADER;
+ s->rlayer.rstate = SSL_ST_READ_HEADER;
rr->off = 0;
}
}
#ifndef OPENSSL_NO_HEARTBEATS
else if (rr->type == TLS1_RT_HEARTBEAT) {
/* We allow a 0 return */
- if(dtls1_process_heartbeat(s) < 0) {
+ if(dtls1_process_heartbeat(s, SSL3_RECORD_get_data(&s->rlayer.rrec),
+ SSL3_RECORD_get_length(&s->rlayer.rrec)) < 0) {
return -1;
}
-
/* Exit and notify application to read again */
rr->length = 0;
s->rwstate = SSL_READING;
*/
FIX ME
#endif
- s->rstate = SSL_ST_READ_HEADER;
+ s->rlayer.rstate = SSL_ST_READ_HEADER;
rr->length = 0;
goto start;
}
}
if (!(s->mode & SSL_MODE_AUTO_RETRY)) {
- if (SSL3_BUFFER_get_left(
- RECORD_LAYER_get_rbuf(&s->rlayer)) == 0) {
+ if (SSL3_BUFFER_get_left(&s->rlayer.rbuf) == 0) {
/* no read-ahead left? */
BIO *bio;
/*
}
if (!(s->mode & SSL_MODE_AUTO_RETRY)) {
- if (SSL3_BUFFER_get_left(
- RECORD_LAYER_get_rbuf(&s->rlayer)) == 0) {
+ if (SSL3_BUFFER_get_left(&s->rlayer.rbuf) == 0) {
/* no read-ahead left? */
BIO *bio;
/*
SSL3_BUFFER *wb;
SSL_SESSION *sess;
- wb = RECORD_LAYER_get_wbuf(&s->rlayer);
+ wb = &s->rlayer.wbuf;
/*
* first check if there is a SSL3_BUFFER still being written out. This
if (len == 0 && !create_empty_fragment)
return 0;
- wr = RECORD_LAYER_get_wrec(&s->rlayer);
+ wr = &s->rlayer.wrec;
sess = s->session;
if ((sess == NULL) ||
cmp = satsub64be(seq, bitmap->max_seq_num);
if (cmp > 0) {
- SSL3_RECORD_set_seq_num(RECORD_LAYER_get_rrec(&s->rlayer), seq);
+ SSL3_RECORD_set_seq_num(&s->rlayer.rrec, seq);
return 1; /* this record in new */
}
shift = -cmp;
else if (bitmap->map & (1UL << shift))
return 0; /* record previously received */
- SSL3_RECORD_set_seq_num(RECORD_LAYER_get_rrec(&s->rlayer), seq);
+ SSL3_RECORD_set_seq_num(&s->rlayer.rrec, seq);
return 1;
}