From c51f7a064b0d7ef86110bdeb6dc09fa6c08be7d3 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 28 May 2013 21:11:21 +0200 Subject: Move domain_to_basedn outside IPA subtree The utility function will be reused to guess search base from the base DN of AD trusted domains. --- Makefile.am | 3 +- src/providers/ipa/ipa_common.h | 2 -- src/providers/ipa/ipa_utils.c | 63 ------------------------------------------ src/util/util.c | 35 +++++++++++++++++++++++ src/util/util.h | 2 ++ 5 files changed, 38 insertions(+), 67 deletions(-) delete mode 100644 src/providers/ipa/ipa_utils.c diff --git a/Makefile.am b/Makefile.am index b5cc58971..a201abf20 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1049,7 +1049,6 @@ auth_tests_LDADD = \ libsss_test_common.la ipa_ldap_opt_tests_SOURCES = \ - src/providers/ipa/ipa_utils.c \ src/tests/ipa_ldap_opt-tests.c ipa_ldap_opt_tests_CFLAGS = \ $(AM_CFLAGS) \ @@ -1057,6 +1056,7 @@ ipa_ldap_opt_tests_CFLAGS = \ ipa_ldap_opt_tests_LDADD = \ $(CHECK_LIBS) \ $(TALLOC_LIBS) \ + $(SSSD_INTERNAL_LTLIBS) \ libsss_test_common.la ad_ldap_opt_tests_SOURCES = \ @@ -1536,7 +1536,6 @@ libsss_ipa_la_SOURCES = \ src/providers/ipa/ipa_init.c \ src/providers/ipa/ipa_common.c \ src/providers/ipa/ipa_config.c \ - src/providers/ipa/ipa_utils.c \ src/providers/ipa/ipa_id.c \ src/providers/ipa/ipa_netgroups.c \ src/providers/ipa/ipa_auth.c \ diff --git a/src/providers/ipa/ipa_common.h b/src/providers/ipa/ipa_common.h index a32867dd4..b660e66e2 100644 --- a/src/providers/ipa/ipa_common.h +++ b/src/providers/ipa/ipa_common.h @@ -143,8 +143,6 @@ struct ipa_options { struct ipa_auth_ctx *auth_ctx; }; -int domain_to_basedn(TALLOC_CTX *memctx, const char *domain, char **basedn); - /* options parsers */ int ipa_get_options(TALLOC_CTX *memctx, struct confdb_ctx *cdb, diff --git a/src/providers/ipa/ipa_utils.c b/src/providers/ipa/ipa_utils.c deleted file mode 100644 index a1e48f2d7..000000000 --- a/src/providers/ipa/ipa_utils.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - SSSD - - IPA Provider Utility Functions - - Authors: - Simo Sorce , Sumit Bose - - Copyright (C) 2009-2010 Red Hat - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - - -#include - -#include "providers/ipa/ipa_common.h" - -int domain_to_basedn(TALLOC_CTX *memctx, const char *domain, char **basedn) -{ - const char *s; - char *dn; - char *p; - int l; - - if (!domain || !basedn) { - return EINVAL; - } - - s = domain; - dn = talloc_strdup(memctx, "dc="); - - while ((p = strchr(s, '.'))) { - l = p - s; - dn = talloc_asprintf_append_buffer(dn, "%.*s,dc=", l, s); - if (!dn) { - return ENOMEM; - } - s = p + 1; - } - dn = talloc_strdup_append_buffer(dn, s); - if (!dn) { - return ENOMEM; - } - - for (p=dn; *p; ++p) { - *p = tolower(*p); - } - - *basedn = dn; - return EOK; -} diff --git a/src/util/util.c b/src/util/util.c index ba85e0da2..63cffe85e 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -688,3 +688,38 @@ void safezero(void *data, size_t size) *p++ = 0; } } + +int domain_to_basedn(TALLOC_CTX *memctx, const char *domain, char **basedn) +{ + const char *s; + char *dn; + char *p; + int l; + + if (!domain || !basedn) { + return EINVAL; + } + + s = domain; + dn = talloc_strdup(memctx, "dc="); + + while ((p = strchr(s, '.'))) { + l = p - s; + dn = talloc_asprintf_append_buffer(dn, "%.*s,dc=", l, s); + if (!dn) { + return ENOMEM; + } + s = p + 1; + } + dn = talloc_strdup_append_buffer(dn, s); + if (!dn) { + return ENOMEM; + } + + for (p=dn; *p; ++p) { + *p = tolower(*p); + } + + *basedn = dn; + return EOK; +} diff --git a/src/util/util.h b/src/util/util.h index 87a4061e6..e55c0b4d3 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -516,6 +516,8 @@ bool string_in_list(const char *string, char **list, bool case_sensitive); */ void safezero(void *data, size_t size); +int domain_to_basedn(TALLOC_CTX *memctx, const char *domain, char **basedn); + /* from nscd.c */ enum nscd_db { NSCD_DB_PASSWD, -- cgit