summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kyclogic/kyclogic_api.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kyclogic/kyclogic_api.c b/src/kyclogic/kyclogic_api.c
index 0c4a51124..e7084ba41 100644
--- a/src/kyclogic/kyclogic_api.c
+++ b/src/kyclogic/kyclogic_api.c
@@ -1186,7 +1186,6 @@ TALER_KYCLOGIC_requirements_to_logic (const char *requirements,
unsigned int max_checks = 0;
const struct TALER_KYCLOGIC_KycProvider *kp_best = NULL;
- // FIXME: use 'ut' to filter providers!
if (NULL == requirements)
return GNUNET_NO;
{
@@ -1206,6 +1205,8 @@ TALER_KYCLOGIC_requirements_to_logic (const char *requirements,
const struct TALER_KYCLOGIC_KycProvider *kp = kyc_providers[i];
unsigned int matched = 0;
+ if (kp->user_type != ut)
+ continue;
for (unsigned int j = 0; j<kp->num_checks; j++)
{
const struct TALER_KYCLOGIC_KycCheck *kc = kp->provided_checks[j];
@@ -1229,6 +1230,8 @@ TALER_KYCLOGIC_requirements_to_logic (const char *requirements,
const struct TALER_KYCLOGIC_KycProvider *kp = kyc_providers[i];
unsigned int matched = 0;
+ if (kp->user_type != ut)
+ continue;
for (unsigned int j = 0; j<kp->num_checks; j++)
{
const struct TALER_KYCLOGIC_KycCheck *kc = kp->provided_checks[j];
@@ -1247,6 +1250,7 @@ TALER_KYCLOGIC_requirements_to_logic (const char *requirements,
kp_best = kp;
}
}
+ GNUNET_assert (NULL != kp_best);
*plugin = kp_best->logic;
*pd = kp_best->pd;
*configuration_section = kp_best->provider_section_name;