diff options
author | Luke Leighton <lkcl@samba.org> | 1998-12-01 19:10:44 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-12-01 19:10:44 +0000 |
commit | 04e382fb166a64de193dc3c7b21187d8382eaeea (patch) | |
tree | f8935ebbbabfe2b2d2368aca14113931c323cd94 /source3/include | |
parent | e2d51234002609f00bfa92b8031ac15616d6fe26 (diff) | |
download | samba-04e382fb166a64de193dc3c7b21187d8382eaeea.tar.gz samba-04e382fb166a64de193dc3c7b21187d8382eaeea.tar.bz2 samba-04e382fb166a64de193dc3c7b21187d8382eaeea.zip |
rpc_samr.h parse_samr.c srv_samr.c :
samr_query_aliasmembers (cool!)
util_pwdb.c sids.c nmbd.c server.c smbpasswd.c swat.c :
pwdb_initialise(BOOL is_server) now creates / reads DOMAIN_NAME.SID
if is_server is True, and does LsaQueryInfoPolicy(levels 3 and 5)
to obtain member and pdc sids.
(This used to be commit 3e1eb4f26b67e484b05e1dde94fd4e4dae982631)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 10 | ||||
-rw-r--r-- | source3/include/rpc_samr.h | 23 |
2 files changed, 24 insertions, 9 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index b362940a4c..4360d6b8ee 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -261,6 +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); void generate_wellknown_sids(void); BOOL generate_sam_sid(char *domain_name); BOOL map_domain_name_to_sid(DOM_SID *sid, char **nt_domain); @@ -457,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(void); +BOOL pwdb_initialise(BOOL server); /*The following definitions come from lib/util_sid.c */ @@ -2112,8 +2113,11 @@ void make_samr_q_add_aliasmem(SAMR_Q_ADD_ALIASMEM *q_u, POLICY_HND *hnd, DOM_SID *sid); void samr_io_q_add_aliasmem(char *desc, SAMR_Q_ADD_ALIASMEM *q_u, prs_struct *ps, int depth); void samr_io_r_add_aliasmem(char *desc, SAMR_R_ADD_ALIASMEM *r_u, prs_struct *ps, int depth); -void make_samr_q_unknown_21(SAMR_Q_UNKNOWN_21 *q_c, - POLICY_HND *hnd, uint16 unk_1, uint16 unk_2); +void make_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM *q_c, POLICY_HND *hnd); +void samr_io_q_query_aliasmem(char *desc, SAMR_Q_QUERY_ALIASMEM *q_u, prs_struct *ps, int depth); +void make_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM *r_u, + uint32 num_sids, DOM_SID *sid, uint32 status); +void samr_io_r_query_aliasmem(char *desc, SAMR_R_QUERY_ALIASMEM *r_u, prs_struct *ps, int depth); void samr_io_q_lookup_names(char *desc, SAMR_Q_LOOKUP_NAMES *q_u, prs_struct *ps, int depth); void make_samr_r_lookup_names(SAMR_R_LOOKUP_NAMES *r_u, uint32 num_rids, uint32 *rid, uint8 *type, uint32 status); diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h index 6a1dc8d860..f34fe3ed77 100644 --- a/source3/include/rpc_samr.h +++ b/source3/include/rpc_samr.h @@ -1145,15 +1145,26 @@ typedef struct r_samr_open_group_info } SAMR_R_OPEN_GROUP; -/* SAMR_Q_UNKNOWN_21 - probably an open group in domain */ -typedef struct q_samr_unknown_21_info +/* SAMR_Q_QUERY_ALIASMEM - query alias members */ +typedef struct q_samr_query_aliasmem_info { - POLICY_HND group_pol; /* policy handle */ + POLICY_HND alias_pol; /* policy handle */ + +} SAMR_Q_QUERY_ALIASMEM; + - uint16 unknown_1; /* 16 bit unknown - 0x0477 */ - uint16 unknown_2; /* 16 bit unknown - 0x0000 */ +/* SAMR_R_QUERY_ALIASMEM - query alias members */ +typedef struct r_samr_query_aliasmem_info +{ + uint32 num_sids; + uint32 ptr; + uint32 num_sids1; + + DOM_SID *sid; + + uint32 status; -} SAMR_Q_UNKNOWN_21; +} SAMR_R_QUERY_ALIASMEM; /* SAMR_Q_UNK_ALIASMEM - don't know! */ |