Added some new delta types discovered by Ronnie from ethereal"
authorTim Potter <tpot@samba.org>
Thu, 22 Aug 2002 23:39:26 +0000 (23:39 +0000)
committerTim Potter <tpot@samba.org>
Thu, 22 Aug 2002 23:39:26 +0000 (23:39 +0000)
 - SAM_DELTA_RENAME{USER,GROUP,ALIAS}
 - SAM_DELTA_DELETE{USER,GROUP}

Renamed some of the unknown delta types and their unmarshalling functions:

 - SAM_DELTA_TRUST_DOMS
 - SAM_DELTA_SECRET_INFO
(This used to be commit 1f29276c2ff450c4ca3705c27fb0be71ddcda4ad)

source3/include/rpc_netlogon.h
source3/rpc_parse/parse_net.c
source3/rpcclient/cmd_netlogon.c
source3/rpcclient/samsync.c

index 190199e0489a26a77c5084a31b174d85c8b47287..5ee8120c68c2219975f2b7d780873fb48d06a47c 100644 (file)
 #define SEC_CHAN_BDC     6
 
 /* Returned delta types */
-#define SAM_DELTA_DOMAIN_INFO  0x01 /* Domain */
-#define SAM_DELTA_GROUP_INFO   0x02 /* Domain groups */
-#define SAM_DELTA_ACCOUNT_INFO 0x05 /* Users */
-#define SAM_DELTA_GROUP_MEM    0x08 /* Group membership */
-#define SAM_DELTA_ALIAS_INFO   0x09 /* Local groups */
-#define SAM_DELTA_ALIAS_MEM    0x0C /* Local group membership */
-#define SAM_DELTA_DOM_INFO     0x0D /* Privilege stuff */
-#define SAM_DELTA_UNK0E_INFO   0x0e /* Privilege stuff */
-#define SAM_DELTA_PRIVS_INFO   0x10 /* Privilege stuff */
-#define SAM_DELTA_UNK12_INFO   0x12 /* Privilege stuff */
-#define SAM_DELTA_SAM_STAMP    0x16 /* Some kind of journal record? */
+#define SAM_DELTA_DOMAIN_INFO    0x01
+#define SAM_DELTA_GROUP_INFO     0x02
+#define SAM_DELTA_RENAME_GROUP   0x04
+#define SAM_DELTA_ACCOUNT_INFO   0x05
+#define SAM_DELTA_RENAME_USER    0x07
+#define SAM_DELTA_GROUP_MEM      0x08
+#define SAM_DELTA_ALIAS_INFO     0x09
+#define SAM_DELTA_RENAME_ALIAS   0x0b
+#define SAM_DELTA_ALIAS_MEM      0x0c
+#define SAM_DELTA_POLICY_INFO    0x0d
+#define SAM_DELTA_TRUST_DOMS     0x0e
+#define SAM_DELTA_PRIVS_INFO     0x10 /* DT_DELTA_ACCOUNTS */
+#define SAM_DELTA_SECRET_INFO    0x12
+#define SAM_DELTA_DELETE_GROUP   0x14
+#define SAM_DELTA_DELETE_USER    0x15
+#define SAM_DELTA_MODIFIED_COUNT 0x16
 
 /* SAM database types */
 #define SAM_DATABASE_DOMAIN    0x00 /* Domain users and groups */
@@ -711,7 +716,7 @@ typedef struct sam_alias_mem_info_info
 } SAM_ALIAS_MEM_INFO;
 
 
-/* SAM_DELTA_DOM (0x0D) */
+/* SAM_DELTA_POLICY (0x0D) */
 typedef struct
 {
        uint32 unknown1; /* 0x5000 */
@@ -753,9 +758,9 @@ typedef struct
        UNISTR2 domain_name;
        DOM_SID2 domain_sid;
 
-} SAM_DELTA_DOM;
+} SAM_DELTA_POLICY;
 
-/* SAM_DELTA_UNK0E (0x0e) */
+/* SAM_DELTA_TRUST_DOMS */
 typedef struct
 {
        uint32 buf_size;
@@ -773,7 +778,7 @@ typedef struct
        uint32 unknown3;
        UNISTR2 domain;
 
-} SAM_DELTA_UNK0E;
+} SAM_DELTA_TRUSTDOMS;
 
 /* SAM_DELTA_PRIVS (0x10) */
 typedef struct
@@ -812,7 +817,7 @@ typedef struct
 
 } SAM_DELTA_PRIVS;
 
-/* SAM_DELTA_UNK12 (0x12) */
+/* SAM_DELTA_SECRET */
 typedef struct
 {
        uint32 buf_size;
@@ -846,15 +851,15 @@ typedef struct
        uint32 buf_size3;
        SEC_DESC *sec_desc2;
 
-} SAM_DELTA_UNK12;
+} SAM_DELTA_SECRET;
 
-/* SAM_DELTA_STAMP (0x16) */
+/* SAM_DELTA_MOD_COUNT (0x16) */
 typedef struct
 {
         uint32 seqnum;
         uint32 dom_mod_count_ptr;
        UINT64_S dom_mod_count;  /* domain mod count at last sync */
-} SAM_DELTA_STAMP;
+} SAM_DELTA_MOD_COUNT;
 
 typedef union sam_delta_ctr_info
 {
@@ -864,11 +869,11 @@ typedef union sam_delta_ctr_info
        SAM_GROUP_MEM_INFO grp_mem_info;
        SAM_ALIAS_INFO     alias_info  ;
        SAM_ALIAS_MEM_INFO als_mem_info;
-       SAM_DELTA_DOM      dom_info;
+       SAM_DELTA_POLICY   policy_info;
        SAM_DELTA_PRIVS    privs_info;
-       SAM_DELTA_STAMP    stamp;
-       SAM_DELTA_UNK0E    unk0e_info;
-       SAM_DELTA_UNK12    unk12_info;
+       SAM_DELTA_MOD_COUNT mod_count;
+       SAM_DELTA_TRUSTDOMS trustdoms_info;
+       SAM_DELTA_SECRET   secret_info;
 } SAM_DELTA_CTR;
 
 /* NET_R_SAM_SYNC */
index 52cbc8e8dfa1fe6521743099d3c1d85fc05e94b5..ecab979ff269c890c24fb5bd3c42c9a7383201e6 100644 (file)
@@ -1779,7 +1779,7 @@ static BOOL net_io_sam_delta_hdr(char *desc, SAM_DELTA_HDR * delta,
 /*******************************************************************
 reads or writes a structure.
 ********************************************************************/
-static BOOL net_io_sam_delta_stamp(char *desc, SAM_DELTA_STAMP *info,
+static BOOL net_io_sam_delta_mod_count(char *desc, SAM_DELTA_MOD_COUNT *info,
                                    prs_struct *ps, int depth)
 {
        prs_debug(ps, depth, desc, "net_io_sam_delta_stamp");
@@ -2386,12 +2386,12 @@ static BOOL net_io_sam_alias_mem_info(char *desc, SAM_ALIAS_MEM_INFO * info,
 /*******************************************************************
 reads or writes a structure.
 ********************************************************************/
-static BOOL net_io_sam_dom_info(char *desc, SAM_DELTA_DOM *info,
+static BOOL net_io_sam_policy_info(char *desc, SAM_DELTA_POLICY *info,
                                      prs_struct *ps, int depth)
 {
        int i;
 
-       prs_debug(ps, depth, desc, "net_io_sam_dom_info");
+       prs_debug(ps, depth, desc, "net_io_sam_policy_info");
        depth++;
 
        if(!prs_align(ps))
@@ -2476,12 +2476,12 @@ static BOOL net_io_sam_dom_info(char *desc, SAM_DELTA_DOM *info,
 /*******************************************************************
 reads or writes a structure.
 ********************************************************************/
-static BOOL net_io_sam_unk0e_info(char *desc, SAM_DELTA_UNK0E *info,
+static BOOL net_io_sam_trustdoms_info(char *desc, SAM_DELTA_TRUSTDOMS *info,
                                      prs_struct *ps, int depth)
 {
        int i;
 
-       prs_debug(ps, depth, desc, "net_io_sam_unk0e_info");
+       prs_debug(ps, depth, desc, "net_io_sam_trustdoms_info");
        depth++;
 
        if(!prs_align(ps))
@@ -2524,12 +2524,12 @@ static BOOL net_io_sam_unk0e_info(char *desc, SAM_DELTA_UNK0E *info,
 /*******************************************************************
 reads or writes a structure.
 ********************************************************************/
-static BOOL net_io_sam_unk12_info(char *desc, SAM_DELTA_UNK12 *info,
-                                     prs_struct *ps, int depth)
+static BOOL net_io_sam_secret_info(char *desc, SAM_DELTA_SECRET *info,
+                                  prs_struct *ps, int depth)
 {
        int i;
 
-       prs_debug(ps, depth, desc, "net_io_sam_unk12_info");
+       prs_debug(ps, depth, desc, "net_io_sam_secret_info");
        depth++;
 
        if(!prs_align(ps))
@@ -2707,8 +2707,8 @@ static BOOL net_io_sam_delta_ctr(char *desc, uint8 sess_key[16],
 
        switch (type) {
                 /* Seen in sam deltas */
-                case SAM_DELTA_SAM_STAMP:
-                        if (!net_io_sam_delta_stamp("", &delta->stamp, ps, depth))
+                case SAM_DELTA_MODIFIED_COUNT:
+                        if (!net_io_sam_delta_mod_count("", &delta->mod_count, ps, depth))
                                 return False;
                         break;
 
@@ -2737,8 +2737,8 @@ static BOOL net_io_sam_delta_ctr(char *desc, uint8 sess_key[16],
                                 return False;
                        break;
 
-               case SAM_DELTA_DOM_INFO:
-                        if (!net_io_sam_dom_info("", &delta->dom_info, ps, depth))
+               case SAM_DELTA_POLICY_INFO:
+                        if (!net_io_sam_policy_info("", &delta->policy_info, ps, depth))
                                 return False;
                        break;
 
@@ -2752,16 +2752,23 @@ static BOOL net_io_sam_delta_ctr(char *desc, uint8 sess_key[16],
                                 return False;
                        break;
 
-               case SAM_DELTA_UNK0E_INFO:
-                       if (!net_io_sam_unk0e_info("", &delta->unk0e_info, ps, depth))
+               case SAM_DELTA_TRUST_DOMS:
+                       if (!net_io_sam_trustdoms_info("", &delta->trustdoms_info, ps, depth))
                                 return False;
                        break;
 
-               case SAM_DELTA_UNK12_INFO:
-                       if (!net_io_sam_unk12_info("", &delta->unk12_info, ps, depth))
+               case SAM_DELTA_SECRET_INFO:
+                       if (!net_io_sam_secret_info("", &delta->secret_info, ps, depth))
                                 return False;
                        break;
 
+                       /* These guys are not implemented yet */
+
+               case SAM_DELTA_RENAME_GROUP:
+               case SAM_DELTA_RENAME_USER:
+               case SAM_DELTA_RENAME_ALIAS:
+               case SAM_DELTA_DELETE_GROUP:
+               case SAM_DELTA_DELETE_USER:
                default:
                        DEBUG(0, ("Replication error: Unknown delta type 0x%x\n", type));
                        break;
index c3bc9e5e130524b7bfa3974b43903897c884cf09..198787f22b7dfbac716b067f94e12cdeea822919 100644 (file)
@@ -125,11 +125,10 @@ static void display_sam_sync(uint32 num_deltas, SAM_DELTA_HDR *hdr_deltas,
                                           group->rids[j], group->attribs[j]);
                         break;
                 }
-                case SAM_DELTA_SAM_STAMP: {
-                        SAM_DELTA_STAMP *stamp = &deltas[i].stamp;
+                case SAM_DELTA_MODIFIED_COUNT: {
+                        SAM_DELTA_MOD_COUNT *mc = &deltas[i].mod_count;
 
-                        printf("sam sequence update: 0x%04x\n",
-                                  stamp->seqnum);
+                        printf("sam sequence update: 0x%04x\n", mc->seqnum);
                         break;
                 }                                  
                 default:
index a8344cd5e287e1da55edb6451acc65cf4470eb37..710614469ef57827c844827b786647e513509298 100644 (file)
@@ -217,8 +217,8 @@ static void decode_sam_deltas(uint32 num_deltas, SAM_DELTA_HDR *hdr_deltas, SAM_
                                decode_sam_als_mem_info(a);
                                break;
                        }
-                       case SAM_DELTA_DOM_INFO: {
-                               SAM_DELTA_DOM *a;
+                       case SAM_DELTA_POLICY_INFO: {
+                               SAM_DELTA_POLICY *a;
                                a = &deltas[i].dom_info;
                                decode_sam_dom_info(a);
                                break;