aboutsummaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_extensions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchange/taler-exchange-httpd_extensions.c')
-rw-r--r--src/exchange/taler-exchange-httpd_extensions.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd_extensions.c b/src/exchange/taler-exchange-httpd_extensions.c
index 8edb24d4..6894a076 100644
--- a/src/exchange/taler-exchange-httpd_extensions.c
+++ b/src/exchange/taler-exchange-httpd_extensions.c
@@ -127,6 +127,16 @@ extension_update_event_cb (void *cls,
GNUNET_break (0);
}
}
+
+ /* Special case age restriction: Update global flag and mask */
+ if (TALER_Extension_AgeRestriction == type)
+ {
+ TEH_age_mask.mask = 0;
+ TEH_age_restriction_enabled =
+ TALER_extensions_age_restriction_is_enabled ();
+ if (TEH_age_restriction_enabled)
+ TEH_age_mask = TALER_extensions_age_restriction_ageMask ();
+ }
}
@@ -151,6 +161,12 @@ TEH_extensions_init ()
return GNUNET_SYSERR;
}
+ /* FIXME: shall we load the extensions from the config right away?
+ * We do have to for now, as otherwise denominations with age restriction
+ * will not have the age mask set right upon initial generation.
+ */
+ TALER_extensions_load_taler_config (TEH_cfg);
+
/* Trigger the initial load of configuration from the db */
for (const struct TALER_Extension *it = TALER_extensions_get_head ();
NULL != it->next;