Bug #78 » 0001-bug-78.patch
src/app-layer-detect-proto.c | ||
---|---|---|
}
|
||
uint16_t AppLayerDetectGetProto(AlpProtoDetectCtx *ctx, AlpProtoDetectThreadCtx *tctx, uint8_t *buf, uint16_t buflen, uint8_t flags) {
|
||
//printf("AppLayerDetectGetProto: start\n");
|
||
SCEnter();
|
||
//PrintRawDataFp(stdout, buf, buflen);
|
||
//if (buflen < INSPECT_BYTES)
|
||
... | ... | |
uint16_t proto;
|
||
uint32_t cnt = mpm_table[dir->mpm_ctx.mpm_type].Scan(&dir->mpm_ctx, &tdir->mpm_ctx, &tdir->pmq, buf, scanlen);
|
||
//printf("AppLayerDetectGetProto: scan cnt %" PRIu32 "\n", cnt);
|
||
SCLogDebug("scan cnt %" PRIu32 "", cnt);
|
||
if (cnt == 0) {
|
||
proto = ALPROTO_UNKNOWN;
|
||
goto end;
|
||
... | ... | |
break;
|
||
}
|
||
#endif
|
||
return proto;
|
||
SCReturnInt(proto);
|
||
}
|
||
int AppLayerHandleMsg(AlpProtoDetectThreadCtx *dp_ctx, StreamMsg *smsg)
|
src/stream-tcp-reassemble.c | ||
---|---|---|
static void StreamTcpSetupMsg(TcpSession *ssn, TcpStream *stream, Packet *p,
|
||
StreamMsg *smsg)
|
||
{
|
||
SCEnter();
|
||
if (stream->ra_base_seq == stream->isn) {
|
||
smsg->flags = STREAM_START;
|
||
} else if (ssn->state > TCP_ESTABLISHED) {
|
||
... | ... | |
COPY_PORT(p->flow->sp,smsg->data.src_port);
|
||
COPY_PORT(p->flow->dp,smsg->data.dst_port);
|
||
smsg->flags |= STREAM_TOSERVER;
|
||
} else {
|
||
COPY_ADDRESS(&p->flow->dst,&smsg->data.src_ip);
|
||
COPY_ADDRESS(&p->flow->src,&smsg->data.dst_ip);
|
||
COPY_PORT(p->flow->dp,smsg->data.src_port);
|
||
COPY_PORT(p->flow->sp,smsg->data.dst_port);
|
||
}
|
||
/* As we are opposing the stream to handle the ACK, we need to update the
|
||
smsg direction accordingly too */
|
||
if (stream == &ssn->client) {
|
||
smsg->flags |= STREAM_TOSERVER;
|
||
SCLogDebug("stream mesage is to_server");
|
||
} else {
|
||
smsg->flags |= STREAM_TOCLIENT;
|
||
SCLogDebug("stream mesage is to_client");
|
||
}
|
||
smsg->data.data_len = 0;
|
||
... | ... | |
if (smsg->flow != NULL) {
|
||
smsg->flow->use_cnt++;
|
||
}
|
||
SCReturn;
|
||
}
|
||
/** \brief Check the minimum size limits for reassembly.
|
- « Previous
- 1
- 2
- Next »