summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2013-10-11 15:20:40 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-11-15 20:20:18 +0100
commit4fcc50e133f90cd4c5931a3ac48c84cb628b16fc (patch)
treeeaeb5331b3e54df8f9cafe9db65293d7b9ec04cc /src/db
parentb3292840ebaa747a9fd596ff47cc5d18198361d0 (diff)
downloadsssd-4fcc50e133f90cd4c5931a3ac48c84cb628b16fc.tar.gz
sssd-4fcc50e133f90cd4c5931a3ac48c84cb628b16fc.tar.xz
sssd-4fcc50e133f90cd4c5931a3ac48c84cb628b16fc.zip
SYSDB: Drop the sysdb_ctx parameter from the sysdb_services module
Diffstat (limited to 'src/db')
-rw-r--r--src/db/sysdb_services.c46
-rw-r--r--src/db/sysdb_services.h14
2 files changed, 24 insertions, 36 deletions
diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c
index b8ac9ef7d..b202456ab 100644
--- a/src/db/sysdb_services.c
+++ b/src/db/sysdb_services.c
@@ -40,7 +40,6 @@ sysdb_svc_remove_alias(struct sysdb_ctx *sysdb,
errno_t
sysdb_getservbyname(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *name,
const char *proto,
@@ -81,7 +80,7 @@ sysdb_getservbyname(TALLOC_CTX *mem_ctx,
goto done;
}
- ret = sysdb_search_services(mem_ctx, sysdb, domain, subfilter,
+ ret = sysdb_search_services(mem_ctx, domain, subfilter,
attrs, &msgs_count, &msgs);
if (ret == EOK) {
res = talloc_zero(mem_ctx, struct ldb_result);
@@ -102,7 +101,6 @@ done:
errno_t
sysdb_getservbyport(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
int port,
const char *proto,
@@ -141,7 +139,7 @@ sysdb_getservbyport(TALLOC_CTX *mem_ctx,
goto done;
}
- ret = sysdb_search_services(mem_ctx, sysdb, domain, subfilter,
+ ret = sysdb_search_services(mem_ctx, domain, subfilter,
attrs, &msgs_count, &msgs);
if (ret == EOK) {
res = talloc_zero(mem_ctx, struct ldb_result);
@@ -162,8 +160,7 @@ done:
}
errno_t
-sysdb_store_service(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_store_service(struct sss_domain_info *domain,
const char *primary_name,
int port,
const char **aliases,
@@ -182,10 +179,13 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
unsigned int i;
struct ldb_dn *update_dn = NULL;
struct sysdb_attrs *attrs;
+ struct sysdb_ctx *sysdb;
tmp_ctx = talloc_new(NULL);
if (!tmp_ctx) return ENOMEM;
+ sysdb = domain->sysdb;
+
ret = sysdb_transaction_start(sysdb);
if (ret != EOK) {
DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to start transaction\n"));
@@ -201,7 +201,7 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
* properly. Last entry saved to the cache should
* always "win".
*/
- ret = sysdb_getservbyport(tmp_ctx, sysdb, domain, port, NULL, &res);
+ ret = sysdb_getservbyport(tmp_ctx, domain, port, NULL, &res);
if (ret != EOK && ret != ENOENT) {
goto done;
} else if (ret != ENOENT) {
@@ -267,7 +267,7 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
* need to update existing entries or modify
* aliases.
*/
- ret = sysdb_getservbyname(tmp_ctx, sysdb, domain, primary_name, NULL, &res);
+ ret = sysdb_getservbyname(tmp_ctx, domain, primary_name, NULL, &res);
if (ret != EOK && ret != ENOENT) {
goto done;
} else if (ret != ENOENT) { /* Found entries */
@@ -351,7 +351,7 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
ret = sysdb_svc_update(sysdb, update_dn, port, aliases, protocols);
} else {
/* Add a new entry */
- ret = sysdb_svc_add(tmp_ctx, sysdb, domain, primary_name, port,
+ ret = sysdb_svc_add(tmp_ctx, domain, primary_name, port,
aliases, protocols, &update_dn);
}
if (ret != EOK) goto done;
@@ -430,7 +430,6 @@ sysdb_svc_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx,
errno_t
sysdb_svc_add(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *primary_name,
int port,
@@ -454,7 +453,7 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx,
}
/* svc dn */
- msg->dn = sysdb_svc_dn(sysdb, msg, domain->name, primary_name);
+ msg->dn = sysdb_svc_dn(domain->sysdb, msg, domain->name, primary_name);
if (!msg->dn) {
ret = ENOMEM;
goto done;
@@ -513,7 +512,7 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx,
(unsigned long)time(NULL));
if (ret) goto done;
- lret = ldb_add(sysdb->ldb, msg);
+ lret = ldb_add(domain->sysdb->ldb, msg);
ret = sysdb_error_to_errno(lret);
if (ret == EOK && dn) {
@@ -636,8 +635,7 @@ done:
}
errno_t
-sysdb_svc_delete(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_svc_delete(struct sss_domain_info *domain,
const char *name,
int port,
const char *proto)
@@ -647,6 +645,7 @@ sysdb_svc_delete(struct sysdb_ctx *sysdb,
struct ldb_result *res;
unsigned int i;
bool in_transaction = false;
+ struct sysdb_ctx *sysdb = domain->sysdb;
tmp_ctx = talloc_new(NULL);
if (!tmp_ctx) {
@@ -662,7 +661,7 @@ sysdb_svc_delete(struct sysdb_ctx *sysdb,
in_transaction = true;
if (name) {
- ret = sysdb_getservbyname(tmp_ctx, sysdb, domain, name, proto, &res);
+ ret = sysdb_getservbyname(tmp_ctx, domain, name, proto, &res);
if (ret != EOK && ret != ENOENT) goto done;
if (ret == ENOENT) {
/* Doesn't exist in the DB. Nothing to do */
@@ -670,7 +669,7 @@ sysdb_svc_delete(struct sysdb_ctx *sysdb,
goto done;
}
} else {
- ret = sysdb_getservbyport(tmp_ctx, sysdb, domain, port, proto, &res);
+ ret = sysdb_getservbyport(tmp_ctx, domain, port, proto, &res);
if (ret != EOK && ret != ENOENT) goto done;
if (ret == ENOENT) {
/* Doesn't exist in the DB. Nothing to do */
@@ -715,7 +714,6 @@ done:
errno_t
sysdb_enumservent(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
struct ldb_result **_res)
{
@@ -731,7 +729,7 @@ sysdb_enumservent(TALLOC_CTX *mem_ctx,
return ENOMEM;
}
- ret = sysdb_search_services(mem_ctx, sysdb, domain, "",
+ ret = sysdb_search_services(mem_ctx, domain, "",
attrs, &msgs_count, &msgs);
if (ret == EOK) {
res = talloc_zero(mem_ctx, struct ldb_result);
@@ -751,8 +749,7 @@ done:
}
errno_t
-sysdb_set_service_attr(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_set_service_attr(struct sss_domain_info *domain,
const char *name,
struct sysdb_attrs *attrs,
int mod_op)
@@ -766,13 +763,13 @@ sysdb_set_service_attr(struct sysdb_ctx *sysdb,
return ENOMEM;
}
- dn = sysdb_svc_dn(sysdb, tmp_ctx, domain->name, name);
+ dn = sysdb_svc_dn(domain->sysdb, tmp_ctx, domain->name, name);
if (!dn) {
ret = ENOMEM;
goto done;
}
- ret = sysdb_set_entry_attr(sysdb, dn, attrs, mod_op);
+ ret = sysdb_set_entry_attr(domain->sysdb, dn, attrs, mod_op);
done:
talloc_free(tmp_ctx);
@@ -780,7 +777,6 @@ done:
}
errno_t sysdb_search_services(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *sub_filter,
const char **attrs,
@@ -797,7 +793,7 @@ errno_t sysdb_search_services(TALLOC_CTX *mem_ctx,
return ENOMEM;
}
- basedn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb,
+ basedn = ldb_dn_new_fmt(tmp_ctx, domain->sysdb->ldb,
SYSDB_TMPL_SVC_BASE, domain->name);
if (!basedn) {
DEBUG(SSSDBG_OP_FAILURE, ("Failed to build base dn\n"));
@@ -815,7 +811,7 @@ errno_t sysdb_search_services(TALLOC_CTX *mem_ctx,
DEBUG(SSSDBG_TRACE_INTERNAL,
("Search services with filter: %s\n", filter));
- ret = sysdb_search_entry(mem_ctx, sysdb, basedn,
+ ret = sysdb_search_entry(mem_ctx, domain->sysdb, basedn,
LDB_SCOPE_SUBTREE, filter, attrs,
msgs_count, msgs);
if (ret) {
diff --git a/src/db/sysdb_services.h b/src/db/sysdb_services.h
index 2ec9a3b6b..ae058b088 100644
--- a/src/db/sysdb_services.h
+++ b/src/db/sysdb_services.h
@@ -47,7 +47,6 @@
errno_t
sysdb_getservbyname(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *name,
const char *proto,
@@ -55,7 +54,6 @@ sysdb_getservbyname(TALLOC_CTX *mem_ctx,
errno_t
sysdb_getservbyport(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
int port,
const char *proto,
@@ -63,13 +61,11 @@ sysdb_getservbyport(TALLOC_CTX *mem_ctx,
errno_t
sysdb_enumservent(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
struct ldb_result **_res);
errno_t
-sysdb_store_service(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_store_service(struct sss_domain_info *domain,
const char *primary_name,
int port,
const char **aliases,
@@ -85,7 +81,6 @@ sysdb_svc_dn(struct sysdb_ctx *sysdb, TALLOC_CTX *mem_ctx,
errno_t
sysdb_svc_add(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *primary_name,
int port,
@@ -94,21 +89,18 @@ sysdb_svc_add(TALLOC_CTX *mem_ctx,
struct ldb_dn **dn);
errno_t
-sysdb_svc_delete(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_svc_delete(struct sss_domain_info *domain,
const char *name,
int port,
const char *proto);
errno_t
-sysdb_set_service_attr(struct sysdb_ctx *sysdb,
- struct sss_domain_info *domain,
+sysdb_set_service_attr(struct sss_domain_info *domain,
const char *name,
struct sysdb_attrs *attrs,
int mod_op);
errno_t sysdb_search_services(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *sub_filter,
const char **attrs,