From d3f2fd9cb21cc10dce663a2f7d0deda07074e44e Mon Sep 17 00:00:00 2001 From: Jan Zeleny Date: Thu, 29 Mar 2012 04:39:42 -0400 Subject: Add conn_name to allow different names for domains and connections --- src/confdb/confdb.c | 1 + src/confdb/confdb.h | 1 + src/responder/common/responder_dp.c | 2 +- src/responder/pam/pamsrv_dp.c | 2 +- src/util/domain_info_utils.c | 4 ++-- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c index 04f02b5c..0320797c 100644 --- a/src/confdb/confdb.c +++ b/src/confdb/confdb.c @@ -727,6 +727,7 @@ static int confdb_get_domain_internal(struct confdb_ctx *cdb, ret = ENOMEM; goto done; } + domain->conn_name = domain->name; tmp = ldb_msg_find_attr_as_string(res->msgs[0], CONFDB_DOMAIN_ID_PROVIDER, diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h index 370970b8..d0b383e5 100644 --- a/src/confdb/confdb.h +++ b/src/confdb/confdb.h @@ -170,6 +170,7 @@ struct config_file_ctx; */ struct sss_domain_info { char *name; + char *conn_name; char *provider; int timeout; bool enumerate; diff --git a/src/responder/common/responder_dp.c b/src/responder/common/responder_dp.c index a54c68d7..4399736d 100644 --- a/src/responder/common/responder_dp.c +++ b/src/responder/common/responder_dp.c @@ -641,7 +641,7 @@ sss_dp_internal_get_send(struct resp_ctx *rctx, * in some pathological cases it may happen that nss starts up before * dp connection code is actually able to establish a connection. */ - ret = sss_dp_get_domain_conn(rctx, dom->name, &be_conn); + ret = sss_dp_get_domain_conn(rctx, dom->conn_name, &be_conn); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, ("BUG: The Data Provider connection for %s is not available!", diff --git a/src/responder/pam/pamsrv_dp.c b/src/responder/pam/pamsrv_dp.c index 40d4f303..afaca593 100644 --- a/src/responder/pam/pamsrv_dp.c +++ b/src/responder/pam/pamsrv_dp.c @@ -92,7 +92,7 @@ int pam_dp_send_req(struct pam_auth_req *preq, int timeout) * dp connection code is actually able to establish a connection. */ res = sss_dp_get_domain_conn(preq->cctx->rctx, - preq->domain->name, &be_conn); + preq->domain->conn_name, &be_conn); if (res != EOK) { DEBUG(1, ("The Data Provider connection for %s is not available!" " This maybe a bug, it shouldn't happen!\n", preq->domain)); diff --git a/src/util/domain_info_utils.c b/src/util/domain_info_utils.c index 5ee0aece..e66bb154 100644 --- a/src/util/domain_info_utils.c +++ b/src/util/domain_info_utils.c @@ -50,8 +50,8 @@ struct sss_domain_info *new_subdomain(TALLOC_CTX *mem_ctx, goto fail; } - dom->name = talloc_strdup(dom, parent->name); - if (dom->name == NULL) { + dom->conn_name = talloc_strdup(dom, parent->conn_name); + if (dom->conn_name == NULL) { DEBUG(SSSDBG_OP_FAILURE, ("Failed to copy connection name.\n")); goto fail; } -- cgit