[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-merchant] 01/08: pre-merge changes towards #4939 pat
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-merchant] 01/08: pre-merge changes towards #4939 patch |
Date: |
Sun, 15 Apr 2018 12:26:18 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository merchant.
commit 0bf748cc19f37587c6c6fd82f26d66beb0758eba
Author: Christian Grothoff <address@hidden>
AuthorDate: Tue Mar 27 22:47:55 2018 +0200
pre-merge changes towards #4939 patch
---
src/backend/merchant.conf | 5 +++
src/backend/taler-merchant-httpd.c | 66 ++++++++++++--------------------------
src/backend/taler-merchant-httpd.h | 10 +++---
3 files changed, 31 insertions(+), 50 deletions(-)
diff --git a/src/backend/merchant.conf b/src/backend/merchant.conf
index 45a13cf..e3e0a68 100644
--- a/src/backend/merchant.conf
+++ b/src/backend/merchant.conf
@@ -58,4 +58,9 @@ CONFIG = postgres:///talermerchant
KEYFILE = ${TALER_DATA_HOME}/merchant/merchant.priv
[merchant-instance-wireformat-default]
+# File where the merchant's address is provided.
TEST_RESPONSE_FILE = ${TALER_CONFIG_HOME}/merchant/wire/tutorial.json
+# Should this address be used in offers we create right now?
+# Inactive addresses (NO) will be supported for legacy contracts
+# but not used for new contracts.
+ACTIVE = YES
diff --git a/src/backend/taler-merchant-httpd.c
b/src/backend/taler-merchant-httpd.c
index 017d6a1..086e956 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -632,9 +632,18 @@ wireformat_iterator_cb (void *cls,
wm = GNUNET_new (struct WireMethod);
/* FIXME: maybe use sorting to address #4939-12806? */
- GNUNET_CONTAINER_DLL_insert (mi->wm_head,
- mi->wm_tail,
- wm);
+ wm->active = GNUNET_CONFIGURATION_get_value_yesno (iic->config,
+ section,
+ instance_wiresection);
+ if (GNUNET_YES == wm->active)
+ GNUNET_CONTAINER_DLL_insert (mi->wm_head,
+ mi->wm_tail,
+ wm);
+ else
+ GNUNET_CONTAINER_DLL_insert_tail (mi->wm_head,
+ mi->wm_tail,
+ wm);
+
wm->j_wire = iic->plugin->get_wire_details (iic->plugin->cls,
iic->config,
section);
@@ -945,35 +954,16 @@ iterate_locations (const struct
GNUNET_CONFIGURATION_Handle *config)
* each instance's own data
*
* @param config configuration handle
- * @param allowed which wire format is allowed/expected?
* @return #GNUNET_OK if successful, #GNUNET_SYSERR upon errors
- * (for example, if no "default" instance is defined)
+ * (for example, if no "default" instance is defined)
*/
static int
-iterate_instances (const struct GNUNET_CONFIGURATION_Handle *config,
- const char *allowed)
+iterate_instances (const struct GNUNET_CONFIGURATION_Handle *config)
{
struct IterateInstancesCls *iic;
- char *lib_name;
- (void) GNUNET_asprintf (&lib_name,
- "libtaler_plugin_wire_%s",
- allowed);
iic = GNUNET_new (struct IterateInstancesCls);
- iic->current_index = 0;
iic->config = config;
- iic->default_instance = GNUNET_NO;
- iic->plugin = GNUNET_PLUGIN_load (lib_name,
- NULL);
- if (NULL == iic->plugin)
- {
- GNUNET_free (lib_name);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Wire transfer method `%s' not supported\n",
- allowed);
- return GNUNET_SYSERR;
- }
- iic->plugin->library_name = lib_name;
GNUNET_CONFIGURATION_iterate_sections (config,
&instances_iterator_cb,
iic);
@@ -1028,7 +1018,8 @@ run (void *cls,
char *wireformat;
int fh;
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "running taler-merchant-httpd\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Starting taler-merchant-httpd\n");
result = GNUNET_SYSERR;
GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
@@ -1051,14 +1042,16 @@ run (void *cls,
}
if (NULL ==
- (by_id_map = GNUNET_CONTAINER_multihashmap_create(1, GNUNET_NO)))
+ (by_id_map = GNUNET_CONTAINER_multihashmap_create (1,
+ GNUNET_NO)))
{
GNUNET_SCHEDULER_shutdown ();
return;
}
if (NULL ==
- (by_kpub_map = GNUNET_CONTAINER_multihashmap_create(1, GNUNET_NO)))
+ (by_kpub_map = GNUNET_CONTAINER_multihashmap_create (1,
+ GNUNET_NO)))
{
GNUNET_SCHEDULER_shutdown ();
return;
@@ -1129,29 +1122,12 @@ run (void *cls,
return;
}
- wireformat = NULL;
if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_string (config,
- "merchant",
- "WIREFORMAT",
- &wireformat))
+ iterate_instances (config))
{
- GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
- "merchant",
- "WIREFORMAT");
- GNUNET_SCHEDULER_shutdown ();
- return;
- }
- if (GNUNET_OK !=
- iterate_instances (config,
- wireformat))
- {
- GNUNET_free (wireformat);
GNUNET_SCHEDULER_shutdown ();
return;
}
- GNUNET_free (wireformat);
-
iterate_locations (config);
if (NULL ==
diff --git a/src/backend/taler-merchant-httpd.h
b/src/backend/taler-merchant-httpd.h
index 726dc62..803720b 100644
--- a/src/backend/taler-merchant-httpd.h
+++ b/src/backend/taler-merchant-httpd.h
@@ -59,11 +59,6 @@ struct IterateInstancesCls
unsigned int default_instance;
/**
- * Wire plugin
- */
- struct TALER_WIRE_Plugin *plugin;
-
- /**
* Tells if the parsing encountered any error. We need this
* field since the iterator must return void
*/
@@ -101,6 +96,11 @@ struct WireMethod
*/
struct GNUNET_HashCode h_wire;
+ /**
+ * Is this wire method active (should it be included in new contracts)?
+ */
+ int active;
+
};
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [taler-merchant] branch master updated (d880b37 -> c2e039b), gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 07/08: update manual, gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 08/08: fix possible test errors in configure.ac, gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 04/08: fix misc issues with tests after latest refactoring, gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 01/08: pre-merge changes towards #4939 patch,
gnunet <=
- [GNUnet-SVN] [taler-merchant] 05/08: get tests to pass (again), gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 06/08: update manual to reflect current options, gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 03/08: fix more of config files, fix testing_api_helpers logic to deal with merchant ports that are not 8082, gnunet, 2018/04/15
- [GNUnet-SVN] [taler-merchant] 02/08: Towards enabling multiple wire accounts per merchant., gnunet, 2018/04/15