|
Libevhtp
1.2.13
|
#include <stdlib.h>#include <stddef.h>#include <ctype.h>#include "internal.h"#include "evhtp/parser.h"#include "evhtp/config.h"#include "log.h"
Go to the source code of this file.
Data Structures | |
| struct | htparser |
Macros | |
| #define | PARSER_STACK_MAX 8192 |
| #define | LF (unsigned char)10 |
| #define | CR (unsigned char)13 |
| #define | CRLF "\x0d\x0a" |
| #define | log_htparser__s_(p) |
| #define | _MIN_READ(a, b) ((a) < (b) ? (a) : (b)) |
| #define | _str3_cmp(m, c0, c1, c2, c3) *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define | _str3Ocmp(m, c0, c1, c2, c3) *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define | _str4cmp(m, c0, c1, c2, c3) *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define | _str5cmp(m, c0, c1, c2, c3, c4) |
| #define | _str6cmp(m, c0, c1, c2, c3, c4, c5) |
| #define | _str7_cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) |
| #define | _str8cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) |
| #define | _str9cmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8) |
| #define | __HTPARSE_GENHOOK(__n) |
| #define | __HTPARSE_GENDHOOK(__n) |
| #define | HTP_SET_BUF(CH) |
Typedefs | |
| typedef enum eval_hdr_val | eval_hdr_val |
| typedef enum parser_flags | parser_flags |
| typedef enum parser_state | parser_state |
Functions | |
| static uint64_t | str_to_uint64 (char *str, size_t n, int *err) |
| static ssize_t | _str_to_ssize_t (char *str, size_t n) |
| htpparse_error | htparser_get_error (htparser *p) |
| const char * | htparser_get_strerror (htparser *p) |
| unsigned int | htparser_get_status (htparser *p) |
| int | htparser_should_keep_alive (htparser *p) |
| htp_scheme | htparser_get_scheme (htparser *p) |
| htp_method | htparser_get_method (htparser *p) |
| const char * | htparser_get_methodstr_m (htp_method meth) |
| const char * | htparser_get_methodstr (htparser *p) |
| void | htparser_set_major (htparser *p, unsigned char major) |
| void | htparser_set_minor (htparser *p, unsigned char minor) |
| unsigned char | htparser_get_major (htparser *p) |
| unsigned char | htparser_get_minor (htparser *p) |
| unsigned char | htparser_get_multipart (htparser *p) |
| void * | htparser_get_userdata (htparser *p) |
| void | htparser_set_userdata (htparser *p, void *ud) |
| uint64_t | htparser_get_content_pending (htparser *p) |
| uint64_t | htparser_get_content_length (htparser *p) |
| uint64_t | htparser_get_bytes_read (htparser *p) |
| uint64_t | htparser_get_total_bytes_read (htparser *p) |
| void | htparser_init (htparser *p, htp_type type) |
| htparser * | htparser_new (void) |
| static int | is_host_char (unsigned char ch) |
| static htp_method | get_method (const char *m, const size_t sz) |
| size_t | htparser_run (htparser *p, htparse_hooks *hooks, const char *data, size_t len) |
Variables | |
| static uint32_t | usual [] |
| static int8_t | unhex [256] |
| static const char * | errstr_map [] |
| static const char * | method_strmap [] |
| #define __HTPARSE_GENDHOOK | ( | __n | ) |
| #define __HTPARSE_GENHOOK | ( | __n | ) |
| #define _str3_cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3 | |||
| ) | *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define _str3Ocmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3 | |||
| ) | *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define _str4cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3 | |||
| ) | *(uint32_t *)m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| #define _str5cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3, | |||
| c4 | |||
| ) |
| #define _str6cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3, | |||
| c4, | |||
| c5 | |||
| ) |
| #define _str7_cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3, | |||
| c4, | |||
| c5, | |||
| c6, | |||
| c7 | |||
| ) |
| #define _str8cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3, | |||
| c4, | |||
| c5, | |||
| c6, | |||
| c7 | |||
| ) |
| #define _str9cmp | ( | m, | |
| c0, | |||
| c1, | |||
| c2, | |||
| c3, | |||
| c4, | |||
| c5, | |||
| c6, | |||
| c7, | |||
| c8 | |||
| ) |
| #define HTP_SET_BUF | ( | CH | ) |
| typedef enum eval_hdr_val eval_hdr_val |
| typedef enum parser_flags parser_flags |
| typedef enum parser_state parser_state |
| enum eval_hdr_val |
| enum parser_flags |
| enum parser_state |
|
inlinestatic |
|
static |
| uint64_t htparser_get_content_length | ( | htparser * | p | ) |
| htpparse_error htparser_get_error | ( | htparser * | p | ) |
| unsigned char htparser_get_major | ( | htparser * | p | ) |
| htp_method htparser_get_method | ( | htparser * | p | ) |
| const char* htparser_get_methodstr | ( | htparser * | p | ) |
| const char* htparser_get_methodstr_m | ( | htp_method | meth | ) |
| unsigned char htparser_get_minor | ( | htparser * | p | ) |
| unsigned char htparser_get_multipart | ( | htparser * | p | ) |
| htp_scheme htparser_get_scheme | ( | htparser * | p | ) |
| unsigned int htparser_get_status | ( | htparser * | p | ) |
| const char* htparser_get_strerror | ( | htparser * | p | ) |
| void* htparser_get_userdata | ( | htparser * | p | ) |
| void htparser_init | ( | htparser * | p, |
| htp_type | type | ||
| ) |
| htparser* htparser_new | ( | void | ) |
| size_t htparser_run | ( | htparser * | p, |
| htparse_hooks * | hooks, | ||
| const char * | data, | ||
| size_t | len | ||
| ) |
| void htparser_set_major | ( | htparser * | p, |
| unsigned char | major | ||
| ) |
| void htparser_set_minor | ( | htparser * | p, |
| unsigned char | minor | ||
| ) |
| void htparser_set_userdata | ( | htparser * | p, |
| void * | ud | ||
| ) |
| int htparser_should_keep_alive | ( | htparser * | p | ) |
|
static |
|
inlinestatic |
|
static |
|
static |
|
static |