The branch, master has been updated
       via  0ed467ac0c2b8854445662650b3066aa1be236f5 (commit)
       via  27ff8f4e73dd9f4579db965a03416b4cb001970a (commit)
      from  a8e8a3161164ec469d65d7489d2f71fdc288a131 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0ed467ac0c2b8854445662650b3066aa1be236f5
Author: Andrew Tridgell <[email protected]>
Date:   Tue Sep 8 22:15:59 2009 +1000

    s4/ldb: support NDR printing for 2 more replication types
    
    print replUpToDateVector and replPropertyMetaData using NDR format if
    --show-binary is given.

commit 27ff8f4e73dd9f4579db965a03416b4cb001970a
Author: Andrew Tridgell <[email protected]>
Date:   Tue Sep 8 22:02:59 2009 +1000

    s4/ldb: allow prefixMap to be shown as NDR

-----------------------------------------------------------------------

Summary of changes:
 source4/lib/ldb-samba/ldif_handlers.c |   46 +++++++++++++++++++++++++++++++++
 source4/lib/ldb-samba/ldif_handlers.h |    2 +
 2 files changed, 48 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/lib/ldb-samba/ldif_handlers.c 
b/source4/lib/ldb-samba/ldif_handlers.c
index 6927576..5a60a37 100644
--- a/source4/lib/ldb-samba/ldif_handlers.c
+++ b/source4/lib/ldb-samba/ldif_handlers.c
@@ -595,6 +595,14 @@ static int ldif_write_prefixMap(struct ldb_context *ldb, 
void *mem_ctx,
        char *string;
        uint32_t i;
 
+       if (ldb_get_flags(ldb) & LDB_FLG_SHOW_BINARY) {
+               return ldif_write_NDR(ldb, mem_ctx, in, out, 
+                                     sizeof(struct prefixMapBlob),
+                                     
(ndr_pull_flags_fn_t)ndr_pull_prefixMapBlob,
+                                     (ndr_print_fn_t)ndr_print_prefixMapBlob);
+                                     
+       }
+
        blob = talloc(mem_ctx, struct prefixMapBlob);
        if (blob == NULL) {
                return -1;
@@ -724,6 +732,30 @@ static int ldif_write_repsFromTo(struct ldb_context *ldb, 
void *mem_ctx,
                              (ndr_print_fn_t)ndr_print_repsFromToBlob);
 }
 
+/*
+  convert a NDR formatted blob to a ldif formatted replPropertyMetaData
+*/
+static int ldif_write_replPropertyMetaData(struct ldb_context *ldb, void 
*mem_ctx,
+                                          const struct ldb_val *in, struct 
ldb_val *out)
+{
+       return ldif_write_NDR(ldb, mem_ctx, in, out, 
+                             sizeof(struct replPropertyMetaDataBlob),
+                             
(ndr_pull_flags_fn_t)ndr_pull_replPropertyMetaDataBlob,
+                             
(ndr_print_fn_t)ndr_print_replPropertyMetaDataBlob);
+}
+
+/*
+  convert a NDR formatted blob to a ldif formatted replUpToDateVector
+*/
+static int ldif_write_replUpToDateVector(struct ldb_context *ldb, void 
*mem_ctx,
+                                        const struct ldb_val *in, struct 
ldb_val *out)
+{
+       return ldif_write_NDR(ldb, mem_ctx, in, out, 
+                             sizeof(struct replUpToDateVectorBlob),
+                             
(ndr_pull_flags_fn_t)ndr_pull_replUpToDateVectorBlob,
+                             
(ndr_print_fn_t)ndr_print_replPropertyMetaDataBlob);
+}
+
 
 static int extended_dn_write_hex(struct ldb_context *ldb, void *mem_ctx,
                                 const struct ldb_val *in, struct ldb_val *out)
@@ -778,6 +810,18 @@ static const struct ldb_schema_syntax samba_syntaxes[] = {
                .ldif_write_fn    = ldif_write_repsFromTo,
                .canonicalise_fn  = ldb_handler_copy,
                .comparison_fn    = ldb_comparison_binary
+       },{
+               .name             = LDB_SYNTAX_SAMBA_REPLPROPERTYMETADATA,
+               .ldif_read_fn     = ldb_handler_copy,
+               .ldif_write_fn    = ldif_write_replPropertyMetaData,
+               .canonicalise_fn  = ldb_handler_copy,
+               .comparison_fn    = ldb_comparison_binary
+       },{
+               .name             = LDB_SYNTAX_SAMBA_REPLUPTODATEVECTOR,
+               .ldif_read_fn     = ldb_handler_copy,
+               .ldif_write_fn    = ldif_write_replUpToDateVector,
+               .canonicalise_fn  = ldb_handler_copy,
+               .comparison_fn    = ldb_comparison_binary
        },
 };
 
@@ -822,6 +866,8 @@ static const struct {
        { "prefixMap",                  LDB_SYNTAX_SAMBA_PREFIX_MAP },
        { "repsFrom",                   LDB_SYNTAX_SAMBA_REPSFROMTO },
        { "repsTo",                     LDB_SYNTAX_SAMBA_REPSFROMTO },
+       { "replPropertyMetaData",       LDB_SYNTAX_SAMBA_REPLPROPERTYMETADATA },
+       { "replUpToDateVector",         LDB_SYNTAX_SAMBA_REPLUPTODATEVECTOR },
 };
 
 const struct ldb_schema_syntax *ldb_samba_syntax_by_name(struct ldb_context 
*ldb, const char *name)
diff --git a/source4/lib/ldb-samba/ldif_handlers.h 
b/source4/lib/ldb-samba/ldif_handlers.h
index 839525e..6906c82 100644
--- a/source4/lib/ldb-samba/ldif_handlers.h
+++ b/source4/lib/ldb-samba/ldif_handlers.h
@@ -8,6 +8,8 @@
 #define LDB_SYNTAX_SAMBA_PREFIX_MAP            "LDB_SYNTAX_SAMBA_PREFIX_MAP"
 #define LDB_SYNTAX_SAMBA_INT32                 "LDB_SYNTAX_SAMBA_INT32"
 #define LDB_SYNTAX_SAMBA_REPSFROMTO            "LDB_SYNTAX_SAMBA_REPSFROMTO"
+#define LDB_SYNTAX_SAMBA_REPLPROPERTYMETADATA   
"LDB_SYNTAX_SAMBA_REPLPROPERTYMETADATA"
+#define LDB_SYNTAX_SAMBA_REPLUPTODATEVECTOR     
"LDB_SYNTAX_SAMBA_REPLUPTODATEVECTOR"
 
 #include "lib/ldb-samba/ldif_handlers_proto.h"
 


-- 
Samba Shared Repository

Reply via email to