summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2002-12-16 12:11:02 +0000
committerSimo Sorce <idra@samba.org>2002-12-16 12:11:02 +0000
commit48fb7b090ef227b225ae4e67a08088d0f75e59cd (patch)
tree2956d5fa9762980476cce49737542029abf76cc0 /source3/include
parentf35c421f5b47a190c679326a08d37f7c138b6cdc (diff)
downloadsamba-48fb7b090ef227b225ae4e67a08088d0f75e59cd.tar.gz
samba-48fb7b090ef227b225ae4e67a08088d0f75e59cd.tar.bz2
samba-48fb7b090ef227b225ae4e67a08088d0f75e59cd.zip
updates to the gums
introduce genparser will be used by tdbsam2 (This used to be commit 831d3d1ec751f23481f26b31d22b09f3d9c0709a)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/gums.h26
-rw-r--r--source3/include/tdbsam2.h94
2 files changed, 107 insertions, 13 deletions
diff --git a/source3/include/gums.h b/source3/include/gums.h
index a44dadc883..ca124d7442 100644
--- a/source3/include/gums.h
+++ b/source3/include/gums.h
@@ -23,6 +23,7 @@
#define GUMS_VERSION_MAJOR 0
#define GUMS_VERSION_MINOR 1
+#define GUMS_OBJECT_VERSION 1
#define GUMS_OBJ_DOMAIN 1
#define GUMS_OBJ_NORMAL_USER 2
@@ -36,12 +37,12 @@ typedef struct gums_user
{
DOM_SID *group_sid; /* Primary Group SID */
- NTTIME *logon_time; /* logon time */
- NTTIME *logoff_time; /* logoff time */
- NTTIME *kickoff_time; /* kickoff time */
- NTTIME *pass_last_set_time; /* password last set time */
- NTTIME *pass_can_change_time; /* password can change time */
- NTTIME *pass_must_change_time; /* password must change time */
+ NTTIME logon_time; /* logon time */
+ NTTIME logoff_time; /* logoff time */
+ NTTIME kickoff_time; /* kickoff time */
+ NTTIME pass_last_set_time; /* password last set time */
+ NTTIME pass_can_change_time; /* password can change time */
+ NTTIME pass_must_change_time; /* password must change time */
char *full_name; /* user's full name string */
char *home_dir; /* home directory string */
@@ -52,14 +53,14 @@ typedef struct gums_user
char *unknown_str; /* don't know what this is, yet. */
char *munged_dial; /* munged path name and dial-back tel number */
- DATA_BLOB *lm_pw; /* .data is Null if no password */
- DATA_BLOB *nt_pw; /* .data is Null if no password */
+ DATA_BLOB lm_pw; /* .data is Null if no password */
+ DATA_BLOB nt_pw; /* .data is Null if no password */
uint32 unknown_3; /* 0x00ff ffff */
uint16 logon_divs; /* 168 - number of hours in a week */
uint32 hours_len; /* normally 21 bytes */
- uint8 hours[MAX_HOURS_LEN];
+ uint8 *hours;
uint32 unknown_5; /* 0x0002 0000 */
uint32 unknown_6; /* 0x0000 04ec */
@@ -69,14 +70,13 @@ typedef struct gums_user
typedef struct gums_group
{
uint32 count; /* Number of SIDs */
- DOM_SID *members; /* SID array */
+ DOM_SID **members; /* SID array */
} GUMS_GROUP;
union gums_obj_p {
gums_user *user;
gums_group *group;
- gums_group *alias;
}
typedef struct gums_object
@@ -111,7 +111,7 @@ typedef struct gums_commit_set
uint32 type; /* Object type */
DOM_SID sid; /* Object Sid */
uint32 count; /* number of changes */
- GUMS_DATA_SET *data;
+ GUMS_DATA_SET **data;
} GUMS_COMMIT_SET;
typedef struct gums_privilege
@@ -127,7 +127,7 @@ typedef struct gums_privilege
char *description; /* Object Description */
uint32 count;
- DOM_SID *members;
+ DOM_SID **members;
} GUMS_PRIVILEGE;
diff --git a/source3/include/tdbsam2.h b/source3/include/tdbsam2.h
new file mode 100644
index 0000000000..0ca9d34618
--- /dev/null
+++ b/source3/include/tdbsam2.h
@@ -0,0 +1,94 @@
+/*
+ * Unix SMB/CIFS implementation.
+ * tdbsam2 genstruct enabled header file
+ * Copyright (C) Simo Sorce 2002
+ *
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 675
+ * Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/* ALL strings assumes UTF8 as encoding */
+
+GENSTRUCT struct tdbsam2_domain_data {
+ uint32 xcounter; /* counter to be updated at any change */
+
+ SEC_DESC *sec_desc; /* Security Descriptor */
+ DOM_SID *user_sid; /* The User SID */
+ char *name; _NULLTERM /* NT User Name */
+ char *description; _NULLTERM /* Descritpion (Gecos) */
+};
+
+GENSTRUCT struct tdbsam2_user_data {
+ uint32 xcounter; /* counter to be updated at any change */
+
+ SEC_DESC *sec_desc; /* Security Descriptor */
+ DOM_SID *user_sid; /* The User SID */
+ char *name; _NULLTERM /* NT User Name */
+ char *description; _NULLTERM /* Descritpion (Gecos) */
+
+ DOM_SID *group_sid; /* The Primary Group SID */
+
+ NTTIME *logon_time;
+ NTTIME *logoff_time;
+ NTTIME *kickoff_time;
+ NTTIME *pass_last_set_time;
+ NTTIME *pass_can_change_time;
+ NTTIME *pass_must_change_time;
+
+ char *full_name; _NULLTERM /* The Full Name */
+ char *home_dir; _NULLTERM /* Home Directory */
+ char *dir_drive; _NULLTERM /* Drive Letter the home should be mapped to */
+ char *logon_script; _NULLTERM /* Logon script path */
+ char *profile_path; _NULLTERM /* Profile is stored here */
+ char *workstations; _NULLTERM /* List of Workstation names the user is allowed to LogIn */
+ char *unknown_str; _NULLTERM /* Guess ... Unknown */
+ char *munged_dial; _NULLTERM /* Callback Number */
+
+ /* passwords are 16 byte leght, pointer is null if no password */
+ uint8 *lm_pw_ptr; _LEN(16) /* Lanman hashed password */
+ uint8 *nt_pw_ptr; _LEN(16) /* NT hashed password */
+
+ uint16 logon_divs; /* 168 - num of hours in a week */
+ uint32 hours_len; /* normally 21 */
+ uint8 *hours; _LEN(hours_len) /* normally 21 bytes (depends on hours_len) */
+
+ uint32 unknown_3; /* 0x00ff ffff */
+ uint32 unknown_5; /* 0x0002 0000 */
+ uint32 unknown_6; /* 0x0000 04ec */
+};
+
+GENSTRUCT struct tdbsam2_group_data {
+ uint32 xcounter; /* counter to be updated at any change */
+
+ SEC_DESC *sec_desc; /* Security Descriptor */
+ DOM_SID *group_sid; /* The Group SID */
+ char *name; _NULLTERM /* NT User Name */
+ char *description; _NULLTERM /* Descritpion (Gecos) */
+
+ uint32 count; /* number of sids */
+ DOM_SID **members; _LEN(count) /* SID array */
+};
+
+GENSTRUCT struct tdbsam2_privilege_data {
+ uint32 xcounter; /* counter to be updated at any change */
+
+ LUID_ATTR *privilege; /* Privilege */
+ char *name; _NULLTERM /* NT User Name */
+ char *description; _NULLTERM /* Descritpion (Gecos) */
+
+ uint32 count; /* number of sids */
+ DOM_SID **members; _LEN(count) /* SID array */
+};
+