|
static int | abort_cgi_process (void *data) |
|
static void | accept_new_connection (const struct socket *listener, struct mg_context *ctx) |
|
static void | addenv (struct cgi_environment *env, const char *fmt,...) |
|
static int | alloc_vprintf (char **out_buf, char *prealloc_buf, size_t prealloc_size, const char *fmt, va_list ap) |
|
static int | alloc_vprintf2 (char **buf, const char *fmt, va_list ap) |
|
static int | authorize (struct mg_connection *conn, struct mg_file *filep, const char *realm) |
|
static void | bin2str (char *to, const unsigned char *p, size_t len) |
|
static int | check_acl (struct mg_context *phys_ctx, const union usa *sa) |
|
static int | check_authorization (struct mg_connection *conn, const char *path) |
|
static int | check_password (const char *method, const char *ha1, const char *uri, const char *nonce, const char *nc, const char *cnonce, const char *qop, const char *response) |
|
static void | close_all_listening_sockets (struct mg_context *ctx) |
|
static void | close_connection (struct mg_connection *conn) |
|
static void | close_socket_gracefully (struct mg_connection *conn) |
|
static int | compare_dir_entries (const void *p1, const void *p2) |
|
static int | connect_socket (struct mg_context *ctx, const char *host, int port, int use_ssl, char *ebuf, size_t ebuf_len, SOCKET *sock, union usa *sa) |
|
static void | construct_etag (char *buf, size_t buf_len, const struct mg_file_stat *filestat) |
|
static int | consume_socket (struct mg_context *ctx, struct socket *sp, int thread_index) |
|
static void | delete_file (struct mg_connection *conn, const char *path) |
|
static int | dir_scan_callback (struct de *de, void *data) |
|
static void | discard_unread_request_data (struct mg_connection *conn) |
|
static void | do_ssi_exec (struct mg_connection *conn, char *tag) |
|
static void | do_ssi_include (struct mg_connection *conn, const char *ssi, char *tag, int include_level) |
|
static int | extention_matches_script (struct mg_connection *conn, const char *filename) |
|
static int | extention_matches_template_text (struct mg_connection *conn, const char *filename) |
|
static struct mg_connection * | fake_connection (struct mg_connection *fc, struct mg_context *ctx) |
|
static void | fclose_on_exec (struct mg_file_access *filep, struct mg_connection *conn) |
|
static int | forward_body_data (struct mg_connection *conn, FILE *fp, SOCKET sock, SSL *ssl) |
|
static void | free_context (struct mg_context *ctx) |
|
static int | get_first_ssl_listener_index (const struct mg_context *ctx) |
|
static const char * | get_header (const struct mg_header *hdr, int num_hdr, const char *name) |
|
static void | get_host_from_request_info (struct vec *host, const struct mg_request_info *ri) |
|
static int | get_http_header_len (const char *buf, int buflen) |
|
static const struct mg_http_method_info * | get_http_method_info (const char *method) |
|
static const char * | get_http_version (const struct mg_connection *conn) |
|
static int | get_message (struct mg_connection *conn, char *ebuf, size_t ebuf_len, int *err) |
|
static void | get_mime_type (struct mg_connection *conn, const char *path, struct vec *vec) |
|
static int | get_month_index (const char *s) |
|
static int | get_option_index (const char *name) |
|
static const char * | get_proto_name (const struct mg_connection *conn) |
|
static uint64_t | get_random (void) |
|
static const char * | get_rel_url_at_current_server (const char *uri, const struct mg_connection *conn) |
|
static int | get_request (struct mg_connection *conn, char *ebuf, size_t ebuf_len, int *err) |
|
static int | get_request_handler (struct mg_connection *conn, int handler_type, mg_request_handler *handler, struct mg_websocket_subprotocols **subprotocols, mg_websocket_connect_handler *connect_handler, mg_websocket_ready_handler *ready_handler, mg_websocket_data_handler *data_handler, mg_websocket_close_handler *close_handler, mg_authorization_handler *auth_handler, void **cbdata, struct mg_handler_info **handler_info) |
|
static int | get_response (struct mg_connection *conn, char *ebuf, size_t ebuf_len, int *err) |
|
static void | get_system_name (char **sysName) |
|
static int | get_uri_type (const char *uri) |
|
static void | gmt_time_string (char *buf, size_t buf_len, time_t *t) |
|
static void | handle_cgi_request (struct mg_connection *conn, const char *prog, unsigned char cgi_config_idx) |
|
static void | handle_directory_request (struct mg_connection *conn, const char *dir) |
|
static void | handle_file_based_request (struct mg_connection *conn, const char *path, struct mg_file *filep) |
|
static void | handle_not_modified_static_file_request (struct mg_connection *conn, struct mg_file *filep) |
|
static void | handle_propfind (struct mg_connection *conn, const char *path, struct mg_file_stat *filep) |
|
static void | handle_request (struct mg_connection *) |
|
static void | handle_request_stat_log (struct mg_connection *conn) |
|
static void | handle_ssi_file_request (struct mg_connection *conn, const char *path, struct mg_file *filep) |
|
static void | handle_static_file_request (struct mg_connection *conn, const char *path, struct mg_file *filep, const char *mime_type, const char *additional_headers) |
|
static int | header_has_option (const char *header, const char *option) |
|
static const char * | header_val (const struct mg_connection *conn, const char *header) |
|
static int | hexdump2string (void *mem, int memlen, char *buf, int buflen) |
|
static void | init_connection (struct mg_connection *conn) |
|
static int | init_ssl_ctx (struct mg_context *phys_ctx, struct mg_domain_context *dom_ctx) |
|
static int | init_ssl_ctx_impl (struct mg_context *phys_ctx, struct mg_domain_context *dom_ctx, const char *pem, const char *chain) |
|
static int | initialize_openssl (char *ebuf, size_t ebuf_len) |
|
static void | interpret_uri (struct mg_connection *conn, char *filename, size_t filename_buf_len, struct mg_file_stat *filestat, int *is_found, int *is_script_resource, int *is_websocket_request, int *is_put_or_delete_request, int *is_template_text) |
|
static int | is_authorized_for_put (struct mg_connection *conn) |
|
static int | is_file_opened (const struct mg_file_access *fileacc) |
|
static int | is_in_script_path (const struct mg_connection *conn, const char *path) |
|
static int | is_not_modified (const struct mg_connection *conn, const struct mg_file_stat *filestat) |
|
static int | is_put_or_delete_method (const struct mg_connection *conn) |
|
static int | is_ssl_port_used (const char *ports) |
|
static int | is_valid_http_method (const char *method) |
|
static int | is_valid_port (unsigned long port) |
|
static void | legacy_init (const char **options) |
|
static void * | load_tls_dll (char *ebuf, size_t ebuf_len, const char *dll_name, struct ssl_func *sw, int *feature_missing) |
|
static void | log_access (const struct mg_connection *) |
|
static int | lowercase (const char *s) |
|
static void * | master_thread (void *thread_func_param) |
|
static void | master_thread_run (struct mg_context *ctx) |
|
static ptrdiff_t | match_prefix (const char *pattern, size_t pattern_len, const char *str) |
|
static ptrdiff_t | match_prefix_strlen (const char *pattern, const char *str) |
|
static ptrdiff_t | mg_atomic_dec (volatile ptrdiff_t *addr) |
|
static ptrdiff_t | mg_atomic_inc (volatile ptrdiff_t *addr) |
|
static __inline void * | mg_calloc (size_t a, size_t b) |
|
int | mg_check_digest_access_authentication (struct mg_connection *conn, const char *realm, const char *filename) |
|
unsigned | mg_check_feature (unsigned feature) |
|
void | mg_close_connection (struct mg_connection *conn) |
|
struct mg_connection * | mg_connect_client (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size) |
|
static struct mg_connection * | mg_connect_client_impl (const struct mg_client_options *client_options, int use_ssl, char *ebuf, size_t ebuf_len) |
|
struct mg_connection * | mg_connect_client_secure (const struct mg_client_options *client_options, char *error_buffer, size_t error_buffer_size) |
|
struct mg_connection * | mg_connect_websocket_client (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data) |
|
struct mg_connection * | mg_connect_websocket_client_extensions (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, const char *extensions, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data) |
|
static struct mg_connection * | mg_connect_websocket_client_impl (const struct mg_client_options *client_options, int use_ssl, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, const char *extensions, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data) |
|
struct mg_connection * | mg_connect_websocket_client_secure (const struct mg_client_options *client_options, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data) |
|
struct mg_connection * | mg_connect_websocket_client_secure_extensions (const struct mg_client_options *client_options, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, const char *extensions, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data) |
|
static int | mg_construct_local_link (const struct mg_connection *conn, char *buf, size_t buflen, const char *define_proto, int define_port, const char *define_uri) |
|
void | mg_cry (const struct mg_connection *conn, const char *fmt,...) |
|
static void | mg_cry_internal_impl (const struct mg_connection *conn, const char *func, unsigned line, const char *fmt, va_list ap) |
|
static void | mg_cry_internal_wrap (const struct mg_connection *conn, struct mg_context *ctx, const char *func, unsigned line, const char *fmt,...) |
|
static unsigned long | mg_current_thread_id (void) |
|
static double | mg_difftimespec (const struct timespec *ts_now, const struct timespec *ts_before) |
|
void | mg_disable_connection_keep_alive (struct mg_connection *conn) |
|
struct mg_connection * | mg_download (const char *host, int port, int use_ssl, char *ebuf, size_t ebuf_len, const char *fmt,...) |
|
unsigned | mg_exit_library (void) |
|
static int | mg_fclose (struct mg_file_access *fileacc) |
|
static int | mg_fgetc (struct mg_file *filep) |
|
static const char * | mg_fgets (char *buf, size_t size, struct mg_file *filep) |
|
static int | mg_fopen (const struct mg_connection *conn, const char *path, int mode, struct mg_file *filep) |
|
static __inline void | mg_free (void *a) |
|
const char * | mg_get_builtin_mime_type (const char *path) |
|
struct mg_context * | mg_get_context (const struct mg_connection *conn) |
|
int | mg_get_context_info (const struct mg_context *ctx, char *buffer, int buflen) |
|
int | mg_get_cookie (const char *cookie_header, const char *var_name, char *dst, size_t dst_size) |
|
static uint64_t | mg_get_current_time_ns (void) |
|
const char * | mg_get_header (const struct mg_connection *conn, const char *name) |
|
const char * | mg_get_option (const struct mg_context *ctx, const char *name) |
|
const struct mg_request_info * | mg_get_request_info (const struct mg_connection *conn) |
|
int | mg_get_request_link (const struct mg_connection *conn, char *buf, size_t buflen) |
|
int | mg_get_response (struct mg_connection *conn, char *ebuf, size_t ebuf_len, int timeout) |
|
const char * | mg_get_response_code_text (const struct mg_connection *conn, int response_code) |
|
const struct mg_response_info * | mg_get_response_info (const struct mg_connection *conn) |
|
int | mg_get_server_ports (const struct mg_context *ctx, int size, struct mg_server_port *ports) |
|
int | mg_get_system_info (char *buffer, int buflen) |
|
void * | mg_get_thread_pointer (const struct mg_connection *conn) |
|
void * | mg_get_user_connection_data (const struct mg_connection *conn) |
|
void * | mg_get_user_context_data (const struct mg_connection *conn) |
|
void * | mg_get_user_data (const struct mg_context *ctx) |
|
const struct mg_option * | mg_get_valid_options (void) |
|
int | mg_get_var (const char *data, size_t data_len, const char *name, char *dst, size_t dst_len) |
|
int | mg_get_var2 (const char *data, size_t data_len, const char *name, char *dst, size_t dst_len, size_t occurrence) |
|
static void | mg_global_lock (void) |
|
static void | mg_global_unlock (void) |
|
static int | mg_inet_pton (int af, const char *src, void *dst, size_t dstlen, int resolve_src) |
|
unsigned | mg_init_library (unsigned features) |
|
static int | mg_join_thread (pthread_t threadid) |
|
void | mg_lock_connection (struct mg_connection *conn) |
|
void | mg_lock_context (struct mg_context *ctx) |
|
static __inline void * | mg_malloc (size_t a) |
|
char * | mg_md5 (char buf[33],...) |
|
int | mg_modify_passwords_file (const char *fname, const char *domain, const char *user, const char *pass) |
|
int | mg_modify_passwords_file_ha1 (const char *fname, const char *domain, const char *user, const char *ha1) |
|
static int | mg_path_suspicious (const struct mg_connection *conn, const char *path) |
|
static int | mg_poll (struct pollfd *pfd, unsigned int n, int milliseconds, const stop_flag_t *stop_flag) |
|
int | mg_printf (struct mg_connection *conn, const char *fmt,...) |
|
int | mg_read (struct mg_connection *conn, void *buf, size_t len) |
|
static int | mg_read_inner (struct mg_connection *conn, void *buf, size_t len) |
|
static __inline void * | mg_realloc (void *a, size_t b) |
|
int | mg_send_chunk (struct mg_connection *conn, const char *chunk, unsigned int chunk_len) |
|
int | mg_send_digest_access_authentication_request (struct mg_connection *conn, const char *realm) |
|
void | mg_send_file (struct mg_connection *conn, const char *path) |
|
int | mg_send_file_body (struct mg_connection *conn, const char *path) |
|
int | mg_send_http_error (struct mg_connection *conn, int status, const char *fmt,...) |
|
static int | mg_send_http_error_impl (struct mg_connection *conn, int status, const char *fmt, va_list args) |
|
int | mg_send_http_ok (struct mg_connection *conn, const char *mime_type, long long content_length) |
|
int | mg_send_http_redirect (struct mg_connection *conn, const char *target_url, int redirect_code) |
|
void | mg_send_mime_file (struct mg_connection *conn, const char *path, const char *mime_type) |
|
void | mg_send_mime_file2 (struct mg_connection *conn, const char *path, const char *mime_type, const char *additional_headers) |
|
void | mg_set_auth_handler (struct mg_context *ctx, const char *uri, mg_authorization_handler handler, void *cbdata) |
|
static void | mg_set_handler_type (struct mg_context *phys_ctx, struct mg_domain_context *dom_ctx, const char *uri, int handler_type, int is_delete_request, mg_request_handler handler, struct mg_websocket_subprotocols *subprotocols, mg_websocket_connect_handler connect_handler, mg_websocket_ready_handler ready_handler, mg_websocket_data_handler data_handler, mg_websocket_close_handler close_handler, mg_authorization_handler auth_handler, void *cbdata) |
|
void | mg_set_request_handler (struct mg_context *ctx, const char *uri, mg_request_handler handler, void *cbdata) |
|
static void | mg_set_thread_name (const char *name) |
|
void | mg_set_user_connection_data (const struct mg_connection *const_conn, void *data) |
|
void | mg_set_websocket_handler (struct mg_context *ctx, const char *uri, mg_websocket_connect_handler connect_handler, mg_websocket_ready_handler ready_handler, mg_websocket_data_handler data_handler, mg_websocket_close_handler close_handler, void *cbdata) |
|
void | mg_set_websocket_handler_with_subprotocols (struct mg_context *ctx, const char *uri, struct mg_websocket_subprotocols *subprotocols, mg_websocket_connect_handler connect_handler, mg_websocket_ready_handler ready_handler, mg_websocket_data_handler data_handler, mg_websocket_close_handler close_handler, void *cbdata) |
|
static void | mg_snprintf (const struct mg_connection *conn, int *truncated, char *buf, size_t buflen, const char *fmt,...) |
|
int | mg_split_form_urlencoded (char *data, struct mg_header *form_fields, unsigned num_form_fields) |
|
struct mg_context * | mg_start (const struct mg_callbacks *callbacks, void *user_data, const char **options) |
|
struct mg_context * | mg_start2 (struct mg_init_data *init, struct mg_error_data *error) |
|
int | mg_start_domain (struct mg_context *ctx, const char **options) |
|
int | mg_start_domain2 (struct mg_context *ctx, const char **options, struct mg_error_data *error) |
|
int | mg_start_thread (mg_thread_func_t func, void *param) |
|
static int | mg_start_thread_with_id (mg_thread_func_t func, void *param, pthread_t *threadidptr) |
|
static int | mg_stat (const struct mg_connection *conn, const char *path, struct mg_file_stat *filep) |
|
void | mg_stop (struct mg_context *ctx) |
|
long long | mg_store_body (struct mg_connection *conn, const char *path) |
|
static size_t | mg_str_append (char **dst, char *end, const char *src) |
|
int | mg_strcasecmp (const char *s1, const char *s2) |
|
static const char * | mg_strcasestr (const char *big_str, const char *small_str) |
|
static char * | mg_strdup (const char *str) |
|
static char * | mg_strdup_ctx (const char *str, struct mg_context *ctx) |
|
static void | mg_strlcpy (char *dst, const char *src, size_t n) |
|
int | mg_strncasecmp (const char *s1, const char *s2, size_t len) |
|
static char * | mg_strndup_ctx (const char *ptr, size_t len, struct mg_context *ctx) |
|
void | mg_unlock_connection (struct mg_connection *conn) |
|
void | mg_unlock_context (struct mg_context *ctx) |
|
int | mg_url_decode (const char *src, int src_len, char *dst, int dst_len, int is_form_url_encoded) |
|
int | mg_url_encode (const char *src, char *dst, size_t dst_len) |
|
const char * | mg_version (void) |
|
static int | mg_vprintf (struct mg_connection *conn, const char *fmt, va_list ap) |
|
static void | mg_vsnprintf (const struct mg_connection *conn, int *truncated, char *buf, size_t buflen, const char *fmt, va_list ap) |
|
int | mg_write (struct mg_connection *conn, const void *buf, size_t len) |
|
static void | mkcol (struct mg_connection *conn, const char *path) |
|
static int | modify_passwords_file (const char *fname, const char *domain, const char *user, const char *pass, const char *ha1) |
|
static int | must_hide_file (struct mg_connection *conn, const char *path) |
|
static const char * | next_option (const char *list, struct vec *val, struct vec *eq_val) |
|
static void | open_auth_file (struct mg_connection *conn, const char *path, struct mg_file *filep) |
|
static int | parse_auth_header (struct mg_connection *conn, char *buf, size_t buf_size, struct ah *ah) |
|
static time_t | parse_date_string (const char *datetime) |
|
static int | parse_http_headers (char **buf, struct mg_header hdr[(64)]) |
|
static int | parse_http_request (char *buf, int len, struct mg_request_info *ri) |
|
static int | parse_http_response (char *buf, int len, struct mg_response_info *ri) |
|
static int | parse_match_net (const struct vec *vec, const union usa *sa, int no_strict) |
|
static int | parse_port_string (const struct vec *vec, struct socket *so, int *ip_version) |
|
static int | parse_range_header (const char *header, int64_t *a, int64_t *b) |
|
static int | prepare_cgi_environment (struct mg_connection *conn, const char *prog, struct cgi_environment *env, unsigned char cgi_config_idx) |
|
static int | print_dav_dir_entry (struct de *de, void *data) |
|
static int | print_dir_entry (struct de *de) |
|
static int | print_props (struct mg_connection *conn, const char *uri, const char *name, struct mg_file_stat *filep) |
|
static void | process_new_connection (struct mg_connection *conn) |
|
static void | produce_socket (struct mg_context *ctx, const struct socket *sp) |
|
static int | pull_all (FILE *fp, struct mg_connection *conn, char *buf, int len) |
|
static int | pull_inner (FILE *fp, struct mg_connection *conn, char *buf, int len, double timeout) |
|
static int | push_all (struct mg_context *ctx, FILE *fp, SOCKET sock, SSL *ssl, const char *buf, int len) |
|
static int | push_inner (struct mg_context *ctx, FILE *fp, SOCKET sock, SSL *ssl, const char *buf, int len, double timeout) |
|
static int | put_dir (struct mg_connection *conn, const char *path) |
|
static void | put_file (struct mg_connection *conn, const char *path) |
|
static int | read_auth_file (struct mg_file *filep, struct read_auth_file_struct *workdata, int depth) |
|
static int | read_message (FILE *fp, struct mg_connection *conn, char *buf, int bufsiz, int *nread) |
|
static void | redirect_to_https_port (struct mg_connection *conn, int port) |
|
static int | refresh_trust (struct mg_connection *conn) |
|
static void | release_handler_ref (struct mg_connection *conn, struct mg_handler_info *handler_info) |
|
static void | remove_bad_file (const struct mg_connection *conn, const char *path) |
|
static int | remove_directory (struct mg_connection *conn, const char *dir) |
|
static void | remove_dot_segments (char *inout) |
|
static void | reset_per_request_attributes (struct mg_connection *conn) |
|
static int | scan_directory (struct mg_connection *conn, const char *dir, void *data, int(*cb)(struct de *, void *)) |
|
static void | send_additional_header (struct mg_connection *conn) |
|
static void | send_authorization_request (struct mg_connection *conn, const char *realm) |
|
static void | send_file_data (struct mg_connection *conn, struct mg_file *filep, int64_t offset, int64_t len) |
|
static void | send_no_cache_header (struct mg_connection *conn) |
|
static void | send_options (struct mg_connection *conn) |
|
static void | send_ssi_file (struct mg_connection *, const char *, struct mg_file *, int) |
|
static void | send_static_cache_header (struct mg_connection *conn) |
|
static int | set_acl_option (struct mg_context *phys_ctx) |
|
static int | set_blocking_mode (SOCKET sock) |
|
static void | set_close_on_exec (int fd, const struct mg_connection *conn, struct mg_context *ctx) |
|
static int | set_gpass_option (struct mg_context *phys_ctx, struct mg_domain_context *dom_ctx) |
|
static int | set_non_blocking_mode (SOCKET sock) |
|
static int | set_ports_option (struct mg_context *phys_ctx) |
|
static int | set_tcp_nodelay (const struct socket *so, int nodelay_on) |
|
static int | set_throttle (const char *spec, const union usa *rsa, const char *uri) |
|
static int | set_uid_option (struct mg_context *phys_ctx) |
|
static int | should_decode_query_string (const struct mg_connection *conn) |
|
static int | should_decode_url (const struct mg_connection *conn) |
|
static int | should_keep_alive (const struct mg_connection *conn) |
|
static int | should_switch_to_protocol (const struct mg_connection *conn) |
|
static char * | skip_quoted (char **buf, const char *delimiters, const char *whitespace, char quotechar) |
|
static int | skip_to_end_of_word_and_terminate (char **ppw, int eol) |
|
static void | sockaddr_to_string (char *buf, size_t len, const union usa *usa) |
|
static pid_t | spawn_process (struct mg_connection *conn, const char *prog, char *envblk, char *envp[], int fdin[2], int fdout[2], int fderr[2], const char *dir, unsigned char cgi_config_idx) |
|
static const char * | ssl_error (void) |
|
static int | ssl_get_client_cert_info (const struct mg_connection *conn, struct mg_client_cert *client_cert) |
|
static long | ssl_get_protocol (int version_id) |
|
static void | ssl_info_callback (const SSL *ssl, int what, int ret) |
|
static void | ssl_locking_callback (int mode, int mutex_num, const char *file, int line) |
|
static int | ssl_servername_callback (SSL *ssl, int *ad, void *arg) |
|
static int | ssl_use_pem_file (struct mg_context *phys_ctx, struct mg_domain_context *dom_ctx, const char *pem, const char *chain) |
|
static int | sslize (struct mg_connection *conn, int(*func)(SSL *), const struct mg_client_options *client_options) |
|
static int | substitute_index_file (struct mg_connection *conn, char *path, size_t path_len, struct mg_file_stat *filestat) |
|
static const char * | suggest_connection_header (const struct mg_connection *conn) |
|
static int | switch_domain_context (struct mg_connection *conn) |
|
static void | tls_dtor (void *key) |
|
static void | uninitialize_openssl (void) |
|
static void | url_decode_in_place (char *buf) |
|
static void * | worker_thread (void *thread_func_param) |
|
static void | worker_thread_run (struct mg_connection *conn) |
|