#define SSLV2_MT_REQUEST_CERTIFICATE 7
#define SSLV2_MT_CLIENT_CERTIFICATE 8
-#define SSLV3_RECORD_LEN 5
+#define SSLV3_RECORD_HDR_LEN 5
#define SSLV3_MESSAGE_HDR_LEN 4
static void SSLParserReset(SSLState *ssl_state)
case SSLV3_HS_CERTIFICATE:
if (ssl_state->curr_connp->trec == NULL) {
- ssl_state->curr_connp->trec_len = 2 * ssl_state->curr_connp->record_length + SSLV3_RECORD_LEN + 1;
+ ssl_state->curr_connp->trec_len = 2 * ssl_state->curr_connp->record_length + SSLV3_RECORD_HDR_LEN + 1;
ssl_state->curr_connp->trec = SCMalloc( ssl_state->curr_connp->trec_len );
}
if (ssl_state->curr_connp->trec_pos + input_len >= ssl_state->curr_connp->trec_len) {
}
if (ssl_state->curr_connp->message_start == 0) {
- ssl_state->curr_connp->message_start = SSLV3_RECORD_LEN;
+ ssl_state->curr_connp->message_start = SSLV3_RECORD_HDR_LEN;
}
switch (ssl_state->curr_connp->bytes_processed - ssl_state->curr_connp->message_start) {
ssl_state->curr_connp->version |= input[2];
ssl_state->curr_connp->record_length = input[3] << 8;
ssl_state->curr_connp->record_length |= input[4];
- ssl_state->curr_connp->bytes_processed += SSLV3_RECORD_LEN;
- return SSLV3_RECORD_LEN;
+ ssl_state->curr_connp->bytes_processed += SSLV3_RECORD_HDR_LEN;
+ return SSLV3_RECORD_HDR_LEN;
} else {
ssl_state->curr_connp->content_type = *(input++);
if (--input_len == 0)
break;
case 4:
ssl_state->curr_connp->record_length |= *(input++);
- if (ssl_state->curr_connp->record_length <= SSLV3_RECORD_LEN)
- return -1;
if (--input_len == 0)
break;
} /* switch (ssl_state->curr_connp->bytes_processed) */
int retval = 0;
uint32_t parsed = 0;
- if (ssl_state->curr_connp->bytes_processed < SSLV3_RECORD_LEN) {
+ if (ssl_state->curr_connp->bytes_processed < SSLV3_RECORD_HDR_LEN) {
retval = SSLv3ParseRecord(direction, ssl_state, input, input_len);
if (retval < 0) {
AppLayerDecoderEventsSetEvent(ssl_state->f, TLS_DECODER_EVENT_INVALID_TLS_HEADER);
}
parsed += retval;
input_len -= retval;
- if (ssl_state->curr_connp->bytes_processed == ssl_state->curr_connp->record_length + SSLV3_RECORD_LEN) {
+ if (ssl_state->curr_connp->bytes_processed == ssl_state->curr_connp->record_length + SSLV3_RECORD_HDR_LEN) {
SSLParserReset(ssl_state);
}
return parsed;
break;
}
- if (input_len + ssl_state->curr_connp->bytes_processed >= ssl_state->curr_connp->record_length + SSLV3_RECORD_LEN) {
+ if (input_len + ssl_state->curr_connp->bytes_processed >= ssl_state->curr_connp->record_length + SSLV3_RECORD_HDR_LEN) {
/* looks like we have another record */
- uint32_t diff = ssl_state->curr_connp->record_length + SSLV3_RECORD_LEN - ssl_state->curr_connp->bytes_processed;
+ uint32_t diff = ssl_state->curr_connp->record_length + SSLV3_RECORD_HDR_LEN - ssl_state->curr_connp->bytes_processed;
parsed += diff;
SSLParserReset(ssl_state);
return parsed;
} else {
input_len -= retval;
input += retval;
- if (ssl_state->curr_connp->bytes_processed == SSLV3_RECORD_LEN
+ if (ssl_state->curr_connp->bytes_processed == SSLV3_RECORD_HDR_LEN
&& ssl_state->curr_connp->record_length == 0) {
/* empty record */
SSLParserReset(ssl_state);
}
input_len -= retval;
input += retval;
- if (ssl_state->curr_connp->bytes_processed == SSLV3_RECORD_LEN
+ if (ssl_state->curr_connp->bytes_processed == SSLV3_RECORD_HDR_LEN
&& ssl_state->curr_connp->record_length == 0) {
/* empty record */
SSLParserReset(ssl_state);