diff options
author | Luke Leighton <lkcl@samba.org> | 1998-10-21 22:36:26 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-10-21 22:36:26 +0000 |
commit | eadc5b8c6ecdd6892647d391e1976b2c708d1ea0 (patch) | |
tree | 8aa495516461fd94ddbafcb6a52e0a4825de1ae6 /source3/include | |
parent | 21e107fd42eb953affac28239588458c6c0ee323 (diff) | |
download | samba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.tar.gz samba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.tar.bz2 samba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.zip |
domain aliases added a bit better: does local aliases if you query
for sid S-1-5-20 and does (nothing at the moment) if you query for
your own sid.
(This used to be commit da40f26f4b2f7ce286076b4e39dffd76aa2ef8e6)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 13 | ||||
-rw-r--r-- | source3/include/rpc_samr.h | 33 |
2 files changed, 24 insertions, 22 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 11c9f19393..f9c3d8734b 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1175,7 +1175,7 @@ void pdb_set_last_set_time(char *p, int max_len, time_t t); void pdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl); BOOL pdb_gethexpwd(char *p, char *pwd); BOOL pdb_name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid); -BOOL pdb_generate_machine_sid(void); +BOOL pdb_generate_sam_sid(void); uid_t pdb_user_rid_to_uid(uint32 user_rid); uint32 pdb_uid_to_user_rid(uid_t uid); uint32 pdb_gid_to_group_rid(gid_t gid); @@ -1283,7 +1283,7 @@ BOOL do_samr_chgpasswd_user(struct cli_state *cli, char nt_newpass[516], uchar nt_oldhash[16], char lm_newpass[516], uchar lm_oldhash[16]); BOOL do_samr_unknown_38(struct cli_state *cli, char *srv_name); -BOOL do_samr_unknown_8(struct cli_state *cli, +BOOL do_samr_query_dom_info(struct cli_state *cli, POLICY_HND *domain_pol, uint16 switch_value); BOOL do_samr_enum_dom_users(struct cli_state *cli, POLICY_HND *pol, uint16 num_entries, uint16 unk_0, @@ -1620,15 +1620,15 @@ void samr_io_r_unknown_2c(char *desc, SAMR_R_UNKNOWN_2C *r_u, prs_struct *ps, i void make_samr_q_unknown_3(SAMR_Q_UNKNOWN_3 *q_u, POLICY_HND *user_pol, uint16 switch_value); void samr_io_q_unknown_3(char *desc, SAMR_Q_UNKNOWN_3 *q_u, prs_struct *ps, int depth); -void make_samr_q_unknown_8(SAMR_Q_UNKNOWN_8 *q_u, +void make_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO *q_u, POLICY_HND *domain_pol, uint16 switch_value); -void samr_io_q_unknown_8(char *desc, SAMR_Q_UNKNOWN_8 *q_u, prs_struct *ps, int depth); +void samr_io_q_query_dom_info(char *desc, SAMR_Q_QUERY_DOMAIN_INFO *q_u, prs_struct *ps, int depth); void make_unk_info2(SAM_UNK_INFO_2 *u_2, char *domain, char *server); void sam_io_unk_info2(char *desc, SAM_UNK_INFO_2 *u_2, prs_struct *ps, int depth); -void make_samr_r_unknown_8(SAMR_R_UNKNOWN_8 *r_u, +void make_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO *r_u, uint16 switch_value, SAM_UNK_CTR *ctr, uint32 status); -void samr_io_r_unknown_8(char *desc, SAMR_R_UNKNOWN_8 *r_u, prs_struct *ps, int depth); +void samr_io_r_query_dom_info(char *desc, SAMR_R_QUERY_DOMAIN_INFO *r_u, prs_struct *ps, int depth); void make_dom_sid3(DOM_SID3 *sid3, uint16 unk_0, uint16 unk_1, DOM_SID *sid); void make_samr_r_unknown_3(SAMR_R_UNKNOWN_3 *r_u, uint16 unknown_2, uint16 unknown_3, @@ -1889,6 +1889,7 @@ int find_lsa_policy_by_hnd(POLICY_HND *hnd); BOOL set_lsa_policy_samr_rid(POLICY_HND *hnd, uint32 rid); BOOL set_lsa_policy_samr_pol_status(POLICY_HND *hnd, uint32 pol_status); BOOL set_lsa_policy_samr_sid(POLICY_HND *hnd, DOM_SID *sid); +BOOL get_lsa_policy_samr_sid(POLICY_HND *hnd, DOM_SID *sid); uint32 get_lsa_policy_samr_rid(POLICY_HND *hnd); BOOL set_lsa_policy_reg_name(POLICY_HND *hnd, fstring name); BOOL close_lsa_policy_hnd(POLICY_HND *hnd); diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h index 2a22919642..d45cb23388 100644 --- a/source3/include/rpc_samr.h +++ b/source3/include/rpc_samr.h @@ -79,7 +79,7 @@ SamrTestPrivateFunctionsUser #define SAMR_CLOSE_HND 0x01 #define SAMR_OPEN_DOMAIN 0x07 -#define SAMR_UNKNOWN_8 0x08 +#define SAMR_QUERY_DOMAIN_INFO 0x08 #define SAMR_LOOKUP_IDS 0x10 #define SAMR_LOOKUP_NAMES 0x11 #define SAMR_UNKNOWN_3 0x03 @@ -338,16 +338,16 @@ typedef struct r_samr_unknown_3_info /**************************************************************************** -SAMR_Q_UNKNOWN_8 - probably a query on domain group info. +SAMR_Q_QUERY_DOMAIN_INFO - probably a query on domain group info. *****************************************************************************/ -/* SAMR_Q_UNKNOWN_8 - */ -typedef struct q_samr_unknown_8_info +/* SAMR_Q_QUERY_DOMAIN_INFO - */ +typedef struct q_samr_query_domain_info { POLICY_HND domain_pol; /* policy handle */ uint16 switch_value; /* 0x0002 */ -} SAMR_Q_UNKNOWN_8; +} SAMR_Q_QUERY_DOMAIN_INFO; typedef struct sam_unkown_info_2_info { @@ -363,16 +363,17 @@ typedef struct sam_unkown_info_2_info pointer is referring to */ - uint32 unknown_4; /* 0x0000 0099 or 0x1000 0000 */ - uint32 unknown_5; /* 0x0000 0000 */ + uint32 seq_num; /* some sort of incrementing sequence number? */ + uint32 unknown_3; /* 0x0000 0000 */ - uint32 unknown_6 ; /* 0x0000 0001 */ - uint32 unknown_7 ; /* 0x0000 0003 */ - uint32 unknown_8 ; /* 0x0000 0001 */ - uint32 unknown_9 ; /* 0x0000 0008 */ - uint32 unknown_10; /* 0x0000 0003 */ + uint32 unknown_4; /* 0x0000 0001 */ + uint32 unknown_5; /* 0x0000 0003 */ + uint32 unknown_6; /* 0x0000 0001 */ + uint32 num_domain_usrs; /* number of users in domain */ + uint32 num_domain_grps; /* number of domain groups in domain */ + uint32 num_local_grps; /* number of local groups in domain */ - uint8 padding[16]; /* 16 bytes zeros */ + uint8 padding[12]; /* 12 bytes zeros */ UNISTR2 uni_domain; /* domain name unicode string */ UNISTR2 uni_server; /* server name unicode string */ @@ -391,8 +392,8 @@ typedef struct sam_unknown_ctr_info } SAM_UNK_CTR; -/* SAMR_R_UNKNOWN_8 - */ -typedef struct r_samr_unknown_8_info +/* SAMR_R_QUERY_DOMAIN_INFO - */ +typedef struct r_samr_query_domain_info { uint32 ptr_0; uint16 switch_value; /* same as in query */ @@ -401,7 +402,7 @@ typedef struct r_samr_unknown_8_info uint32 status; /* return status */ -} SAMR_R_UNKNOWN_8; +} SAMR_R_QUERY_DOMAIN_INFO; /**************************************************************************** |