* \retval -1 error
* \retval -2 not handling files on this flow
*/
-int HTPFileOpen(HtpState *s, const uint8_t *filename, uint16_t filename_len,
- const uint8_t *data, uint32_t data_len,
- uint64_t txid, uint8_t direction)
+int HTPFileOpen(HtpState *s, HtpTxUserData *tx, const uint8_t *filename, uint16_t filename_len,
+ const uint8_t *data, uint32_t data_len, uint64_t txid, uint8_t direction)
{
int retval = 0;
uint16_t flags = 0;
}
FileSetTx(files->tail, txid);
+ tx->tx_data.files_opened++;
end:
SCReturnInt(retval);
int64_t size;
} HtpContentRange;
-int HTPFileOpen(HtpState *, const uint8_t *, uint16_t, const uint8_t *, uint32_t, uint64_t, uint8_t);
+int HTPFileOpen(HtpState *, HtpTxUserData *, const uint8_t *, uint16_t, const uint8_t *, uint32_t,
+ uint64_t, uint8_t);
int HTPParseContentRange(bstr * rawvalue, HtpContentRange *range);
int HTPFileSetRange(HtpState *, bstr *rawvalue);
int HTPFileStoreChunk(HtpState *, const uint8_t *, uint32_t, uint8_t);
printf("FILEDATA END: \n");
#endif
- result = HTPFileOpen(hstate, filename, filename_len,
- filedata, filedata_len, HtpGetActiveRequestTxID(hstate),
- STREAM_TOSERVER);
+ result = HTPFileOpen(hstate, htud, filename, filename_len, filedata, filedata_len,
+ HtpGetActiveRequestTxID(hstate), STREAM_TOSERVER);
if (result == -1) {
goto end;
} else if (result == -2) {
filedata = NULL;
filedata_len = 0;
}
- result = HTPFileOpen(hstate, filename, filename_len,
- filedata, filedata_len, HtpGetActiveRequestTxID(hstate),
- STREAM_TOSERVER);
+ result = HTPFileOpen(hstate, htud, filename, filename_len, filedata,
+ filedata_len, HtpGetActiveRequestTxID(hstate), STREAM_TOSERVER);
if (result == -1) {
goto end;
} else if (result == -2) {
filedata_len = header_next - filedata - 2;
SCLogDebug("filedata_len %u", filedata_len);
- result = HTPFileOpen(hstate, filename, filename_len,
- filedata, filedata_len, HtpGetActiveRequestTxID(hstate),
- STREAM_TOSERVER);
+ result = HTPFileOpen(hstate, htud, filename, filename_len, filedata,
+ filedata_len, HtpGetActiveRequestTxID(hstate), STREAM_TOSERVER);
if (result == -1) {
goto end;
} else if (result == -2) {
}
if (filename != NULL) {
- result = HTPFileOpen(hstate, filename, (uint32_t)filename_len, data, data_len,
+ result = HTPFileOpen(hstate, htud, filename, (uint32_t)filename_len, data, data_len,
HtpGetActiveRequestTxID(hstate), STREAM_TOSERVER);
if (result == -1) {
goto end;
}
if (filename != NULL) {
- result = HTPFileOpen(hstate, filename, (uint32_t)filename_len,
- data, data_len, HtpGetActiveResponseTxID(hstate), STREAM_TOCLIENT);
+ result = HTPFileOpen(hstate, htud, filename, (uint32_t)filename_len, data, data_len,
+ HtpGetActiveResponseTxID(hstate), STREAM_TOCLIENT);
SCLogDebug("result %d", result);
if (result == -1) {
goto end;