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;
}
pstrcpy(p,fname);
p = skip_string(p,1);
- cli_send_smb(cli, True);
+ if (!cli_send_smb(cli, True)) {
+ return -1;
+ }
if (!cli_receive_smb(cli)) {
return -1;
}
if (strequal(srv_name, "*SMBSERVER"))
{
fstrcpy(ip_name, "\\\\");
- inet_aton(&ip_name[2], destip);
+ destip->s_addr = inet_addr(&ip_name[2]);
srv_name = ip_name;
}
con->pipe_name = strdup(pipe_name);
}
- con->cli = cli_net_use_add(srv_name, usr_creds, True, reuse);
+ con->cli = cli_net_use_add(srv_name, usr_creds, False, reuse);
if (con->cli == NULL)
{