summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-12-01 19:10:44 +0000
committerLuke Leighton <lkcl@samba.org>1998-12-01 19:10:44 +0000
commit04e382fb166a64de193dc3c7b21187d8382eaeea (patch)
treef8935ebbbabfe2b2d2368aca14113931c323cd94 /source3/include
parente2d51234002609f00bfa92b8031ac15616d6fe26 (diff)
downloadsamba-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.h10
-rw-r--r--source3/include/rpc_samr.h23
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! */