summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd.c
diff options
context:
space:
mode:
authorÖzgür Kesim <oec-taler@kesim.org>2021-12-27 23:24:48 +0100
committerÖzgür Kesim <oec-taler@kesim.org>2021-12-27 23:24:48 +0100
commitef4238874f6628a9ee4464ad3b70a7fde96d518b (patch)
tree27ba7f32c4d32bce4c821ba6c6a2ed8791d2c30b /src/exchange/taler-exchange-httpd.c
parent070f442a1182c7c2a09c42e94ce202509ade1b77 (diff)
downloadexchange-ef4238874f6628a9ee4464ad3b70a7fde96d518b.tar.gz
exchange-ef4238874f6628a9ee4464ad3b70a7fde96d518b.tar.bz2
exchange-ef4238874f6628a9ee4464ad3b70a7fde96d518b.zip
[age restriction] progress 9/n
More worke towards support for extensions and age restriction: - taler-exchange-httpd_management_extensions.c almost completed - handling of request implemented - stub "set_extensions" for database transaction added - utility functions added - TALER_exchange_offline_extension_agemask_{sign,verify} - TALER_agemask_parse_json
Diffstat (limited to 'src/exchange/taler-exchange-httpd.c')
-rw-r--r--src/exchange/taler-exchange-httpd.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c
index de4ffc7ca..b435ee4ae 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -53,6 +53,7 @@
#include "taler-exchange-httpd_withdraw.h"
#include "taler_exchangedb_lib.h"
#include "taler_exchangedb_plugin.h"
+#include "taler_extensions.h"
#include <gnunet/gnunet_mhd_compat.h>
/**
@@ -147,6 +148,25 @@ int TEH_check_invariants_flag;
bool TEH_suicide;
/**
+ * The global manifest with the list supported extensions, sorted by
+ * TALER_Extension_Type.
+ **/
+const struct TALER_Extension TEH_extensions[TALER_Extension_Max] = {
+ [TALER_Extension_Peer2Peer] = {
+ .type = TALER_Extension_Peer2Peer,
+ .name = "peer2peer",
+ .critical = false,
+ .config = NULL, // disabled per default
+ },
+ [TALER_Extension_AgeRestriction] = {
+ .type = TALER_Extension_AgeRestriction,
+ .name = "age_restriction",
+ .critical = false,
+ .config = NULL, // disabled per default
+ },
+};
+
+/**
* Value to return from main()
*/
static int global_ret;
@@ -184,7 +204,6 @@ struct GNUNET_CURL_Context *TEH_curl_ctx;
*/
static struct GNUNET_CURL_RescheduleContext *exchange_curl_rc;
-
/**
* Signature of functions that handle operations on coins.
*