gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: move common logic to parse curre


From: gnunet
Subject: [taler-exchange] branch master updated: move common logic to parse currency into libtalerutil
Date: Sun, 15 Mar 2020 20:08:46 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 4322bbf2 move common logic to parse currency into libtalerutil
4322bbf2 is described below

commit 4322bbf2f1722b4c53114901768772dabdb7e822
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Mar 15 20:08:38 2020 +0100

    move common logic to parse currency into libtalerutil
---
 src/auditor/taler-auditor-httpd.c           |  9 ++----
 src/auditor/taler-auditor.c                 |  9 ++----
 src/auditor/taler-wire-auditor.c            |  9 ++----
 src/auditordb/plugin_auditordb_postgres.c   |  9 ++----
 src/bank-lib/Makefile.am                    |  1 +
 src/bank-lib/taler-fakebank-run.c           | 20 ++----------
 src/benchmark/taler-exchange-benchmark.c    | 20 ++----------
 src/exchange-tools/taler-exchange-keyup.c   | 11 ++-----
 src/exchange/taler-exchange-httpd.c         | 25 ---------------
 src/exchange/taler-exchange-wirewatch.c     | 47 ++++++++---------------------
 src/exchangedb/plugin_exchangedb_postgres.c |  9 ++----
 src/include/taler_util.h                    | 13 ++++++++
 src/testing/testing_api_loop.c              | 19 ++----------
 src/util/config.c                           | 37 +++++++++++++++++++++++
 14 files changed, 82 insertions(+), 156 deletions(-)

diff --git a/src/auditor/taler-auditor-httpd.c 
b/src/auditor/taler-auditor-httpd.c
index ff069f2a..d7d8c4e5 100644
--- a/src/auditor/taler-auditor-httpd.c
+++ b/src/auditor/taler-auditor-httpd.c
@@ -455,14 +455,9 @@ auditor_serve_process_config ()
     return GNUNET_SYSERR;
   }
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "TALER",
-                                             "CURRENCY",
-                                             &currency))
+      TALER_config_get_currency (cfg,
+                                 &currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "TALER",
-                               "CURRENCY");
     return GNUNET_SYSERR;
   }
   if (GNUNET_OK !=
diff --git a/src/auditor/taler-auditor.c b/src/auditor/taler-auditor.c
index aad7cf17..d9d91fcf 100644
--- a/src/auditor/taler-auditor.c
+++ b/src/auditor/taler-auditor.c
@@ -5291,14 +5291,9 @@ run (void *cls,
               TALER_B2S (&master_pub));
 
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &currency))
+      TALER_config_get_currency (cfg,
+                                 &currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
     global_ret = 1;
     return;
   }
diff --git a/src/auditor/taler-wire-auditor.c b/src/auditor/taler-wire-auditor.c
index 51c1ba81..fb8e52f7 100644
--- a/src/auditor/taler-wire-auditor.c
+++ b/src/auditor/taler-wire-auditor.c
@@ -2178,14 +2178,9 @@ run (void *cls,
   } /* end of -m not given */
 
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &currency))
+      TALER_config_get_currency (cfg,
+                                 &currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
     global_ret = 1;
     return;
   }
diff --git a/src/auditordb/plugin_auditordb_postgres.c 
b/src/auditordb/plugin_auditordb_postgres.c
index 2f1b5234..d48defb1 100644
--- a/src/auditordb/plugin_auditordb_postgres.c
+++ b/src/auditordb/plugin_auditordb_postgres.c
@@ -3197,14 +3197,9 @@ libtaler_plugin_auditordb_postgres_init (void *cls)
     return NULL;
   }
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &pg->currency))
+      TALER_config_get_currency (cfg,
+                                 &pg->currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
     GNUNET_free (pg);
     return NULL;
   }
diff --git a/src/bank-lib/Makefile.am b/src/bank-lib/Makefile.am
index 729f96e1..282c9db7 100644
--- a/src/bank-lib/Makefile.am
+++ b/src/bank-lib/Makefile.am
@@ -16,6 +16,7 @@ taler_fakebank_run_SOURCES = \
   taler-fakebank-run.c
 taler_fakebank_run_LDADD = \
   libtalerfakebank.la \
+  $(top_builddir)/src/util/libtalerutil.la \
   -lgnunetutil
 
 taler_bank_transfer_SOURCES = \
diff --git a/src/bank-lib/taler-fakebank-run.c 
b/src/bank-lib/taler-fakebank-run.c
index 588777c9..4b94a4bd 100644
--- a/src/bank-lib/taler-fakebank-run.c
+++ b/src/bank-lib/taler-fakebank-run.c
@@ -48,26 +48,10 @@ run (void *cls,
   (void) cls;
   (void) args;
   (void) cfgfile;
-  (void) cfg;
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &currency_string))
+      TALER_config_get_currency (cfg,
+                                 &currency_string))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
-    ret = 1;
-    return;
-  }
-  if (strlen (currency_string) >= TALER_CURRENCY_LEN)
-  {
-    GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY",
-                               "Value is too long");
-    GNUNET_free (currency_string);
     ret = 1;
     return;
   }
diff --git a/src/benchmark/taler-exchange-benchmark.c 
b/src/benchmark/taler-exchange-benchmark.c
index 3ea2b0bb..b1f2bc57 100644
--- a/src/benchmark/taler-exchange-benchmark.c
+++ b/src/benchmark/taler-exchange-benchmark.c
@@ -831,25 +831,9 @@ main (int argc,
     return BAD_CONFIG_FILE;
   }
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "currency",
-                                             &currency))
-  {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "currency");
-    GNUNET_CONFIGURATION_destroy (cfg);
-    GNUNET_free (cfg_filename);
-    return BAD_CONFIG_FILE;
-  }
-
-  if (strlen (currency) >= TALER_CURRENCY_LEN)
+      TALER_config_get_currency (cfg,
+                                 &currency))
   {
-    GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY",
-                               "Value is too long");
     GNUNET_CONFIGURATION_destroy (cfg);
     GNUNET_free (cfg_filename);
     return BAD_CONFIG_FILE;
diff --git a/src/exchange-tools/taler-exchange-keyup.c 
b/src/exchange-tools/taler-exchange-keyup.c
index b10a139a..4513934b 100644
--- a/src/exchange-tools/taler-exchange-keyup.c
+++ b/src/exchange-tools/taler-exchange-keyup.c
@@ -772,7 +772,7 @@ create_denomkey_issue (
   GNUNET_assert (NULL != dki->denom_priv.rsa_private_key);
   dki->denom_pub.rsa_public_key
     = GNUNET_CRYPTO_rsa_private_key_get_public (
-    dki->denom_priv.rsa_private_key);
+        dki->denom_priv.rsa_private_key);
   GNUNET_CRYPTO_rsa_public_key_hash (dki->denom_pub.rsa_public_key,
                                      &dki->issue.properties.denom_hash);
   dki->issue.properties.master = master_public_key;
@@ -1174,14 +1174,9 @@ run (void *cls,
   (void) cfgfile;
   kcfg = cfg;
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &currency))
+      TALER_config_get_currency (cfg,
+                                 &currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
     global_ret = 1;
     return;
   }
diff --git a/src/exchange/taler-exchange-httpd.c 
b/src/exchange/taler-exchange-httpd.c
index 98d6a9ba..9524c2cb 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -758,31 +758,6 @@ exchange_serve_process_config ()
                                "REVOCATION_DIR");
     return GNUNET_SYSERR;
   }
-  {
-    char *currency_string;
-
-    if (GNUNET_OK !=
-        GNUNET_CONFIGURATION_get_value_string (cfg,
-                                               "taler",
-                                               "CURRENCY",
-                                               &currency_string))
-    {
-      GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                                 "taler",
-                                 "CURRENCY");
-      return GNUNET_SYSERR;
-    }
-    if (strlen (currency_string) >= TALER_CURRENCY_LEN)
-    {
-      GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_ERROR,
-                                 "taler",
-                                 "CURRENCY",
-                                 "Value is too long");
-      GNUNET_free (currency_string);
-      return GNUNET_SYSERR;
-    }
-    GNUNET_free (currency_string);
-  }
   {
     char *master_public_key_str;
 
diff --git a/src/exchange/taler-exchange-wirewatch.c 
b/src/exchange/taler-exchange-wirewatch.c
index 69929e12..3731f663 100644
--- a/src/exchange/taler-exchange-wirewatch.c
+++ b/src/exchange/taler-exchange-wirewatch.c
@@ -100,11 +100,6 @@ static struct GNUNET_CURL_Context *ctx;
  */
 static struct GNUNET_CURL_RescheduleContext *rc;
 
-/**
- * Which currency is used by this exchange?
- */
-static char *exchange_currency_string;
-
 /**
  * The exchange's configuration (global)
  */
@@ -177,8 +172,6 @@ static struct TALER_BANK_CreditHistoryHandle *hh;
 static void
 shutdown_task (void *cls)
 {
-  struct WireAccount *wa;
-
   (void) cls;
   if (NULL != hh)
   {
@@ -202,14 +195,18 @@ shutdown_task (void *cls)
   }
   TALER_EXCHANGEDB_plugin_unload (db_plugin);
   db_plugin = NULL;
-  while (NULL != (wa = wa_head))
   {
-    GNUNET_CONTAINER_DLL_remove (wa_head,
-                                 wa_tail,
-                                 wa);
-    TALER_BANK_auth_free (&wa->auth);
-    GNUNET_free (wa->section_name);
-    GNUNET_free (wa);
+    struct WireAccount *wa;
+
+    while (NULL != (wa = wa_head))
+    {
+      GNUNET_CONTAINER_DLL_remove (wa_head,
+                                   wa_tail,
+                                   wa);
+      TALER_BANK_auth_free (&wa->auth);
+      GNUNET_free (wa->section_name);
+      GNUNET_free (wa);
+    }
   }
   wa_pos = NULL;
   last_row_off = 0;
@@ -259,28 +256,8 @@ add_account_cb (void *cls,
  * @return #GNUNET_OK on success
  */
 static int
-exchange_serve_process_config ()
+exchange_serve_process_config (void)
 {
-  if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &exchange_currency_string))
-  {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
-    return GNUNET_SYSERR;
-  }
-  if (strlen (exchange_currency_string) >= TALER_CURRENCY_LEN)
-  {
-    fprintf (stderr,
-             "Currency `%s' longer than the allowed limit of %u characters.",
-             exchange_currency_string,
-             (unsigned int) TALER_CURRENCY_LEN);
-    return GNUNET_SYSERR;
-  }
-
   if (NULL ==
       (db_plugin = TALER_EXCHANGEDB_plugin_load (cfg)))
   {
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c 
b/src/exchangedb/plugin_exchangedb_postgres.c
index dfa05fb8..e333c1df 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -7230,14 +7230,9 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)
     return NULL;
   }
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &pg->currency))
+      TALER_config_get_currency (cfg,
+                                 &pg->currency))
   {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
     GNUNET_free (pg->sql_dir);
     GNUNET_free (pg);
     return NULL;
diff --git a/src/include/taler_util.h b/src/include/taler_util.h
index cf44f023..c7bf9c02 100644
--- a/src/include/taler_util.h
+++ b/src/include/taler_util.h
@@ -137,6 +137,19 @@ TALER_config_get_amount (const struct 
GNUNET_CONFIGURATION_Handle *cfg,
                          struct TALER_Amount *denom);
 
 
+/**
+ * Load our currency from the @a cfg (in section [taler]
+ * the option "CURRENCY").
+ *
+ * @param cfg configuration to use
+ * @param[out] currency where to write the result
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure
+ */
+int
+TALER_config_get_currency (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                           char **currency);
+
+
 /**
  * Allow user to specify an amount on the command line.
  *
diff --git a/src/testing/testing_api_loop.c b/src/testing/testing_api_loop.c
index 5f30f71e..1053e6f7 100644
--- a/src/testing/testing_api_loop.c
+++ b/src/testing/testing_api_loop.c
@@ -127,24 +127,9 @@ TALER_TESTING_run_with_fakebank (struct 
TALER_TESTING_Interpreter *is,
   char *currency;
 
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (is->cfg,
-                                             "taler",
-                                             "CURRENCY",
-                                             &currency))
-  {
-    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY");
-    is->result = GNUNET_SYSERR;
-    return;
-  }
-  if (strlen (currency) >= TALER_CURRENCY_LEN)
+      TALER_config_get_currency (is->cfg,
+                                 &currency))
   {
-    GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_ERROR,
-                               "taler",
-                               "CURRENCY",
-                               "Value is too long");
-    GNUNET_free (currency);
     is->result = GNUNET_SYSERR;
     return;
   }
diff --git a/src/util/config.c b/src/util/config.c
index ee74fe8f..160d541f 100644
--- a/src/util/config.c
+++ b/src/util/config.c
@@ -55,3 +55,40 @@ TALER_config_get_amount (const struct 
GNUNET_CONFIGURATION_Handle *cfg,
   GNUNET_free (str);
   return GNUNET_OK;
 }
+
+
+/**
+ * Load our currency from the @a cfg (in section [taler]
+ * the option "CURRENCY").
+ *
+ * @param cfg configuration to use
+ * @param[out] currency where to write the result
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure
+ */
+int
+TALER_config_get_currency (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                           char **currency)
+{
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_string (cfg,
+                                             "taler",
+                                             "CURRENCY",
+                                             currency))
+  {
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                               "taler",
+                               "CURRENCY");
+    return GNUNET_SYSERR;
+  }
+  if (strlen (*currency) >= TALER_CURRENCY_LEN)
+  {
+    fprintf (stderr,
+             "Currency `%s' longer than the allowed limit of %u characters.",
+             *currency,
+             (unsigned int) TALER_CURRENCY_LEN);
+    GNUNET_free (*currency);
+    *currency = NULL;
+    return GNUNET_SYSERR;
+  }
+  return GNUNET_OK;
+}

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]