[PATCH] samba-tool dbcheck: handle missing objectClass

Felix Botner botner at univention.de
Tue Feb 25 02:22:30 MST 2014


Hi,

Am Dienstag, 25. Februar 2014, 09:31:47 schrieb Andrew Bartlett:
> On Mon, 2014-02-24 at 14:08 +0100, Felix Botner wrote:
> > In several cases we have seen objects without the objectClass attribute.
> > Here the suggestion for a patch to find such objects in "samba-tool
> > dbcheck" with the option to delete them.
> 
> Do these objects have an objectCategory we could use to attempt to
> reconstruct the objectClass?  Alternately, should we guess what
> objectClass it is based on the rest of the object?
> 
> I'm not convinced that there is anything we can do that is safer than
> deleting the object, but even that isn't a particularly great outcome.

The objects looks like this (unfortunately, i don't have an example with the 
"objectCategory").

(a)
dn: cn=supergroup\0ADEL:84d4159b-4b1c-4b08-ba30-ded58028a0bd,CN=Deleted 
Objects,DC=autotest093,DC=local
changetype: add
cn:: c3VwZXJncm91cApERUw6ODRkNDE1OWItNGIxYy00YjA4LWJhMzAtZGVkNTgwMjhhMGJk
instanceType: 4
whenChanged: 20140111115021.0Z
uSNCreated: 4609
isDeleted: TRUE
uSNChanged: 4609
name:: c3VwZXJncm91cApERUw6ODRkNDE1OWItNGIxYy00YjA4LWJhMzAtZGVkNTgwMjhhMGJk
objectGUID: 84d4159b-4b1c-4b08-ba30-ded58028a0bd
replPropertyMetaData:: AQAAAAAAAAAIAAAAAAAAAAEAAgABAAAA/MDhCAMAAADvSo7lMKnSRLC
 iiDtr2TlTyxMAAAAAAAABEgAAAAAAADAAAgABAAAA/cDhCAMAAADvSo7lMKnSRLCiiDtr2TlTzRMA
 AAAAAAABEgAAAAAAAAEACQACAAAA/cDhCAMAAADvSo7lMKnSRLCiiDtr2TlTzRMAAAAAAAABEgAAA
 AAAAC4BCQADAAAA/cDhCAMAAADvSo7lMKnSRLCiiDtr2TlTzRMAAAAAAAABEgAAAAAAAA0DCQABAA
 AA/cDhCAMAAADvSo7lMKnSRLCiiDtr2TlTzRMAAAAAAAABEgAAAAAAAA4DCQACAAAA/cDhCAMAAAD
 vSo7lMKnSRLCiiDtr2TlTzRMAAAAAAAABEgAAAAAAAAoICQABAAAA/cDhCAMAAADvSo7lMKnSRLCi
 iDtr2TlTzRMAAAAAAAABEgAAAAAAAAMAAAACAAAA/cDhCAMAAADvSo7lMKnSRLCiiDtr2TlTzRMAA
 AAAAAABEgAAAAAAAA==
lastKnownParent: <GUID=aeb34709-b4cd-47f0-9b7b-e3876e4bcd78>;CN=Groups,DC=auto
 test093,DC=local
isRecycled: TRUE

(b)
# record 1
dn: CN=2c4fcffe-f0c2-4e0f-b852-c9fe2805732f\0ADEL:60f25113-97be-4070-
b8e1-61289f8469df,CN=Deleted Objects,CN=Configuration,DC=sec,DC=lan
cn:: MmM0ZmNmZmUtZjBjMi00ZTBmLWI4NTItYzlmZTI4MDU3MzJmCkRFTDo2MGYyNTExMy05N2JlL
 TQwNzAtYjhlMS02MTI4OWY4NDY5ZGY=
instanceType: 4
whenChanged: 20130402150722.0Z
uSNCreated: 1170624
isDeleted: TRUE
uSNChanged: 1170624
name:: MmM0ZmNmZmUtZjBjMi00ZTBmLWI4NTItYzlmZTI4MDU3MzJmCkRFTDo2MGYyNTExMy05N2J
 lLTQwNzAtYjhlMS02MTI4OWY4NDY5ZGY=
objectGUID: 60f25113-97be-4070-b8e1-61289f8469df
lastKnownParent: CN=NTDS Settings,CN=UCS3-DC0,CN=Servers,CN=Roswell,CN=Sites,C
 N=Configuration,DC=sec,DC=lan
isRecycled: TRUE
distinguishedName: CN=2c4fcffe-f0c2-4e0f-b852-c9fe2805732f\0ADEL:60f25113-97be
 -4070-b8e1-61289f8469df,CN=Deleted Objects,CN=Configuration,DC=sec,DC=lan


> What objects does this happen on in general?

I am not sure and we cannot reproduce this on a regular basis but it happens 
in multiserver environments (after the replication) and all objects lacking 
the objectClass have been "\0ADEL:" objects.

Attachted you can find the replPropertyMetaData of object (b) but I can't see  
the objectClass attribut there. Is this correct?

Thanks

-- 

*** CeBIT 2014 - 10. bis 14. März in Hannover: Univention in Halle 6 (H15) ***
http://www.univention.de/univention/termine/cebit-2014/

Felix Botner

Open Source Software Engineer

Univention GmbH
be open
Mary-Somerville-Str.1
28359 Bremen
Tel. : +49 421 22232-0
Fax : +49 421 22232-99

<botner at univention.de>
http://www.univention.de

Geschäftsführer: Peter H. Ganten
HRB 20755 Amtsgericht Bremen
Steuer-Nr.: 71-597-02876 
-------------- next part --------------

dn: CN=2c4fcffe-f0c2-4e0f-b852-c9fe2805732f\0ADEL:60f25113-97be-4070-b8e1-61289f8469df,CN=Deleted Objects,CN=Configuration,DC=sec,DC=lan
replPropertyMetaData:: AQAAAAAAAAALAAAAAAAAAAEAAgABAAAArkRiBwMAAADpCBli2rsTSp+iDBFXq3VvvkIAAAAAAADA3BEAAAAAADAAAgABAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAKkAAgACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAAEACQACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAACQACQACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAACgACQACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAADMBCQACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAA0DCQABAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAA4DCQACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAAoICQABAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAAMAAAACAAAAKoVrBwMAAADpCBli2rsTSp+iDBFXq3VvJEUAAAAAAADA3BEAAAAAAA==
# decoded:
#     replPropertyMetaDataBlob: struct replPropertyMetaDataBlob
#         version                  : 0x00000001 (1)
#         reserved                 : 0x00000000 (0)
#         ctr                      : union replPropertyMetaDataCtr(case 1)
#         ctr1: struct replPropertyMetaDataCtr1
#             count                    : 0x0000000b (11)
#             reserved                 : 0x00000000 (0)
#             array: ARRAY(11)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_instanceType (0x20001)
#                     version                  : 0x00000001 (1)
#                     originating_change_time  : Tue Mar 26 08:41:50 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x00000000000042be (17086)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_isDeleted (0x20030)
#                     version                  : 0x00000001 (1)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_showInAdvancedViewOnly (0x200A9)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_name (0x90001)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : UNKNOWN_ENUM_VALUE (0x90024)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : UNKNOWN_ENUM_VALUE (0x90028)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_options (0x90133)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_lastKnownParent (0x9030D)
#                     version                  : 0x00000001 (1)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_objectCategory (0x9030E)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_isRecycled (0x9080A)
#                     version                  : 0x00000001 (1)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)
#                 array: struct replPropertyMetaData1
#                     attid                    : DRSUAPI_ATTID_cn (0x3)
#                     version                  : 0x00000002 (2)
#                     originating_change_time  : Tue Apr  2 09:07:22 2013 MDT
#                     originating_invocation_id: 621908e9-bbda-4a13-9fa2-0c1157ab756f
#                     originating_usn          : 0x0000000000004524 (17700)
#                     local_usn                : 0x000000000011dcc0 (1170624)


More information about the samba-technical mailing list