Added function to lookup a community by name.
authorMargaret Wasserman <margaret@moonshot-proxy>
Tue, 2 Jul 2013 18:05:23 +0000 (14:05 -0400)
committerMargaret Wasserman <margaret@moonshot-proxy>
Tue, 2 Jul 2013 18:05:23 +0000 (14:05 -0400)
common/tr_config.c
include/tr_config.h

index b5e12f0..cd9ee2b 100644 (file)
@@ -595,6 +595,26 @@ TR_RP_CLIENT *tr_cfg_find_rp (TR_CFG *tr_cfg, TR_NAME *rp_gss, TR_CFG_RC *rc)
   return NULL;
 }
 
+TR_COMM *tr_cfg_find_comm (TR_CFG *tr_cfg, TR_NAME *comm_name, TR_CFG_RC *rc)
+{
+  TR_COMM *comm;
+
+  if ((!tr_cfg) || (!comm_name)) {
+    if (rc)
+      *rc = TR_CFG_BAD_PARAMS;
+    return NULL;
+  }
+
+  for (comm = tr_cfg->comms; NULL != comm; comm = comm->next) {
+    if (!tr_name_cmp (comm_name, comm->id)) {
+      fprintf(stderr, "tr_cfg_find_comm: Found %s.\n", comm_name->buf);
+      return comm;
+    }
+  }
+  /* if we didn't find one, return NULL */ 
+  return NULL;
+}
+
 json_t *tr_read_config (int n, struct dirent **cfg_files) {
   json_t *jcfg = NULL;
   json_t *temp = NULL;
index 4ee5232..443d185 100644 (file)
@@ -75,6 +75,7 @@ TR_CFG_RC tr_apply_new_config (TR_INSTANCE *tr);
 void tr_cfg_free(TR_CFG *cfg);
 void tr_print_config(FILE *stream, TR_CFG *cfg);
 
+TR_COMM *tr_cfg_find_comm (TR_CFG *tr_cfg, TR_NAME *comm_name, TR_CFG_RC *rc);
 TR_IDP_REALM *tr_cfg_find_idp (TR_CFG *tr_cfg, TR_NAME *idp_id, TR_CFG_RC *rc);
 TR_RP_CLIENT *tr_cfg_find_rp (TR_CFG *tr_cfg, TR_NAME *rp_gss, TR_CFG_RC *rc);
 #endif