Bug #538 » 0001-Enable-libhtp-0.3.0-compilation-and-crash-free-UT-ru.patch
src/app-layer-htp.c | ||
---|---|---|
if (!(hstate->flags & HTP_FLAG_STATE_OPEN)) {
|
||
SCLogDebug("opening htp handle at %p", hstate->connp);
|
||
htp_connp_open(hstate->connp, NULL, f->sp, NULL, f->dp, 0);
|
||
htp_connp_open(hstate->connp, NULL, f->sp, NULL, f->dp, &f->startts);
|
||
hstate->flags |= HTP_FLAG_STATE_OPEN;
|
||
} else {
|
||
SCLogDebug("using existing htp handle at %p", hstate->connp);
|
||
}
|
||
htp_time_t ts = { f->lastts_sec, 0 };
|
||
/* pass the new data to the htp parser */
|
||
r = htp_connp_req_data(hstate->connp, 0, input, input_len);
|
||
r = htp_connp_req_data(hstate->connp, &ts, input, input_len);
|
||
switch(r) {
|
||
case STREAM_STATE_ERROR:
|
||
... | ... | |
hstate->connp->in_status = STREAM_STATE_CLOSED;
|
||
// Call the parsers one last time, which will allow them
|
||
// to process the events that depend on stream closure
|
||
htp_connp_req_data(hstate->connp, 0, NULL, 0);
|
||
htp_time_t ts = { f->lastts_sec, 0 };
|
||
htp_connp_req_data(hstate->connp, &ts, NULL, 0);
|
||
hstate->flags |= HTP_FLAG_STATE_CLOSED_TS;
|
||
SCLogDebug("stream eof encountered, closing htp handle for ts");
|
||
}
|
||
... | ... | |
* reactivate it if necessary) */
|
||
hstate->flags &=~ HTP_FLAG_NEW_BODY_SET;
|
||
r = htp_connp_res_data(hstate->connp, 0, input, input_len);
|
||
htp_time_t ts = { f->lastts_sec, 0 };
|
||
r = htp_connp_res_data(hstate->connp, &ts, input, input_len);
|
||
switch(r) {
|
||
case STREAM_STATE_ERROR:
|
||
HTPHandleError(hstate);
|
||
... | ... | |
hstate->connp->out_status = STREAM_STATE_CLOSED;
|
||
// Call the parsers one last time, which will allow them
|
||
// to process the events that depend on stream closure
|
||
htp_connp_res_data(hstate->connp, 0, NULL, 0);
|
||
htp_time_t ts = { f->lastts_sec, 0 };
|
||
htp_connp_res_data(hstate->connp, &ts, NULL, 0);
|
||
hstate->flags |= HTP_FLAG_STATE_CLOSED_TC;
|
||
}
|
||
... | ... | |
}
|
||
cfg_rec = cfg_rec->next;
|
||
if (cfg_rec->cfg->path_replacement_char != 'o' ||
|
||
if (cfg_rec->cfg->bestfit_replacement_char != 'o' ||
|
||
cfg_rec->cfg->path_unicode_mapping != STATUS_400) {
|
||
printf("failed 2\n");
|
||
goto end;
|
src/suricata-common.h | ||
---|---|---|
size_t strlcat(char *, const char *src, size_t siz);
|
||
size_t strlcpy(char *dst, const char *src, size_t siz);
|
||
#define table_getc(x, y) table_get_c(x, y)
|
||
#define bstr_cmpc(x, y) bstr_cmp_c(x, y)
|
||
#define bstr_tocstr(x) bstr_util_strdup_to_c(x)
|
||
#endif /* __SURICATA_COMMON_H__ */
|
||
- « Previous
- 1
- 2
- Next »