From c22bcb79366530ce0157f64120097fd57452448e Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Thu, 13 Oct 2016 18:16:18 -0400 Subject: [PATCH] Fix several minor bugs affecting config file reading. --- common/tr_comm.c | 3 ++- common/tr_config.c | 6 ++++-- common/tr_rp.c | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/common/tr_comm.c b/common/tr_comm.c index 677a5b8..1d97f2f 100644 --- a/common/tr_comm.c +++ b/common/tr_comm.c @@ -804,7 +804,8 @@ TR_COMM_MEMB *tr_comm_table_find_rp_memb(TR_COMM_TABLE *ctab, TR_NAME *realm, TR if ((0==tr_name_cmp(realm, tr_rp_realm_get_id(rp_realm))) && (0==tr_name_cmp(comm, tr_comm_get_id(tr_comm_memb_get_comm(cur)))) && - (0==tr_name_cmp(origin, tr_comm_memb_get_origin(cur)))) { + (((NULL==origin)&&(NULL==tr_comm_memb_get_origin(cur))) || + (0==tr_name_cmp(origin, tr_comm_memb_get_origin(cur))))) { return cur; } } diff --git a/common/tr_config.c b/common/tr_config.c index 0d862dd..ea9efe9 100644 --- a/common/tr_config.c +++ b/common/tr_config.c @@ -1687,14 +1687,16 @@ static void tr_cfg_parse_comm_rps(TR_CFG *trc, json_t *jrps, TR_COMM *comm, TR_C /* Add the RP to the community, first see if we have the RP in any community */ found_rp=tr_rp_realm_lookup(trc->rp_realms, rp_name); - if (found_rp!=NULL) + if (found_rp!=NULL) { + tr_debug("tr_cfg_parse_comm_rps: RP realm %s already exists.", s); new_rp=found_rp; /* use it rather than creating a new realm record */ - else { + } else { new_rp=tr_rp_realm_new(NULL); if (new_rp==NULL) { tr_err("tr_cfg_parse_comm_rps: unable to allocate RP record for %s in community %.*s.", s, tr_comm_get_id(comm)->len, tr_comm_get_id(comm)->buf); } + tr_debug("tr_cfg_parse_comm_rps: setting name to %s", rp_name->buf); tr_rp_realm_set_id(new_rp, rp_name); rp_name=NULL; /* rp_name no longer belongs to us */ tr_rp_realm_add(trc->rp_realms, new_rp); diff --git a/common/tr_rp.c b/common/tr_rp.c index afa87fa..e6500c0 100644 --- a/common/tr_rp.c +++ b/common/tr_rp.c @@ -130,8 +130,8 @@ TR_RP_REALM *tr_rp_realm_lookup(TR_RP_REALM *rp_realms, TR_NAME *rp_name) return NULL; } - for (rp = rp_realms; NULL != rp; rp = rp->next) { - if (tr_name_cmp(tr_rp_realm_get_id(rp), rp_name)) + for (rp=rp_realms; NULL!=rp; rp=rp->next) { + if (0==tr_name_cmp(tr_rp_realm_get_id(rp), rp_name)) return rp; } return NULL; -- 2.1.4