summaryrefslogtreecommitdiff
path: root/source3/pipentlsa.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1997-10-22 11:31:37 +0000
committerLuke Leighton <lkcl@samba.org>1997-10-22 11:31:37 +0000
commit2e8cedba6480d0c1f89d3490888cadac769d09ca (patch)
tree2e974c68a0b9ba107332173766aa9d400aa15abe /source3/pipentlsa.c
parentf20e6f6b261c3976b412845000b3f170f8ad6a9f (diff)
downloadsamba-2e8cedba6480d0c1f89d3490888cadac769d09ca.tar.gz
samba-2e8cedba6480d0c1f89d3490888cadac769d09ca.tar.bz2
samba-2e8cedba6480d0c1f89d3490888cadac769d09ca.zip
loadparm.c :
added "domain other sids" parameter pipenetlog.c : using "domain other sids" parameter in SAM Logon response. using new name_to_rid() function for r_uid and r_gid. pipentlsa.c : minor mods to do with new name_to_rid() function. pipesrvsvc.c : in the "net share enum" response, allocate some more space for the buffer. there can be only 32 share entries in the response anyway. this needs to be dealt with. pipeutil.c : modified name_to_rid() function to use new parameters "domain admin users" and "domain guest users", but will otherwise do unix uid + 1000. moved make_dom_gids() here. proto.h: the usual. smb.h smbparse.c : renamed sid_no to sid_rev_num in DOM_SID, and gid to r_gid in DOM_GID. util.c : moved make_dom_gids() from here. created char *unistrn2(uint16* uni_buffer, int max_len) (This used to be commit ec60e48d7982240b7755d246b2f1e8989467f66f)
Diffstat (limited to 'source3/pipentlsa.c')
-rw-r--r--source3/pipentlsa.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/source3/pipentlsa.c b/source3/pipentlsa.c
index d27b7b2b76..592cf8901e 100644
--- a/source3/pipentlsa.c
+++ b/source3/pipentlsa.c
@@ -226,7 +226,7 @@ static void api_lsa_query_info( char *param, char *data,
lsa_io_q_query(True, &q_i, data + 0x18, data, 4, 0);
pstrcpy(dom_name, lp_workgroup());
- pstrcpy(dom_sid , lp_domainsid());
+ pstrcpy(dom_sid , lp_domain_sid());
/* construct reply. return status is always 0x0 */
*rdata_len = lsa_reply_query_info(&q_i, *rdata + 0x18, *rdata,
@@ -246,7 +246,7 @@ static void api_lsa_lookup_sids( char *param, char *data,
lsa_io_q_lookup_sids(True, &q_l, data + 0x18, data, 4, 0);
pstrcpy(dom_name, lp_workgroup());
- pstrcpy(dom_sid , lp_domainsid());
+ pstrcpy(dom_sid , lp_domain_sid());
/* convert received SIDs to strings, so we can do them. */
for (i = 0; i < q_l.num_entries; i++)
@@ -269,18 +269,23 @@ static void api_lsa_lookup_names( char *param, char *data,
pstring dom_name;
pstring dom_sid;
uint32 dom_rids[MAX_LOOKUP_SIDS];
+ uint32 dummy_g_rid;
/* grab the info class and policy handle */
lsa_io_q_lookup_rids(True, &q_l, data + 0x18, data, 4, 0);
pstrcpy(dom_name, lp_workgroup());
- pstrcpy(dom_sid , lp_domainsid());
+ pstrcpy(dom_sid , lp_domain_sid());
/* convert received RIDs to strings, so we can do them. */
for (i = 0; i < q_l.num_entries; i++)
{
char *user_name = unistr2(q_l.lookup_name[i].str.buffer);
- dom_rids[i] = name_to_rid(user_name);
+ if (!name_to_rid(user_name, &dom_rids[i], &dummy_g_rid))
+ {
+ /* WHOOPS! we should really do something about this... */
+ dom_rids[i] = 0;
+ }
}
/* construct reply. return status is always 0x0 */