mirror of
https://github.com/samba-team/samba.git
synced 2025-02-24 13:57:43 +03:00
winbindd: add find_routing_from_namespace_noinit()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
2fdb34c508
commit
800048c131
@ -515,6 +515,7 @@ void winbindd_ping_offline_domains(struct tevent_context *ev,
|
||||
bool init_domain_list(void);
|
||||
struct winbindd_domain *find_domain_from_name_noinit(const char *domain_name);
|
||||
struct winbindd_domain *find_trust_from_name_noinit(const char *domain_name);
|
||||
struct winbindd_domain *find_routing_from_namespace_noinit(const char *name_space);
|
||||
struct winbindd_domain *find_domain_from_name(const char *domain_name);
|
||||
struct winbindd_domain *find_domain_from_sid_noinit(const struct dom_sid *sid);
|
||||
struct winbindd_domain *find_trust_from_sid_noinit(const struct dom_sid *sid);
|
||||
|
@ -1690,6 +1690,52 @@ struct winbindd_domain *find_trust_from_name_noinit(const char *domain_name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct winbindd_domain *find_routing_from_namespace_noinit(const char *namespace)
|
||||
{
|
||||
struct winbindd_domain *domain;
|
||||
|
||||
/* Search through list */
|
||||
|
||||
for (domain = domain_list(); domain != NULL; domain = domain->next) {
|
||||
bool match;
|
||||
|
||||
match = strequal(namespace, domain->name);
|
||||
if (match) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (domain->alt_name == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
match = strequal(namespace, domain->alt_name);
|
||||
if (match) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (domain->fti == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
match = trust_forest_info_match_tln_namespace(domain->fti,
|
||||
namespace);
|
||||
if (match) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (domain == NULL) {
|
||||
/* Not found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (domain->routing_domain != NULL) {
|
||||
return domain->routing_domain;
|
||||
}
|
||||
|
||||
return domain;
|
||||
}
|
||||
|
||||
struct winbindd_domain *find_domain_from_name(const char *domain_name)
|
||||
{
|
||||
struct winbindd_domain *domain;
|
||||
|
Loading…
x
Reference in New Issue
Block a user