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. --- src/providers/ipa/ipa_common.h | 2 -- src/providers/ipa/ipa_utils.c | 63 ------------------------------------------ src/util/util.c | 35 +++++++++++++++++++++++ src/util/util.h | 2 ++ 4 files changed, 37 insertions(+), 65 deletions(-) delete mode 100644 src/providers/ipa/ipa_utils.c (limited to 'src') diff --git a/src/providers/ipa/ipa_common.h b/src/providers/ipa/ipa_common.h index a32867dd..b660e66e 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 a1e48f2d..00000000 --- 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 ba85e0da..63cffe85 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 87a4061e..e55c0b4d 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