Track num_servers correctly
authorSam Hartman <hartmans@painless-security.com>
Tue, 15 Jul 2014 20:38:12 +0000 (16:38 -0400)
committerSam Hartman <hartmans@painless-security.com>
Tue, 15 Jul 2014 20:38:12 +0000 (16:38 -0400)
common/tr_msg.c
tid/example/tids_main.c

index d2982fe..fecd404 100644 (file)
@@ -282,7 +282,7 @@ static json_t *tr_msg_encode_servers(TID_RESP *resp)
   return jservers;
 }
 
-static TID_SRVR_BLK *tr_msg_decode_servers(void * ctx, json_t *jservers
+static TID_SRVR_BLK *tr_msg_decode_servers(void * ctx, json_t *jservers, size_t *out_len)
 {
   TID_SRVR_BLK *servers = NULL;
   json_t *jsrvr;
@@ -306,7 +306,7 @@ static TID_SRVR_BLK *tr_msg_decode_servers(void * ctx, json_t *jservers)
 
 
   }
-
+  *out_len = num_servers;
   return servers;
 }
 
@@ -393,7 +393,7 @@ static TID_RESP *tr_msg_decode_tidresp(json_t *jresp)
     fprintf(stderr, "tr_msg_decode_tidresp(): Success! result = %s.\n", json_string_value(jresult));
     if ((NULL != (jservers = json_object_get(jresp, "servers"))) ||
        (!json_is_array(jservers))) {
-      tresp->servers = tr_msg_decode_servers(tresp, jservers); 
+      tresp->servers = tr_msg_decode_servers(tresp, jservers, &tresp->num_servers); 
     } 
     else {
       talloc_free(tresp);
index ef2d070..f47913f 100644 (file)
@@ -177,6 +177,7 @@ static int tids_req_handler (TIDS_INSTANCE *tids,
     return -1;
   }
   memset((*resp)->servers, 0, sizeof(TID_SRVR_BLK));
+  (*resp)->num_servers = 1;
 
   /* TBD -- Set up the server IP Address */