exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit ccbfca3f47e03c4876d617788c0987c050785301
parent 2717fca0bd9353a2534728448fa04ed0d0a376ac
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 11 Apr 2025 21:47:10 +0200

do not continue after first configuration file parsing error

Diffstat:
Msrc/kyclogic/kyclogic_api.c | 34++++++++++++++++++++++++++++++----
1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/src/kyclogic/kyclogic_api.c b/src/kyclogic/kyclogic_api.c @@ -1939,6 +1939,8 @@ handle_provider_section (void *cls, { struct SectionContext *sc = cls; + if (! sc->result) + return; if (0 == strncasecmp (section, "kyc-provider-", strlen ("kyc-provider-"))) @@ -2207,6 +2209,8 @@ handle_check_section (void *cls, { struct SectionContext *sc = cls; + if (! sc->result) + return; if (0 == strncasecmp (section, "kyc-check-", strlen ("kyc-check-"))) @@ -2215,7 +2219,6 @@ handle_check_section (void *cls, add_check (sc->cfg, section)) sc->result = false; - return; } } @@ -2386,6 +2389,8 @@ handle_rule_section (void *cls, { struct SectionContext *sc = cls; + if (! sc->result) + return; if (0 == strncasecmp (section, "kyc-rule-", strlen ("kyc-rule-"))) @@ -2394,7 +2399,6 @@ handle_rule_section (void *cls, add_rule (sc->cfg, section)) sc->result = false; - return; } } @@ -2641,6 +2645,8 @@ handle_program_section (void *cls, { struct SectionContext *sc = cls; + if (! sc->result) + return; if (0 == strncasecmp (section, "aml-program-", strlen ("aml-program-"))) @@ -2649,7 +2655,6 @@ handle_program_section (void *cls, add_program (sc->cfg, section)) sc->result = false; - return; } } @@ -2757,6 +2762,8 @@ handle_measure_section (void *cls, { struct SectionContext *sc = cls; + if (! sc->result) + return; if (0 == strncasecmp (section, "kyc-measure-", strlen ("kyc-measure-"))) @@ -2765,7 +2772,6 @@ handle_measure_section (void *cls, add_measure (sc->cfg, section)) sc->result = false; - return; } } @@ -2819,15 +2825,35 @@ TALER_KYCLOGIC_kyc_init ( GNUNET_CONFIGURATION_iterate_sections (cfg, &handle_provider_section, &sc); + if (! sc.result) + { + TALER_KYCLOGIC_kyc_done (); + return GNUNET_SYSERR; + } GNUNET_CONFIGURATION_iterate_sections (cfg, &handle_check_section, &sc); + if (! sc.result) + { + TALER_KYCLOGIC_kyc_done (); + return GNUNET_SYSERR; + } GNUNET_CONFIGURATION_iterate_sections (cfg, &handle_rule_section, &sc); + if (! sc.result) + { + TALER_KYCLOGIC_kyc_done (); + return GNUNET_SYSERR; + } GNUNET_CONFIGURATION_iterate_sections (cfg, &handle_program_section, &sc); + if (! sc.result) + { + TALER_KYCLOGIC_kyc_done (); + return GNUNET_SYSERR; + } GNUNET_CONFIGURATION_iterate_sections (cfg, &handle_measure_section, &sc);