From aedd2014ec50e2b52cad76d9c40c218ed0c9ccfc Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 24 Apr 2022 15:29:50 +0200 Subject: -misc p2p fixes --- src/lib/exchange_api_purse_merge.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/lib/exchange_api_purse_merge.c') diff --git a/src/lib/exchange_api_purse_merge.c b/src/lib/exchange_api_purse_merge.c index e541afaba..2dc9e4ca0 100644 --- a/src/lib/exchange_api_purse_merge.c +++ b/src/lib/exchange_api_purse_merge.c @@ -272,7 +272,10 @@ TALER_EXCHANGE_account_merge ( pch->h_contract_terms = *h_contract_terms; pch->purse_expiration = purse_expiration; pch->purse_value_after_fees = *purse_value_after_fees; - pch->provider_url = GNUNET_strdup (reserve_exchange_url); + if (NULL == reserve_exchange_url) + pch->provider_url = GNUNET_strdup (exchange->url); + else + pch->provider_url = GNUNET_strdup (reserve_exchange_url); GNUNET_CRYPTO_eddsa_key_get_public (&reserve_priv->eddsa_priv, &pch->reserve_pub.eddsa_pub); @@ -305,31 +308,33 @@ TALER_EXCHANGE_account_merge ( pub_str, sizeof (pub_str)); *end = '\0'; - if (0 == strncmp (reserve_exchange_url, + if (0 == strncmp (pch->provider_url, "http://", strlen ("http://"))) { is_http = true; - exchange_url = &reserve_exchange_url[strlen ("http://")]; + exchange_url = &pch->provider_url[strlen ("http://")]; } - else if (0 == strncmp (reserve_exchange_url, + else if (0 == strncmp (pch->provider_url, "https://", strlen ("https://"))) { is_http = false; - exchange_url = &reserve_exchange_url[strlen ("https://")]; + exchange_url = &pch->provider_url[strlen ("https://")]; } else { GNUNET_break (0); + GNUNET_free (pch->provider_url); GNUNET_free (pch); return NULL; } + /* exchange_url includes trailing '/' */ GNUNET_asprintf (&reserve_url, - "payto://%s/%s/%s", + "payto://%s/%s%s", is_http ? "taler+http" : "taler", - pub_str, - exchange_url); + exchange_url, + pub_str); } pch->url = TEAH_path_to_url (exchange, arg_str); -- cgit v1.2.3