summaryrefslogtreecommitdiff
path: root/source3/lib/util.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-12-02 16:52:38 +0000
committerLuke Leighton <lkcl@samba.org>1999-12-02 16:52:38 +0000
commit7aebbb90c8e09febd345de10c0b438e98f30468b (patch)
tree4487a25dafe4d052e095477b43f4e13cc11ea3bb /source3/lib/util.c
parentddfe7956f29c3be260f2459c55c1f7be67bfaa2a (diff)
downloadsamba-7aebbb90c8e09febd345de10c0b438e98f30468b.tar.gz
samba-7aebbb90c8e09febd345de10c0b438e98f30468b.tar.bz2
samba-7aebbb90c8e09febd345de10c0b438e98f30468b.zip
need a domain resolving function, but get_trusted_serverlist() will do.
this is horrible. (This used to be commit 9df973fe711f322075d86d6792d6c0b8539c1d00)
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r--source3/lib/util.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 9bcbe1a9c7..b0d6e82970 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -3228,3 +3228,37 @@ BOOL become_user_permanently(uid_t uid, gid_t gid)
return(True);
}
+char *get_trusted_serverlist(const char* domain)
+{
+ pstring tmp;
+ static char *server_list = NULL;
+ static pstring srv_list;
+ char *trusted_list = lp_trusted_domains();
+
+ if (strequal(lp_workgroup(), domain))
+ {
+ DEBUG(10,("local domain server list: %s\n", server_list));
+ pstrcpy(srv_list, lp_passwordserver());
+ return srv_list;
+ }
+
+ if (!next_token(&trusted_list, tmp, NULL, sizeof(tmp)))
+ {
+ return NULL;
+ }
+
+ do
+ {
+ fstring trust_dom;
+ split_at_first_component(tmp, trust_dom, '=', srv_list);
+
+ if (strequal(domain, trust_dom))
+ {
+ return srv_list;
+ DEBUG(10,("trusted: %s\n", server_list));
+ }
+
+ } while (next_token(NULL, tmp, NULL, sizeof(tmp)));
+
+ return NULL;
+}