summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-12-01 19:34:58 +0000
committerLuke Leighton <lkcl@samba.org>1998-12-01 19:34:58 +0000
commitb3c1baeb8067b1b1c59eb55d34334d10725b0a48 (patch)
treeb1a0c1d8e0099b018e954ba138b21bc3d81f1a8d
parent04e382fb166a64de193dc3c7b21187d8382eaeea (diff)
downloadsamba-b3c1baeb8067b1b1c59eb55d34334d10725b0a48.tar.gz
samba-b3c1baeb8067b1b1c59eb55d34334d10725b0a48.tar.bz2
samba-b3c1baeb8067b1b1c59eb55d34334d10725b0a48.zip
fixing smbpasswd to link to smbd to obtain domain sid
(This used to be commit bfb75e58ced1082d3bb7d6b3f3367d50a0ca26ea)
-rw-r--r--source3/include/proto.h4
-rw-r--r--source3/lib/sids.c6
-rw-r--r--source3/lib/util_pwdb.c5
3 files changed, 9 insertions, 6 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 4360d6b8ee..da543e748d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -261,7 +261,7 @@ char *rep_inet_ntoa(struct in_addr ip);
void get_sam_domain_name(void);
BOOL get_member_domain_sid(void);
-BOOL get_domain_sids(DOM_SID *sid3, DOM_SID *sid5);
+BOOL get_domain_sids(DOM_SID *sid3, DOM_SID *sid5, char *servers);
void generate_wellknown_sids(void);
BOOL generate_sam_sid(char *domain_name);
BOOL map_domain_name_to_sid(DOM_SID *sid, char **nt_domain);
@@ -458,7 +458,7 @@ void pwdb_set_must_change_time(char *p, int max_len, time_t t);
void pwdb_set_last_set_time(char *p, int max_len, time_t t);
void pwdb_sethexpwd(char *p, const char *pwd, uint16 acct_ctrl);
BOOL pwdb_gethexpwd(const char *p, char *pwd);
-BOOL pwdb_initialise(BOOL server);
+BOOL pwdb_initialise(BOOL is_server);
/*The following definitions come from lib/util_sid.c */
diff --git a/source3/lib/sids.c b/source3/lib/sids.c
index 4a2a5d4805..8a289bcea7 100644
--- a/source3/lib/sids.c
+++ b/source3/lib/sids.c
@@ -172,13 +172,13 @@ BOOL get_member_domain_sid(void)
}
}
- return get_domain_sids(NULL, &global_member_sid);
+ return get_domain_sids(NULL, &global_member_sid, lp_passwordserver());
}
/****************************************************************************
obtain the sid from the PDC. do some verification along the way...
****************************************************************************/
-BOOL get_domain_sids(DOM_SID *sid3, DOM_SID *sid5)
+BOOL get_domain_sids(DOM_SID *sid3, DOM_SID *sid5, char *servers)
{
POLICY_HND pol;
fstring srv_name;
@@ -193,7 +193,7 @@ BOOL get_domain_sids(DOM_SID *sid3, DOM_SID *sid5)
return False;
}
- if (!cli_connect_serverlist(&cli, lp_passwordserver()))
+ if (!cli_connect_serverlist(&cli, servers))
{
DEBUG(0,("get_member_domain_sid: unable to initialise client connection.\n"));
return False;
diff --git a/source3/lib/util_pwdb.c b/source3/lib/util_pwdb.c
index 8008e9de71..7e7eb0da8b 100644
--- a/source3/lib/util_pwdb.c
+++ b/source3/lib/util_pwdb.c
@@ -31,6 +31,9 @@ extern DOM_SID global_member_sid;
extern fstring global_myworkgroup;
extern DOM_SID global_sid_S_1_5_20;
+
+extern pstring global_myname;
+
/*
* A list of the rids of well known BUILTIN and Domain users
* and groups.
@@ -443,7 +446,7 @@ BOOL pwdb_initialise(BOOL is_server)
}
else
{
- if (!get_domain_sids(&global_member_sid, &global_sam_sid))
+ if (!get_domain_sids(&global_member_sid, &global_sam_sid, global_myname))
{
return False;
}