commit 07b1256ee50440dd7034b1c41cbaada5aa59fc1a
parent 8f8d1a202d46c4315affbecdc683d9a3013be0c7
Author: Marcello Stanisci <marcello.stanisci@inria.fr>
Date: Fri, 24 Jun 2016 13:53:14 +0200
- strdup'ing instance id
- fetching receiver's name from /track request
Diffstat:
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git 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
@@ -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
@@ -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",