summaryrefslogtreecommitdiff
path: root/source3/include/rpc_samr.h
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-12-07 17:23:48 +0000
committerLuke Leighton <lkcl@samba.org>1998-12-07 17:23:48 +0000
commit312f4f3960a9b1938ae133678cd8567be1331b99 (patch)
tree53d5bd2ddc2d8d43e9afa6e9c2f3ba5bd63fae36 /source3/include/rpc_samr.h
parent149d11ce4a614f62936c93dc97447d024ffc61b0 (diff)
downloadsamba-312f4f3960a9b1938ae133678cd8567be1331b99.tar.gz
samba-312f4f3960a9b1938ae133678cd8567be1331b99.tar.bz2
samba-312f4f3960a9b1938ae133678cd8567be1331b99.zip
- lib/unix_sec_ctxt.c
attempt at taking lib/uid.c and getting a unix security context change module that is independent of "cnums" and "snums". a security context is needed for pipes, not just IPC$ or other services. - group database API added add_group/alias_member, del_group/alias_member, del_group/alias_entry functions. del_builtin_entry() is deliberately set to NULL to cause an exception, you cannot delete builtin aliases. - parse_lsa.c srv_lsa.c fixed lookup_names code, it was a load of trash and didn't do anything. - cmd_samr.c rpcclient.c srv_samr.c added "deletegroup", "deletealias", "delaliasmem", "delgroupmem", "addgroupmem", "addaliasmem", "createalias", "creategroup", to both client and server code. server code calls into unix stubs right now, which don't actually do anything. the only instance where they are expected to do anything is in appliance mode NOT even in the ldap code or anything. client code modified to call samr_lookup_names() for group code (because we can) and lsa_lookup_names() for alias code (because we have to). - srv_lookup.c oops, lookup on unsplit name, we got lookup on DOMAIN, DOMAIN\name instead of DOMAIN, name. (This used to be commit b8175702ef61b8b37b078f38e81452c00a5e2986)
Diffstat (limited to 'source3/include/rpc_samr.h')
-rw-r--r--source3/include/rpc_samr.h38
1 files changed, 20 insertions, 18 deletions
diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h
index c35761ffeb..a3090cefd6 100644
--- a/source3/include/rpc_samr.h
+++ b/source3/include/rpc_samr.h
@@ -993,24 +993,20 @@ typedef struct r_samr_query_useraliases_info
/****************************************************************************
-SAMR_Q_LOOKUP_NAMES - do a conversion from SID to RID.
-
-the policy handle allocated by an "samr open secret" call is associated
-with a SID. this policy handle is what is queried here, *not* the SID
-itself. the response to the lookup rids is relative to this SID.
+SAMR_Q_LOOKUP_NAMES - do a conversion from Names to RIDs+types.
*****************************************************************************/
/* SAMR_Q_LOOKUP_NAMES */
typedef struct q_samr_lookup_names_info
{
POLICY_HND pol; /* policy handle */
- uint32 num_rids1; /* number of rids being looked up */
- uint32 rid; /* 0x0000 03e8 - RID of the server doing the query? */
+ uint32 num_names1; /* number of names being looked up */
+ uint32 flags; /* 0x0000 03e8 - unknown */
uint32 ptr; /* 0x0000 0000 - 32 bit unknown */
- uint32 num_rids2; /* number of rids being looked up */
+ uint32 num_names2; /* number of names being looked up */
- UNIHDR hdr_user_name[MAX_LOOKUP_SIDS]; /* unicode account name header */
- UNISTR2 uni_user_name[MAX_LOOKUP_SIDS]; /* unicode account name string */
+ UNIHDR hdr_name[MAX_LOOKUP_SIDS]; /* unicode account name header */
+ UNISTR2 uni_name[MAX_LOOKUP_SIDS]; /* unicode account name string */
} SAMR_Q_LOOKUP_NAMES;
@@ -1018,11 +1014,17 @@ typedef struct q_samr_lookup_names_info
/* SAMR_R_LOOKUP_NAMES */
typedef struct r_samr_lookup_names_info
{
- uint32 num_entries;
- uint32 undoc_buffer; /* undocumented buffer pointer */
+ uint32 num_rids1; /* number of aliases being looked up */
+ uint32 ptr_rids; /* pointer to aliases */
+ uint32 num_rids2; /* number of aliases being looked up */
- uint32 num_entries2;
- DOM_RID3 dom_rid[MAX_LOOKUP_SIDS]; /* domain RIDs being looked up */
+ uint32 rid[MAX_LOOKUP_SIDS]; /* rids */
+
+ uint32 num_types1; /* number of users in aliases being looked up */
+ uint32 ptr_types; /* pointer to users in aliases */
+ uint32 num_types2; /* number of users in aliases being looked up */
+
+ uint32 type[MAX_LOOKUP_SIDS]; /* SID_ENUM type */
uint32 status; /* return code */
@@ -1040,7 +1042,7 @@ typedef struct q_samr_lookup_rids_info
POLICY_HND pol; /* policy handle */
uint32 num_rids1; /* number of rids being looked up */
- uint32 flags; /* 0x0000 03e8 - RID of the server doing the query? */
+ uint32 flags; /* 0x0000 03e8 - unknown */
uint32 ptr; /* 0x0000 0000 - 32 bit unknown */
uint32 num_rids2; /* number of rids being looked up */
@@ -1227,17 +1229,17 @@ typedef struct r_samr_query_aliasmem_info
} SAMR_R_QUERY_ALIASMEM;
-/* SAMR_Q_ADD_ALIASMEM - don't know! */
+/* SAMR_Q_ADD_ALIASMEM - add alias member */
typedef struct q_samr_add_alias_mem_info
{
POLICY_HND alias_pol; /* policy handle */
- DOM_SID sid; /* member sid to be "something"ed to do with the alias */
+ DOM_SID sid; /* member sid to be added to the alias */
} SAMR_Q_ADD_ALIASMEM;
-/* SAMR_R_ADD_ALIASMEM - probably an open */
+/* SAMR_R_ADD_ALIASMEM - add alias member */
typedef struct r_samr_add_alias_mem_info
{
uint32 status; /* return status */