Add key expiration to output message
authorSam Hartman <hartmans@debian.org>
Tue, 10 Mar 2015 00:32:02 +0000 (20:32 -0400)
committerSam Hartman <hartmans@debian.org>
Tue, 10 Mar 2015 00:32:02 +0000 (20:32 -0400)
common/tr_msg.c
include/tid_internal.h

index 85221f5..85be430 100644 (file)
@@ -224,6 +224,7 @@ static json_t *tr_msg_encode_one_server(TID_SRVR_BLK *srvr)
 {
   json_t *jsrvr = NULL;
   json_t *jstr = NULL;
+  gchar *time_str = g_time_val_to_iso8601(&srvr->key_expiration);
 
   fprintf(stderr, "Encoding one server.\n");
 
@@ -233,11 +234,16 @@ static json_t *tr_msg_encode_one_server(TID_SRVR_BLK *srvr)
   jstr = json_string(inet_ntoa(srvr->aaa_server_addr));
   json_object_set_new(jsrvr, "server_addr", jstr);
 
+  json_object_set_new(jsrvr,
+                     "key_expiration", json_string(time_str));
+  g_free(time_str);
   /* Server DH Block */
   jstr = json_string(srvr->key_name->buf);
   json_object_set_new(jsrvr, "key_name", jstr);
   json_object_set_new(jsrvr, "server_dh", tr_msg_encode_dh(srvr->aaa_server_dh));
-  
+  if (srvr->path)
+    /* The path is owned by the srvr, so grab an extra ref*/
+    json_object_set(jsrvr, "path", srvr->path);
   //  fprintf(stderr,"tr_msg_encode_one_server(): jsrvr contains:\n");
   //  fprintf(stderr,"%s\n", json_dumps(jsrvr, 0));
   return jsrvr;
index 882b3fa..94faa23 100644 (file)
@@ -34,6 +34,7 @@
 
 #ifndef TID_INTERNAL_H
 #define TID_INTERNAL_H
+#include <glib.h>
 #include <trust_router/tid.h>
 
 #include <jansson.h>
@@ -42,7 +43,7 @@ struct tid_srvr_blk {
   struct in_addr aaa_server_addr;
   TR_NAME *key_name;
   DH *aaa_server_dh;           /* AAA server's public dh information */
-  char *expiration_time; /**< absolute time at which key expires*/
+  GTimeVal key_expiration; /**< absolute time at which key expires*/
   json_t *path;/**< Path of trust routers that the request traversed*/
 };