41 MHD_LoggingCallback logger,
151 enum MHD_FastOpenMethod fom,
152 unsigned int queue_length)
158 case MHD_FOM_DISABLE:
162 case MHD_FOM_REQUIRE:
188 enum MHD_AddressFamily af,
207 const struct sockaddr *sa,
293 enum MHD_EventLoopSyscall els)
329 enum MHD_ProtocolStrictLevel sl)
352 const char *tls_backend,
355#if ! (defined(HTTPS_SUPPORT) && defined (HAVE_DLFCN_H))
356 return MHD_SC_TLS_DISABLED;
363 res = MHD_snprintf_ (filename,
365 "%s/libmicrohttpd_tls_%s.so",
366 MHD_PLUGIN_INSTALL_PREFIX,
369 return MHD_SC_TLS_BACKEND_UNSUPPORTED;
371 (daemon->tls_backend_lib = dlopen (filename,
372 RTLD_NOW | RTLD_LOCAL)))
373 return MHD_SC_TLS_BACKEND_UNSUPPORTED;
374 if (
NULL == (init = dlsym (daemon->tls_backend_lib,
378 dlclose (daemon->tls_backend_lib);
379 daemon->tls_backend_lib =
NULL;
380 return MHD_SC_TLS_BACKEND_UNSUPPORTED;
382 if (
NULL == (daemon->tls_api = init (ciphers)))
384 dlclose (daemon->tls_backend_lib);
385 daemon->tls_backend_lib =
NULL;
386 return MHD_SC_TLS_CIPHERS_INVALID;
409 const char *mem_cert,
413 return MHD_SC_TLS_DISABLED;
417 if (
NULL == (plugin = daemon->tls_api))
418 return MHD_SC_TLS_BACKEND_UNINITIALIZED;
441 return MHD_SC_TLS_DISABLED;
445 if (
NULL == (plugin = daemon->tls_api))
446 return MHD_SC_TLS_BACKEND_UNINITIALIZED;
464 const char *mem_trust)
467 return MHD_SC_TLS_DISABLED;
471 if (
NULL == (plugin = daemon->tls_api))
472 return MHD_SC_TLS_BACKEND_UNINITIALIZED;
488 int gnutls_credentials)
491 return MHD_SC_TLS_DISABLED;
495 if (
NULL == (plugin = daemon->tls_api))
496 return MHD_SC_TLS_BACKEND_UNINITIALIZED;
497 return MHD_SC_TLS_BACKEND_OPERATION_UNSUPPORTED;
524 return MHD_SC_TLS_DISABLED;
528 if (
NULL == (plugin = daemon->tls_api))
529 return MHD_SC_TLS_BACKEND_UNINITIALIZED;
530 return MHD_SC_TLS_BACKEND_OPERATION_UNSUPPORTED;
544 enum MHD_ThreadingMode tm)
580 MHD_EarlyUriLogCallback cb,
619 size_t memory_limit_b,
620 size_t memory_increment_b)
622 if (memory_increment_b >= memory_limit_b)
623 MHD_PANIC (
"Sane memory increment must be below memory limit.\n");
639 size_t stack_limit_b)
662 unsigned int global_connection_limit,
663 unsigned int ip_connection_limit)
680 unsigned int timeout_s)
699 MHD_UnescapeCallback unescape_cb,
700 void *unescape_cb_cls)
722 daemon->digest_auth_random_buf = buf;
723 daemon->digest_auth_random_buf_size = buf_size;
728 MHD_PANIC (
"Digest authentication not supported by this build.\n");
745 if ( ( (
size_t) (nc_length *
sizeof (
struct MHD_NonceNc)))
750 _ (
"Specified value for NC_SIZE too large.\n"));
752 return MHD_SC_DIGEST_AUTH_NC_LENGTH_TOO_BIG;
756 if (
NULL != daemon->nnc)
758 daemon->nnc = malloc (daemon->nonce_nc_size
760 if (
NULL == daemon->nnc)
764 _ (
"Failed to allocate memory for nonce-nc map: %s\n"),
767 return MHD_SC_DIGEST_AUTH_NC_ALLOCATION_FAILURE;
770 daemon->digest_nc_length = nc_length;
775 return MHD_SC_DIGEST_AUTH_NOT_SUPPORTED_BY_BUILD;
void MHD_daemon_set_early_uri_logger(struct MHD_Daemon *daemon, MHD_EarlyUriLogCallback cb, void *cb_cls)
void MHD_daemon_bind_socket_address(struct MHD_Daemon *daemon, const struct sockaddr *sa, size_t sa_len)
_MHD_EXTERN void MHD_daemon_enable_shoutcast(struct MHD_Daemon *daemon)
void MHD_daemon_digest_auth_random(struct MHD_Daemon *daemon, size_t buf_size, const void *buf)
enum MHD_StatusCode MHD_daemon_tls_mem_trust(struct MHD_Daemon *daemon, const char *mem_trust)
enum MHD_StatusCode MHD_daemon_tls_mem_dhparams(struct MHD_Daemon *daemon, const char *dh)
void MHD_daemon_disable_itc(struct MHD_Daemon *daemon)
void MHD_daemon_suppress_date_no_clock(struct MHD_Daemon *daemon)
void MHD_daemon_listen_socket(struct MHD_Daemon *daemon, MHD_socket listen_socket)
void MHD_daemon_disallow_upgrade(struct MHD_Daemon *daemon)
void MHD_daemon_thread_stack_size(struct MHD_Daemon *daemon, size_t stack_limit_b)
void MHD_daemon_bind_port(struct MHD_Daemon *daemon, enum MHD_AddressFamily af, uint16_t port)
void MHD_daemon_listen_backlog(struct MHD_Daemon *daemon, int listen_backlog)
void MHD_daemon_connection_limits(struct MHD_Daemon *daemon, unsigned int global_connection_limit, unsigned int ip_connection_limit)
enum MHD_StatusCode MHD_daemon_set_tls_backend(struct MHD_Daemon *daemon, const char *tls_backend, const char *ciphers)
void MHD_daemon_disallow_suspend_resume(struct MHD_Daemon *daemon)
enum MHD_StatusCode MHD_daemon_gnutls_key_and_cert_from_callback(struct MHD_Daemon *daemon, void *cb)
void MHD_daemon_enable_turbo(struct MHD_Daemon *daemon)
enum MHD_StatusCode MHD_daemon_tls_key_and_cert_from_memory(struct MHD_Daemon *daemon, const char *mem_key, const char *mem_cert, const char *pass)
enum MHD_StatusCode MHD_daemon_digest_auth_nc_length(struct MHD_Daemon *daemon, size_t nc_length)
void MHD_daemon_threading_mode(struct MHD_Daemon *daemon, enum MHD_ThreadingMode tm)
enum MHD_Bool MHD_daemon_event_loop(struct MHD_Daemon *daemon, enum MHD_EventLoopSyscall els)
void MHD_daemon_connection_memory_limit(struct MHD_Daemon *daemon, size_t memory_limit_b, size_t memory_increment_b)
enum MHD_Bool MHD_daemon_tcp_fastopen(struct MHD_Daemon *daemon, enum MHD_FastOpenMethod fom, unsigned int queue_length)
void MHD_daemon_set_notify_connection(struct MHD_Daemon *daemon, MHD_NotifyConnectionCallback ncc, void *ncc_cls)
void MHD_daemon_listen_allow_address_reuse(struct MHD_Daemon *daemon)
void MHD_daemon_unescape_cb(struct MHD_Daemon *daemon, MHD_UnescapeCallback unescape_cb, void *unescape_cb_cls)
void MHD_daemon_accept_policy(struct MHD_Daemon *daemon, MHD_AcceptPolicyCallback apc, void *apc_cls)
enum MHD_StatusCode MHD_daemon_gnutls_credentials(struct MHD_Daemon *daemon, int gnutls_credentials)
void MHD_daemon_connection_default_timeout(struct MHD_Daemon *daemon, unsigned int timeout_s)
void MHD_daemon_protocol_strict_level(struct MHD_Daemon *daemon, enum MHD_ProtocolStrictLevel sl)
void MHD_daemon_set_logger(struct MHD_Daemon *daemon, MHD_LoggingCallback logger, void *logger_cls)
void(* MHD_NotifyConnectionCallback)(void *cls, struct MHD_Connection *connection, void **socket_context, enum MHD_ConnectionNotificationCode toe)
#define MHD_strerror_(errnum)
MHD internal shared structures.
enum MHD_Result(* MHD_AcceptPolicyCallback)(void *cls, const struct sockaddr *addr, socklen_t addrlen)
#define MHD_TLS_ABI_VERSION_STR
struct MHD_TLS_Plugin *(* MHD_TLS_PluginInit)(const char *ciphers)
MHD_EarlyUriLogCallback early_uri_logger_cb
unsigned int ip_connection_limit
enum MHD_AddressFamily listen_af
MHD_AcceptPolicyCallback accept_policy_cb
MHD_NotifyConnectionCallback notify_connection_cb
void * notify_connection_cb_cls
void * early_uri_logger_cb_cls
enum MHD_FastOpenMethod fast_open_method
enum MHD_EventLoopSyscall event_loop_syscall
size_t connection_memory_increment_b
MHD_LoggingCallback logger
bool disallow_suspend_resume
struct sockaddr_storage listen_sa
enum MHD_ProtocolStrictLevel protocol_strict_level
time_t connection_default_timeout
size_t connection_memory_limit_b
enum MHD_ThreadingMode threading_mode
unsigned int global_connection_limit
MHD_UnescapeCallback unescape_cb
void * accept_policy_cb_cls
size_t thread_stack_limit_b
unsigned int fo_queue_length
enum MHD_StatusCode(* init_mem_trust)(void *cls, const char *mem_trust)
enum MHD_StatusCode(* init_kcp)(void *cls, const char *mem_key, const char *mem_cert, const char *pass)
enum MHD_StatusCode(* init_dhparams)(void *cls, const char *dh)