summaryrefslogtreecommitdiff
path: root/source3/lib/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r--source3/lib/util.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 9a9f87d473..65908ff19e 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -3234,11 +3234,18 @@ char *get_trusted_serverlist(const char* domain)
static char *server_list = NULL;
static pstring srv_list;
char *trusted_list = lp_trusted_domains();
+ int my_role = lp_server_role();
if (strequal(lp_workgroup(), domain))
{
- DEBUG(10,("local domain server list: %s\n", server_list));
- pstrcpy(srv_list, lp_passwordserver());
+ if ((my_role == ROLE_DOMAIN_PDC) || (my_role == ROLE_DOMAIN_NONE)) {
+ pstrcpy(srv_list,global_myname);
+ }
+ /* we must be a BDC or MEMBER if we execute this branch */
+ else {
+ pstrcpy(srv_list, lp_passwordserver());
+ }
+ DEBUG(10,("local domain server list: %s\n", srv_list));
return srv_list;
}