p += 6;
n2s(p, rr->length);
- rr->read = 0;
/*
* Lets check the version. We tolerate alerts that don't have the exact
if (version != rl->version) {
/* unexpected version, silently discard */
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
: rl->version >> 8)) {
/* wrong version, silently discard record */
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
if (rr->length > SSL3_RT_MAX_ENCRYPTED_LENGTH) {
/* record too long, silently discard it */
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
&& rr->length > rl->max_frag_len + SSL3_RT_MAX_ENCRYPTED_OVERHEAD) {
/* record too long, silently discard it */
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
return OSSL_RECORD_RETURN_FATAL;
}
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
/* Check whether this is a repeat, or aged record. */
if (!dtls_record_replay_check(rl, bitmap)) {
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0; /* dump this record */
goto again; /* get another record */
}
#endif
/* just read a 0 length packet */
- if (rr->length == 0) {
- rr->read = 1;
+ if (rr->length == 0)
goto again;
- }
/*
* If this record is from the next epoch (either HM or ALERT), and a
}
}
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0;
goto again;
}
return OSSL_RECORD_RETURN_FATAL;
}
rr->length = 0;
- rr->read = 1;
rl->packet_length = 0; /* dump this record */
goto again; /* get another record */
}
thisrr->data = thisrr->input;
thisrr->orig_len = thisrr->length;
- /* Mark this record as not read by upper layers yet */
- thisrr->read = 0;
-
num_recs++;
/* we have pulled in a full packet so zero things */
SSL_R_UNEXPECTED_CCS_MESSAGE);
return OSSL_RECORD_RETURN_FATAL;
}
- thisrr->read = 1;
rl->num_recs = 0;
rl->curr_rec = 0;
rl->num_released = 0;
}
thisrr->length = 0;
- thisrr->read = 1;
rl->num_recs = 0;
rl->curr_rec = 0;
rl->num_released = 0;
/* only used with decompression - malloc()ed */
/* r */
unsigned char *comp;
- /* Whether the data from this record has already been read or not */
- /* r */
- unsigned int read;
/* epoch number, needed by DTLS1 */
/* r */
unsigned long epoch;