diff options
Diffstat (limited to 'src/backend/anastasis-httpd_truth.h')
-rw-r--r-- | src/backend/anastasis-httpd_truth.h | 59 |
1 files changed, 44 insertions, 15 deletions
diff --git a/src/backend/anastasis-httpd_truth.h b/src/backend/anastasis-httpd_truth.h index 87e570b..a436394 100644 --- a/src/backend/anastasis-httpd_truth.h +++ b/src/backend/anastasis-httpd_truth.h @@ -1,6 +1,6 @@ /* This file is part of Anastasis - Copyright (C) 2014, 2015, 2016, 2021 Anastasis SARL + Copyright (C) 2020-2022 Anastasis SARL Anastasis is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software @@ -24,13 +24,18 @@ #define ANASTASIS_HTTPD_TRUTH_H #include <microhttpd.h> - /** - * Prepare all active GET truth requests for system shutdown. + * Prepare all active POST truth solve requests for system shutdown. */ void -AH_truth_shutdown (void); +AH_truth_solve_shutdown (void); + +/** + * Prepare all active POST truth challenge requests for system shutdown. + */ +void +AH_truth_challenge_shutdown (void); /** * Prepare all active POST truth requests for system shutdown. @@ -40,36 +45,60 @@ AH_truth_upload_shutdown (void); /** - * Handle a GET to /truth/$UUID + * Handle a POST to /truth/$UUID. * - * @param connection the MHD connection to handle + * @param[in,out] connection the MHD connection to handle + * @param[in,out] hc connection context * @param truth_uuid the truth UUID - * @param hc connection context + * @param truth_data truth data + * @param truth_data_size number of bytes (left) in @a truth_data * @return MHD result code */ MHD_RESULT -AH_handler_truth_get ( +AH_handler_truth_post ( struct MHD_Connection *connection, + struct TM_HandlerContext *hc, const struct ANASTASIS_CRYPTO_TruthUUIDP *truth_uuid, - struct TM_HandlerContext *hc); + const char *truth_data, + size_t *truth_data_size); /** - * Handle a POST to /truth/$UUID. + * Handle a POST to /truth/$UUID/solve. * - * @param connection the MHD connection to handle - * @param hc connection context + * @param[in,out] connection the MHD connection to handle + * @param[in,out] hc connection context * @param truth_uuid the truth UUID * @param truth_data truth data * @param truth_data_size number of bytes (left) in @a truth_data * @return MHD result code */ MHD_RESULT -AH_handler_truth_post ( +AH_handler_truth_solve ( struct MHD_Connection *connection, struct TM_HandlerContext *hc, const struct ANASTASIS_CRYPTO_TruthUUIDP *truth_uuid, - const char *truth_data, - size_t *truth_data_size); + const char *upload_data, + size_t *upload_data_size); + + +/** + * Handle a POST to /truth/$UUID/challenge. + * + * @param[in,out] connection the MHD connection to handle + * @param[in,out] hc connection context + * @param truth_uuid the truth UUID + * @param truth_data truth data + * @param truth_data_size number of bytes (left) in @a truth_data + * @return MHD result code + */ +MHD_RESULT +AH_handler_truth_challenge ( + struct MHD_Connection *connection, + struct TM_HandlerContext *hc, + const struct ANASTASIS_CRYPTO_TruthUUIDP *truth_uuid, + const char *upload_data, + size_t *upload_data_size); + #endif |