aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/taler-merchant-httpd.c3
-rw-r--r--src/backend/taler-merchant-httpd.h2
-rw-r--r--src/backend/taler-merchant-httpd_track-transaction.c7
3 files changed, 10 insertions, 2 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c
index d259d5cb..b6d3af42 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -258,6 +258,7 @@ do_shutdown (void *cls)
for (i=0; NULL != instances[i]; i++)
{
json_decref (instances[i]->j_wire);
+ GNUNET_free (instances[i]->id);
GNUNET_free (instances[i]);
}
}
@@ -455,7 +456,7 @@ instances_iterator_cb (void *cls,
GNUNET_free (pk);
/** To free or not to free **/
- mi->id = token + 1;
+ mi->id = GNUNET_strdup (token + 1);
if (0 == strcmp ("default", mi->id))
iic->default_instance = GNUNET_YES;
diff --git a/src/backend/taler-merchant-httpd.h b/src/backend/taler-merchant-httpd.h
index 060fd26e..ffb075ac 100644
--- a/src/backend/taler-merchant-httpd.h
+++ b/src/backend/taler-merchant-httpd.h
@@ -81,7 +81,7 @@ struct MerchantInstance {
* the configuration is kept in memory, as it's as substring of
* a section name
*/
- const char *id;
+ char *id;
/**
* File holding the merchant's private key
diff --git a/src/backend/taler-merchant-httpd_track-transaction.c b/src/backend/taler-merchant-httpd_track-transaction.c
index d2e95e51..ed1eea19 100644
--- a/src/backend/taler-merchant-httpd_track-transaction.c
+++ b/src/backend/taler-merchant-httpd_track-transaction.c
@@ -773,6 +773,7 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh,
struct TrackTransactionContext *tctx;
unsigned long long transaction_id;
const char *str;
+ const char *receiver;
int ret;
if (NULL == *connection_cls)
@@ -824,6 +825,12 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh,
if (NULL == str)
return TMH_RESPONSE_reply_bad_request (connection,
"id argument missing");
+ receiver = MHD_lookup_connection_value (connection,
+ MHD_GET_ARGUMENT_KIND,
+ "receiver");
+ if (NULL == receiver)
+ return TMH_RESPONSE_reply_bad_request (connection,
+ "receiver argument missing");
if (1 !=
sscanf (str,
"%llu",