Checkpoint commit: refactoring the request code in TIDS for better reuse
[trust_router.git] / tid / tidc.c
index fcc78c9..648107a 100644 (file)
@@ -55,9 +55,10 @@ static int tidc_destructor(void *obj)
   return 0;
 }
 
-TIDC_INSTANCE *tidc_create(TALLOC_CTX *mem_ctx)
+/* creates struct in talloc null context */
+TIDC_INSTANCE *tidc_create(void)
 {
-  TIDC_INSTANCE *tidc=talloc(mem_ctx, TIDC_INSTANCE);
+  TIDC_INSTANCE *tidc=talloc(NULL, TIDC_INSTANCE);
   if (tidc!=NULL) {
     tidc->client_dh=NULL;
     talloc_set_destructor((void *)tidc, tidc_destructor);
@@ -65,7 +66,7 @@ TIDC_INSTANCE *tidc_create(TALLOC_CTX *mem_ctx)
   return tidc;
 }
 
-void tidc_free(TIDC_INSTANCE *tidc)
+void tidc_destroy(TIDC_INSTANCE *tidc)
 {
   talloc_free(tidc);
 }
@@ -119,7 +120,7 @@ int tidc_send_request (TIDC_INSTANCE *tidc,
     goto error;
   }
 
-  tid_req->tidc_dh = tidc->client_dh;
+  tid_req->tidc_dh = tr_dh_dup(tidc->client_dh);
 
   rc = tidc_fwd_request(tidc, tid_req, resp_handler, cookie);
   goto cleanup;
@@ -156,7 +157,7 @@ int tidc_fwd_request(TIDC_INSTANCE *tidc,
 
 
   /* Encode the request into a json string */
-  if (!(req_buf = tr_msg_encode(msg))) {
+  if (!(req_buf = tr_msg_encode(NULL, msg))) {
     tr_err("tidc_fwd_request: Error encoding TID request.\n");
     goto error;
   }