added domain and local group structures. names may have to be 256 chars
authorLuke Leighton <lkcl@samba.org>
Fri, 23 Oct 1998 21:45:16 +0000 (21:45 +0000)
committerLuke Leighton <lkcl@samba.org>
Fri, 23 Oct 1998 21:45:16 +0000 (21:45 +0000)
long not 128 (fstring) length.

source/include/rpc_misc.h
source/include/smb.h

index c03471ebfce7ba527c8a87ea046d947a625f2586..50daf27dfc718c8868e14ce9638bf48a10f87d97 100644 (file)
@@ -79,22 +79,6 @@ typedef struct lookup_level_info
 
 } LOOKUP_LEVEL;
 
-#define MAXSUBAUTHS 15 /* max sub authorities in a SID */
-
-/* DOM_SID - security id */
-typedef struct sid_info
-{
-  uint8  sid_rev_num;             /* SID revision number */
-  uint8  num_auths;               /* number of sub-authorities */
-  uint8  id_auth[6];              /* Identifier Authority */
-  /*
-   * Note that the values in these uint32's are in *native* byteorder,
-   * not neccessarily little-endian...... JRA.
-   */
-  uint32 sub_auths[MAXSUBAUTHS];  /* pointer to sub-authorities. */
-
-} DOM_SID;
-
 /* DOM_SID2 - security id */
 typedef struct sid_info_2
 {
index 2e27fa195f793b9f59fb29a62230da9914606f11..a6566fb3643b07a7c8739d3b6512591770cb0321 100644 (file)
@@ -431,6 +431,66 @@ struct sam_disp_info
        char *full_name;    /* user's full name string */
 };
 
+#define MAXSUBAUTHS 15 /* max sub authorities in a SID */
+
+/* DOM_SID - security id */
+typedef struct sid_info
+{
+  uint8  sid_rev_num;             /* SID revision number */
+  uint8  num_auths;               /* number of sub-authorities */
+  uint8  id_auth[6];              /* Identifier Authority */
+  /*
+   * Note that the values in these uint32's are in *native* byteorder,
+   * not neccessarily little-endian...... JRA.
+   */
+  uint32 sub_auths[MAXSUBAUTHS];  /* pointer to sub-authorities. */
+
+} DOM_SID;
+
+
+/*** query a local group, get a list of these: shows who is in that group ***/
+
+/* local group member info */
+typedef struct local_grp_member_info
+{
+       DOM_SID sid    ; /* matches with name */
+       uint8   sid_use; /* usr=1 grp=2 dom=3 alias=4 wkng=5 del=6 inv=7 unk=8 */
+       fstring name   ; /* matches with sid: must be of the form "DOMAIN\account" */
+
+} LOCAL_GRP_MEMBER;
+
+/* enumerate these to get list of local groups */
+
+/* local group info */
+typedef struct local_grp_info
+{
+       fstring name;
+       fstring comment;
+
+} LOCAL_GRP;
+
+/*** enumerate these to get list of domain groups ***/
+
+/* domain group member info */
+typedef struct domain_grp_info
+{
+       fstring name;
+       fstring comment;
+       uint32  rid; /* group rid */
+       uint8   attr; /* attributes forced to be set to 0x7: SE_GROUP_xxx */
+
+} DOMAIN_GRP;
+
+/*** query a domain group, get a list of these: shows who is in that group ***/
+
+/* domain group info */
+typedef struct domain_grp_member_info
+{
+       fstring name;
+       uint8   attr; /* attributes forced to be set to 0x7: SE_GROUP_xxx */
+
+} DOMAIN_GRP_MEMBER;
+
 /* DOM_CHAL - challenge info */
 typedef struct chal_info
 {