7575#define SOCK_CLOEXEC 02000000
7676#endif
7777
78+ #if MHD_VERSION < 0x00097002
79+ typedef int MHD_Result;
80+ #endif
81+
7882using namespace std ;
7983
8084namespace httpserver
8185{
8286
8387using namespace http ;
8488
85- int policy_callback (void *, const struct sockaddr *, socklen_t );
89+ MHD_Result policy_callback (void *, const struct sockaddr *, socklen_t );
8690void error_log (void *, const char *, va_list);
8791void * uri_log (void *, const char *);
8892void access_log (webserver*, string);
@@ -421,7 +425,7 @@ void webserver::disallow_ip(const string& ip)
421425 allowances.erase (ip);
422426}
423427
424- int policy_callback (void *cls, const struct sockaddr * addr, socklen_t addrlen)
428+ MHD_Result policy_callback (void *cls, const struct sockaddr * addr, socklen_t addrlen)
425429{
426430 if (!(static_cast <webserver*>(cls))->ban_system_enabled ) return MHD_YES;
427431
@@ -468,7 +472,7 @@ size_t unescaper_func(void * cls, struct MHD_Connection *c, char *s)
468472 return std::string (s).size ();
469473}
470474
471- int webserver::post_iterator (void *cls, enum MHD_ValueKind kind,
475+ MHD_Result webserver::post_iterator (void *cls, enum MHD_ValueKind kind,
472476 const char *key,
473477 const char *filename,
474478 const char *content_type,
@@ -522,7 +526,7 @@ const std::shared_ptr<http_response> webserver::internal_error_page(details::mod
522526 }
523527}
524528
525- int webserver::requests_answer_first_step (
529+ MHD_Result webserver::requests_answer_first_step (
526530 MHD_Connection* connection,
527531 struct details ::modded_request* mr
528532)
@@ -574,7 +578,7 @@ int webserver::requests_answer_first_step(
574578 return MHD_YES;
575579}
576580
577- int webserver::requests_answer_second_step (
581+ MHD_Result webserver::requests_answer_second_step (
578582 MHD_Connection* connection, const char * method,
579583 const char * version, const char * upload_data,
580584 size_t * upload_data_size, struct details ::modded_request* mr
@@ -597,7 +601,7 @@ int webserver::requests_answer_second_step(
597601 return MHD_YES;
598602}
599603
600- int webserver::finalize_answer (
604+ MHD_Result webserver::finalize_answer (
601605 MHD_Connection* connection,
602606 struct details ::modded_request* mr,
603607 const char * method
@@ -731,10 +735,10 @@ int webserver::finalize_answer(
731735 mr->dhrs ->decorate_response (raw_response);
732736 to_ret = mr->dhrs ->enqueue_response (connection, raw_response);
733737 MHD_destroy_response (raw_response);
734- return to_ret;
738+ return (MHD_Result) to_ret;
735739}
736740
737- int webserver::complete_request (
741+ MHD_Result webserver::complete_request (
738742 MHD_Connection* connection,
739743 struct details ::modded_request* mr,
740744 const char * version,
@@ -750,7 +754,7 @@ int webserver::complete_request(
750754 return finalize_answer (connection, mr, method);
751755}
752756
753- int webserver::answer_to_connection (void * cls, MHD_Connection* connection,
757+ MHD_Result webserver::answer_to_connection (void * cls, MHD_Connection* connection,
754758 const char * url, const char * method,
755759 const char * version, const char * upload_data,
756760 size_t * upload_data_size, void ** con_cls
0 commit comments