39 #ifndef _HTP_PRIVATE_H
40 #define _HTP_PRIVATE_H
46 #if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
49 #define __STDC_FORMAT_MACROS
60 #include <sys/types.h>
79 #define HTP_FIELD_LIMIT_HARD 18000
80 #define HTP_FIELD_LIMIT_SOFT 9000
82 #define HTP_VALID_STATUS_MIN 100
83 #define HTP_VALID_STATUS_MAX 999
140 int htp_chomp(
unsigned char *data,
size_t *len);
181 void fprint_raw_data(FILE *stream,
const char *name,
const void *data,
size_t len);
182 void fprint_raw_data_ex(FILE *stream,
const char *name,
const void *data,
size_t offset,
size_t len);
Definition: htp_config_private.h:122
htp_status_t htp_connp_RES_HEADERS(htp_connp_t *connp)
Definition: htp_response.c:639
int htp_connp_is_line_terminator(htp_connp_t *connp, unsigned char *data, size_t len)
Definition: htp_util.c:413
htp_status_t htp_connp_RES_FINALIZE(htp_connp_t *connp)
Definition: htp_response.c:861
htp_status_t htp_parse_request_header_generic(htp_connp_t *connp, htp_header_t *h, unsigned char *data, size_t len)
Definition: htp_request_generic.c:109
htp_status_t htp_connp_RES_BODY_DETERMINE(htp_connp_t *connp)
Definition: htp_response.c:467
int htp_is_folding_char(int c)
Definition: htp_util.c:400
htp_header_t * htp_connp_header_parse(htp_connp_t *, unsigned char *, size_t)
int htp_transcode_bstr(iconv_t cd, bstr *input, bstr **output)
Definition: htp_transcoder.c:142
int htp_is_uri_unreserved(unsigned char c)
int htp_parse_status(bstr *status)
Definition: htp_parsers.c:85
int htp_chomp(unsigned char *data, size_t *len)
Definition: htp_util.c:123
int64_t htp_parse_positive_integer_whitespace(unsigned char *data, size_t len, int base)
Definition: htp_util.c:280
htp_status_t htp_ch_urlencoded_callback_request_headers(htp_tx_t *tx)
Definition: htp_content_handlers.c:101
bstr * htp_unparse_uri_noencode(htp_uri_t *uri)
Definition: htp_util.c:2211
int64_t htp_parse_chunked_length(unsigned char *data, size_t len)
Definition: htp_util.c:264
htp_status_t htp_connp_REQ_FINALIZE(htp_connp_t *connp)
Definition: htp_request.c:710
int htp_connp_is_line_ignorable(htp_connp_t *connp, unsigned char *data, size_t len)
Definition: htp_util.c:442
htp_status_t htp_tx_state_response_complete_ex(htp_tx_t *tx, int hybrid_mode)
Definition: htp_transaction.c:1008
htp_status_t htp_parse_request_line_apache_2_2(htp_connp_t *connp)
Definition: htp_request_apache_2_2.c:60
htp_status_t htp_extract_quoted_string_as_bstr(unsigned char *data, size_t len, bstr **out, size_t *endoffset)
Definition: htp_util.c:2415
htp_status_t htp_req_run_hook_body_data(htp_connp_t *connp, htp_tx_data_t *d)
Definition: htp_util.c:2357
int htp_is_line_empty(unsigned char *data, size_t len)
Definition: htp_util.c:217
htp_status_t htp_connp_REQ_HEADERS(htp_connp_t *connp)
Definition: htp_request.c:545
void htp_utf8_decode_path_inplace(htp_cfg_t *cfg, htp_tx_t *tx, bstr *path)
Definition: htp_util.c:885
htp_status_t htp_parse_request_line_generic(htp_connp_t *connp)
Definition: htp_request_generic.c:245
int htp_tx_is_complete(htp_tx_t *tx)
Definition: htp_transaction.c:1177
htp_status_t htp_connp_REQ_CONNECT_WAIT_RESPONSE(htp_connp_t *connp)
Definition: htp_request.c:313
char * htp_connp_out_state_as_string(htp_connp_t *connp)
Definition: htp_util.c:2146
int htp_normalize_parsed_uri(htp_tx_t *tx, htp_uri_t *parsed_uri_incomplete, htp_uri_t *parsed_uri)
Definition: htp_util.c:1692
int htp_is_token(int c)
Definition: htp_util.c:108
void htp_connp_tx_remove(htp_connp_t *connp, htp_tx_t *tx)
Definition: htp_connection_parser.c:201
int htp_is_lws(int c)
Definition: htp_util.c:47
void htp_print_log(FILE *stream, htp_log_t *log)
htp_status_t htp_ch_urlencoded_callback_request_body_data(htp_tx_data_t *d)
Definition: htp_content_handlers.c:48
htp_status_t htp_connp_RES_BODY_IDENTITY_STREAM_CLOSE(htp_connp_t *connp)
Definition: htp_response.c:438
htp_status_t htp_connp_REQ_LINE(htp_connp_t *connp)
Definition: htp_request.c:660
htp_status_t htp_connp_REQ_BODY_IDENTITY(htp_connp_t *connp)
Definition: htp_request.c:463
htp_status_t htp_connp_REQ_IDLE(htp_connp_t *connp)
Definition: htp_request.c:737
void htp_replace_hostname(htp_connp_t *connp, htp_uri_t *parsed_uri, bstr *hostname)
htp_status_t htp_connp_REQ_BODY_CHUNKED_LENGTH(htp_connp_t *connp)
Definition: htp_request.c:411
int htp_is_separator(int c)
Definition: htp_util.c:58
int htp_status_t
Definition: htp_core.h:46
htp_status_t htp_tx_finalize(htp_tx_t *tx)
Definition: htp_transaction.c:991
void htp_utf8_validate_path(htp_tx_t *tx, bstr *path)
Definition: htp_util.c:995
htp_status_t htp_parse_response_line_generic(htp_connp_t *connp)
Definition: htp_response_generic.c:47
htp_status_t htp_parse_response_header_generic(htp_connp_t *connp, htp_header_t *h, unsigned char *data, size_t len)
Definition: htp_response_generic.c:122
htp_status_t htp_process_request_header_apache_2_2(htp_connp_t *, unsigned char *data, size_t len)
Definition: htp_request_apache_2_2.c:50
htp_status_t htp_connp_RES_IDLE(htp_connp_t *connp)
Definition: htp_response.c:872
int htp_parse_authorization_basic(htp_connp_t *connp, htp_header_t *auth_header)
Definition: htp_parsers.c:118
htp_status_t htp_ch_urlencoded_callback_request_line(htp_tx_t *tx)
Definition: htp_content_handlers.c:134
htp_status_t htp_connp_res_receiver_finalize_clear(htp_connp_t *connp)
Definition: htp_response.c:113
void htp_tx_destroy_incomplete(htp_tx_t *tx)
Definition: htp_transaction.c:116
int htp_parse_single_cookie_v0(htp_connp_t *connp, unsigned char *data, size_t len)
Definition: htp_cookies.c:49
int htp_parse_protocol(bstr *protocol)
Definition: htp_parsers.c:49
htp_status_t htp_res_run_hook_body_data(htp_connp_t *connp, htp_tx_data_t *d)
Definition: htp_util.c:2391
int htp_transcode_params(htp_connp_t *connp, htp_table_t **params, int destroy_old)
Definition: htp_transcoder.c:49
htp_status_t htp_parse_header_hostport(bstr *authority, bstr **hostname, bstr **port, int *port_number, uint64_t *flags)
Definition: htp_util.c:611
int htp_convert_method_to_number(bstr *)
Definition: htp_util.c:172
char * htp_connp_in_state_as_string(htp_connp_t *connp)
Definition: htp_util.c:2123
int htp_is_space(int c)
Definition: htp_util.c:152
int htp_prenormalize_uri_path_inplace(bstr *s, int *flags, int case_insensitive, int backslash, int decode_separators, int remove_consecutive)
htp_status_t htp_connp_REQ_BODY_CHUNKED_DATA_END(htp_connp_t *connp)
Definition: htp_request.c:342
int htp_decode_path_inplace(htp_tx_t *tx, bstr *path)
Definition: htp_util.c:1188
void htp_normalize_uri_path_inplace(bstr *s)
Definition: htp_util.c:1938
htp_status_t htp_parse_hostport(bstr *authority, bstr **hostname, bstr **port, int *port_number, int *invalid)
Definition: htp_util.c:483
htp_status_t htp_connp_RES_BODY_CHUNKED_LENGTH(htp_connp_t *connp)
Definition: htp_response.c:347
htp_status_t htp_parse_ct_header(bstr *header, bstr **ct)
Definition: htp_util.c:2481
Definition: htp_connection_parser_private.h:51
void fprint_raw_data(FILE *stream, const char *name, const void *data, size_t len)
Definition: htp_util.c:2049
htp_status_t htp_connp_REQ_PROTOCOL(htp_connp_t *connp)
Definition: htp_request.c:639
htp_status_t htp_php_parameter_processor(htp_param_t *p)
Definition: htp_php.c:50
int htp_validate_hostname(bstr *hostname)
Definition: htp_util.c:2510
int htp_parse_uri(bstr *input, htp_uri_t **uri)
Definition: htp_util.c:637
htp_status_t htp_connp_REQ_BODY_CHUNKED_DATA(htp_connp_t *connp)
Definition: htp_request.c:366
htp_status_t htp_connp_req_receiver_finalize_clear(htp_connp_t *connp)
Definition: htp_request.c:129
htp_status_t htp_tx_state_request_complete_partial(htp_tx_t *tx)
Definition: htp_transaction.c:826
int htp_connp_is_line_folded(unsigned char *data, size_t len)
Definition: htp_util.c:395
htp_status_t htp_connp_REQ_BODY_DETERMINE(htp_connp_t *connp)
Definition: htp_request.c:502
int htp_parse_cookies_v0(htp_connp_t *connp)
Definition: htp_cookies.c:86
htp_status_t htp_connp_RES_LINE(htp_connp_t *connp)
Definition: htp_response.c:753
htp_status_t htp_connp_REQ_CONNECT_CHECK(htp_connp_t *connp)
Definition: htp_request.c:286
htp_status_t htp_ch_multipart_callback_request_headers(htp_tx_t *tx)
Definition: htp_content_handlers.c:242
int htp_is_line_whitespace(unsigned char *data, size_t len)
Definition: htp_util.c:232
void fprint_raw_data_ex(FILE *stream, const char *name, const void *data, size_t offset, size_t len)
Definition: htp_util.c:2056
Definition: htp_table_private.h:63
int htp_treat_response_line_as_body(htp_tx_t *tx)
Definition: htp_util.c:2332
int64_t htp_parse_content_length(bstr *b)
Definition: htp_util.c:251
htp_status_t htp_tx_req_process_body_data_ex(htp_tx_t *tx, const void *data, size_t len)
Definition: htp_transaction.c:569
htp_status_t htp_connp_RES_BODY_CHUNKED_DATA_END(htp_connp_t *connp)
Definition: htp_response.c:285
htp_status_t htp_connp_REQ_IGNORE_DATA_AFTER_HTTP_0_9(htp_connp_t *connp)
Definition: htp_request.c:714
htp_status_t htp_process_request_header_generic(htp_connp_t *, unsigned char *data, size_t len)
Definition: htp_request_generic.c:50
int htp_parse_authorization(htp_connp_t *connp)
Definition: htp_parsers.c:161
void fprint_bstr(FILE *stream, const char *name, bstr *b)
Definition: htp_util.c:2037
int htp_parse_uri_hostport(htp_connp_t *connp, bstr *input, htp_uri_t *uri)
Definition: htp_util.c:582
int htp_is_text(int c)
Definition: htp_util.c:96
htp_status_t htp_tx_urldecode_uri_inplace(htp_tx_t *tx, bstr *input)
Definition: htp_util.c:1452
htp_status_t htp_tx_urldecode_params_inplace(htp_tx_t *tx, bstr *input)
Definition: htp_util.c:1472
htp_status_t htp_process_response_header_generic(htp_connp_t *connp, unsigned char *data, size_t len)
Definition: htp_response_generic.c:237
htp_status_t htp_connp_RES_BODY_IDENTITY_CL_KNOWN(htp_connp_t *connp)
Definition: htp_response.c:400
bstr * htp_normalize_hostname_inplace(bstr *input)
Definition: htp_util.c:1791
htp_status_t htp_ch_multipart_callback_request_body_data(htp_tx_data_t *d)
Definition: htp_content_handlers.c:191
char * htp_tx_request_progress_as_string(htp_tx_t *tx)
Definition: htp_util.c:2166
int htp_parse_authorization_digest(htp_connp_t *connp, htp_header_t *auth_header)
Definition: htp_parsers.c:95
char * htp_tx_response_progress_as_string(htp_tx_t *tx)
Definition: htp_util.c:2190
htp_status_t htp_parse_request_line_generic_ex(htp_connp_t *connp, int nul_terminates)
Definition: htp_request_generic.c:249
htp_status_t htp_connp_RES_BODY_CHUNKED_DATA(htp_connp_t *connp)
Definition: htp_response.c:310
htp_status_t htp_tx_res_process_body_data_ex(htp_tx_t *tx, const void *data, size_t len)
Definition: htp_transaction.c:773