diff options
author | Luke Leighton <lkcl@samba.org> | 1999-10-25 16:22:08 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-10-25 16:22:08 +0000 |
commit | 8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683 (patch) | |
tree | cb9e0bdd8f96a41cf6b460017a3772ea7e1dc5d3 /source3/include | |
parent | 45b794bdde0cb906216425c8fc2af8610aa8ad3c (diff) | |
download | samba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.tar.gz samba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.tar.bz2 samba-8e1f542ddf97fef925a88e2c3d9c1e82fb2f6683.zip |
one of those wonderful moments when running against a different MSRPC
implementation (NT5) when you discover that your code is trash.
samr_enum_dom_users(), samr_enum_dom_aliases() and samr_enum_dom_groups()
all take a HANDLE for multiple-call enumeration purposes.
(This used to be commit 19490d8b4fb8a103f3df4e6104f6f22937b0c518)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/nterr.h | 2 | ||||
-rw-r--r-- | source3/include/proto.h | 18 | ||||
-rw-r--r-- | source3/include/rpc_samr.h | 12 |
3 files changed, 19 insertions, 13 deletions
diff --git a/source3/include/nterr.h b/source3/include/nterr.h index 2b5285a41f..57d67527ba 100644 --- a/source3/include/nterr.h +++ b/source3/include/nterr.h @@ -505,5 +505,5 @@ #define NT_STATUS_QUOTA_LIST_INCONSISTENT (614) #define NT_STATUS_FILE_IS_OFFLINE (615) #define NT_STATUS_NOTIFY_ENUM_DIR (0x10C) -#define NT_STATUS_MORE_ENTRIES (0x105) +#define STATUS_MORE_ENTRIES (0x105) #define NT_STATUS_NO_SUCH_JOB (0xEDE) /* scheduler */ diff --git a/source3/include/proto.h b/source3/include/proto.h index 7cbddd2084..872c9f6afb 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1897,15 +1897,17 @@ BOOL samr_query_dom_info(struct cli_state *cli, uint16 fnum, POLICY_HND *domain_pol, uint16 switch_value, SAM_UNK_CTR *ctr); BOOL samr_enum_dom_groups(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol, uint32 size, + POLICY_HND *pol, + uint32 start_idx, uint32 size, struct acct_info **sam, int *num_sam_groups); BOOL samr_enum_dom_aliases(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol, uint32 size, + POLICY_HND *pol, + uint32 start_idx, uint32 size, struct acct_info **sam, int *num_sam_aliases); -BOOL samr_enum_dom_users(struct cli_state *cli, uint16 fnum, - POLICY_HND *pol, uint32 start_idx, +uint32 samr_enum_dom_users(struct cli_state *cli, uint16 fnum, + POLICY_HND *pol, uint32 *start_idx, uint16 acb_mask, uint16 unk_1, uint32 size, struct acct_info **sam, int *num_sam_users); @@ -2592,15 +2594,19 @@ BOOL samr_io_q_query_usergroups(char *desc, SAMR_Q_QUERY_USERGROUPS *q_u, prs_s BOOL make_samr_r_query_usergroups(SAMR_R_QUERY_USERGROUPS *r_u, uint32 num_gids, DOM_GID *gid, uint32 status); BOOL samr_io_r_query_usergroups(char *desc, SAMR_R_QUERY_USERGROUPS *r_u, prs_struct *ps, int depth); -BOOL make_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS *q_e, POLICY_HND *pol, uint32 size); +BOOL make_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS *q_e, POLICY_HND *pol, + uint32 start_idx, uint32 size); BOOL samr_io_q_enum_dom_groups(char *desc, SAMR_Q_ENUM_DOM_GROUPS *q_e, prs_struct *ps, int depth); BOOL make_samr_r_enum_dom_groups(SAMR_R_ENUM_DOM_GROUPS *r_u, + uint32 next_idx, uint32 num_sam_entries, DOMAIN_GRP *grps, uint32 status); BOOL samr_io_r_enum_dom_groups(char *desc, SAMR_R_ENUM_DOM_GROUPS *r_u, prs_struct *ps, int depth); -BOOL make_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES *q_e, POLICY_HND *pol, uint32 size); +BOOL make_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES *q_e, POLICY_HND *pol, + uint32 start_idx, uint32 size); BOOL samr_io_q_enum_dom_aliases(char *desc, SAMR_Q_ENUM_DOM_ALIASES *q_e, prs_struct *ps, int depth); BOOL make_samr_r_enum_dom_aliases(SAMR_R_ENUM_DOM_ALIASES *r_u, + uint32 next_idx, uint32 num_sam_entries, LOCAL_GRP *alss, uint32 status); BOOL samr_io_r_enum_dom_aliases(char *desc, SAMR_R_ENUM_DOM_ALIASES *r_u, prs_struct *ps, int depth); diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h index 0d55e40bc0..afe104a93a 100644 --- a/source3/include/rpc_samr.h +++ b/source3/include/rpc_samr.h @@ -637,7 +637,7 @@ typedef struct q_samr_enum_dom_groups_info POLICY_HND pol; /* policy handle */ /* this is possibly an enumeration context handle... */ - uint32 unknown_0; /* 0x0000 0000 */ + uint32 start_idx; /* 0x0000 0000 */ uint32 max_size; /* 0x0000 ffff */ @@ -647,8 +647,8 @@ typedef struct q_samr_enum_dom_groups_info /* SAMR_R_ENUM_DOM_GROUPS - SAM rids and names */ typedef struct r_samr_enum_dom_groups_info { - uint32 num_entries; - uint32 ptr_entries; + uint32 next_idx; + uint32 ptr_entries1; uint32 num_entries2; uint32 ptr_entries2; @@ -671,7 +671,7 @@ typedef struct q_samr_enum_dom_aliases_info POLICY_HND pol; /* policy handle */ /* this is possibly an enumeration context handle... */ - uint32 unknown_0; /* 0x0000 0000 */ + uint32 start_idx; /* 0x0000 0000 */ uint32 max_size; /* 0x0000 ffff */ @@ -681,8 +681,8 @@ typedef struct q_samr_enum_dom_aliases_info /* SAMR_R_ENUM_DOM_ALIASES - SAM rids and names */ typedef struct r_samr_enum_dom_aliases_info { - uint32 num_entries; - uint32 ptr_entries; + uint32 next_idx; + uint32 ptr_entries1; uint32 num_entries2; uint32 ptr_entries2; |