Validation on upgradeprovision patches needed

Matthias Dieter Wallnöfer mdw at samba.org
Sun Jul 11 12:38:18 MDT 2010


Hi ekacnet,

my comments:

(repl_meta_data.c)
> static uint64_t find_max_local_usn(struct replPropertyMetaDataBlob omd)
> {
>        int count = omd.ctr.ctr1.count;
>        uint64_t max = 0;
>        int i;
>        for (i=0; i < count; i++) {
>                struct replPropertyMetaData1 m = omd.ctr.ctr1.array[i];
>                if (max < m.local_usn) {
>                        max = m.local_usn;
>                }
>        }
>        return max;
> }
^^^ "count" and "i" should be from type "uint32_t" (these are DSDB 
counters).

(objectclass_attrs.c)
>                         found = str_list_check(may_contain, 
> attr->lDAPDisplayName);
>                 }
>                 if (!found) {
> +                       found = str_list_check(harmless_attrs, 
> attr->lDAPDisplayName);
> +               }
> +               if (!found) {
>                         ldb_asprintf_errstring(ldb, 
> "objectclass_attrs: attribute '%s' on entry '%s' does not exist in the 
> specified objectclasses!",
>                                                msg->elements[i].name,
>                                                
> ldb_dn_get_linearized(msg->dn));
^^^ Is this really the best solution? Couldn't "upgradeprovision" delete 
all "parentGUIDs" to be consistent with recent provisions?

Greets,
Matthias


Matthieu Patou wrote:
>  On 11/07/2010 17:51, Matthieu Patou wrote:
>>  Hello all,
>>
>> I would like the team to have a review on the style and on the 
>> technical content
>>
>> * f8d2fbe s4 provision: move update_machine_account_password to helpers
>> * 026a9f1 s4: Add a simple script to change dc password
>> * bf637a0 s4: Unit test update_machine_account_password through kinit
>> * 9eeaad4 ldb: allow ldb_sequence_number to be called in python
>> * f1a3872 s4 dsdb: create a new control: changereplmetadata
>> * 6546478 s4 dsdb: Use the changereplmetadata control
>> * aa4edb7 s4 python: Add functions to samdb to manipulate version of 
>> replPropertyMetaData attribute
>> * daec974 s4 upgradeprovision: introduce a new function to update the 
>> field use for calculating msds-keyversionnumber
>> * 2a456c6 s4: Add unit test for increment_calculated_keyversion_number
>> * 69d3e9d s4 upgradeprovision: fix whitespaces
>> * e04981a s4 upgradeprovision: add function to backup the provision 
>> before updating
>> * 12d51e0 s4 upgradeprovision: do not copy RID Set it's automaticaly 
>> created by the RID manager
>> * 878f79a s4 upgradeprovision: Synchronize the calculated 
>> keyversionnumber with the one previously stored
>> * 0ac56a0 s4 ldb modules: relax some tests about attributes that 
>> should not be here
>> * 1820869 s4 upgradeprovision: Adapt the list of attribute modified
>>
>> They are related to add more unit tests to upgradeprovision function, 
>> they also fix problems found with late changes in changes in the 
>> samba4, they also introduce a full backup of the provision that is 
>> upgraded just for the sake of cleaness.
>> Finally there is also a couple of patches related to the resync of 
>> msds-keybersionnumber between the version that used to be stored in 
>> the database and the one that is now calculated from the version 
>> field of unicodePwd in replPropertyMetaData.
>>
>> Those patches pass make test on my 32bit computer (not tried on a 
>> 64bits), and I've been able to upgrade stock alpha8 to alpha11.
>>
>> I'm waiting for your comments or for your sign-off.
>>
> I forgot to say that this is available on my upgradeprovision-review 
> branch on the git.samba.org:
>
> http://git.samba.org/?p=mat/samba.git;a=shortlog;h=refs/heads/upgradeprovision-review 
>
>
> Cheers.
>
>



More information about the samba-technical mailing list