The branch, master has been updated
       via  0aec87454b0b2e14b8fa32607d2173caa168d4de (commit)
      from  acfb01a8f63f5b84c271ae0599bf40d92237cdf9 (commit)

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


- Log -----------------------------------------------------------------
commit 0aec87454b0b2e14b8fa32607d2173caa168d4de
Author: Andrew Tridgell <tri...@samba.org>
Date:   Thu Jul 2 15:33:01 2009 +1000

    decrypt all objects in a DRS record, not just the first one
    
    We found this as an object came across from w2k3 with zero values,
    which caused a segv when we tried to decrypt the first value

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

Summary of changes:
 source4/dsdb/repl/replicated_objects.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/repl/replicated_objects.c 
b/source4/dsdb/repl/replicated_objects.c
index 78af3c8..d96a063 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -117,14 +117,17 @@ static WERROR dsdb_convert_object(struct ldb_context *ldb,
                struct drsuapi_DsReplicaMetaData *d;
                struct replPropertyMetaData1 *m;
                struct ldb_message_element *e;
+               int j;
 
                a = &in->object.attribute_ctr.attributes[i];
                d = &in->meta_data_ctr->meta_data[i];
                m = &md->ctr.ctr1.array[i];
                e = &msg->elements[i];
 
-               status = drsuapi_decrypt_attribute(a->value_ctr.values[0].blob, 
gensec_skey, rid, a);
-               W_ERROR_NOT_OK_RETURN(status);
+               for (j=0; j<a->value_ctr.num_values; j++) {
+                       status = 
drsuapi_decrypt_attribute(a->value_ctr.values[j].blob, gensec_skey, rid, a);
+                       W_ERROR_NOT_OK_RETURN(status);
+               }
 
                status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, a, 
msg->elements, e);
                W_ERROR_NOT_OK_RETURN(status);


-- 
Samba Shared Repository

Reply via email to