Go to the documentation of this file.
39 #ifndef _HTP_MULTIPART_PRIVATE_H
40 #define _HTP_MULTIPART_PRIVATE_H
48 #define CD_PARAM_OTHER 0
49 #define CD_PARAM_NAME 1
50 #define CD_PARAM_FILENAME 2
52 #define DEFAULT_FILE_EXTRACT_LIMIT 16
101 size_t len,
int line_end);
char * extract_dir
Definition: htp_multipart_private.h:94
Definition: htp_multipart.h:248
int cr_aside
Definition: htp_multipart_private.h:171
@ STATE_INIT
Definition: htp_multipart_private.h:64
void htp_mpart_part_destroy(htp_multipart_part_t *part, int gave_up_data)
Definition: htp_multipart.c:477
@ STATE_BOUNDARY
Definition: htp_multipart_private.h:70
htp_multipart_part_t * htp_mpart_part_create(htp_mpartp_t *parser)
Definition: htp_multipart.c:454
htp_multipart_part_t * current_part
Definition: htp_multipart_private.h:120
bstr_builder_t * boundary_pieces
Definition: htp_multipart_private.h:143
int gave_up_data
Definition: htp_multipart_private.h:178
htp_status_t htp_mpart_part_handle_data(htp_multipart_part_t *part, const unsigned char *data, size_t len, int is_line)
Definition: htp_multipart.c:602
@ STATE_BOUNDARY_EAT_LWS_CR
Definition: htp_multipart_private.h:82
@ STATE_DATA
Definition: htp_multipart_private.h:67
@ MODE_LINE
Definition: htp_multipart_private.h:56
@ MODE_DATA
Definition: htp_multipart_private.h:59
@ STATE_BOUNDARY_EAT_LWS
Definition: htp_multipart_private.h:79
bstr_builder_t * part_data_pieces
Definition: htp_multipart_private.h:154
Definition: htp_config_private.h:123
htp_multipart_t multipart
Definition: htp_multipart_private.h:86
bstr * pending_header_line
Definition: htp_multipart_private.h:147
htp_multipart_state_t
Definition: htp_multipart_private.h:62
int(* handle_data)(htp_mpartp_t *mpartp, const unsigned char *data, size_t len, int line_end)
Definition: htp_multipart_private.h:100
int htp_status_t
Definition: htp_core.h:46
int(* handle_boundary)(htp_mpartp_t *mpartp)
Definition: htp_multipart_private.h:102
@ STATE_BOUNDARY_IS_LAST1
Definition: htp_multipart_private.h:73
htp_status_t htp_mpart_part_process_headers(htp_multipart_part_t *part)
Definition: htp_multipart.c:297
htp_cfg_t * cfg
Definition: htp_multipart_private.h:88
size_t boundary_match_pos
Definition: htp_multipart_private.h:115
int htp_mpartp_is_boundary_character(int c)
bstr_builder_t * part_header_pieces
Definition: htp_multipart_private.h:145
enum htp_multipart_state_t parser_state
Definition: htp_multipart_private.h:109
htp_part_mode_t
Definition: htp_multipart_private.h:54
htp_status_t htp_mpartp_parse_header(htp_multipart_part_t *part, const unsigned char *data, size_t len)
Definition: htp_multipart.c:312
Definition: htp_multipart.h:228
int file_count
Definition: htp_multipart_private.h:96
htp_status_t htp_mpart_part_parse_c_d(htp_multipart_part_t *part)
Definition: htp_multipart.c:101
@ STATE_BOUNDARY_IS_LAST2
Definition: htp_multipart_private.h:76
int extract_limit
Definition: htp_multipart_private.h:92
Definition: htp_multipart_private.h:85
size_t boundary_candidate_pos
Definition: htp_multipart_private.h:160
int extract_files
Definition: htp_multipart_private.h:90
Definition: bstr_builder.h:50
enum htp_part_mode_t current_part_mode
Definition: htp_multipart_private.h:135
htp_status_t htp_mpart_part_finalize_data(htp_multipart_part_t *part)
Definition: htp_multipart.c:520
htp_status_t htp_mpartp_run_request_file_data_hook(htp_multipart_part_t *part, const unsigned char *data, size_t len)
Definition: htp_multipart.c:574