Age | Commit message (Collapse) | Author | Files | Lines |
|
This will be called by getncchanges when a client asks for a
DRSUAPI_EXOP_FSMO_RID_ALLOC operation
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This makes getting the module order correct, the obligation of Samba4
developers, and not system administrators. In particular, once an ldb
is updated to use only the 'samba_dsdb' module, no further changes to the
ldb should be required when upgrading to later Samba4 versions.
(thanks to metze for the suggestion of samba_dsdb as a long-term
stable name for the module)
Andrew Bartlett
|
|
It is important to always ensure that this attribute has an extended
DN if the rest of the database stores things that way.
The knowlege of what format the DN is stored on disk with is passed
around in an LDB opaque.
Andrew Bartlett
|
|
This aims to replace (and is based on) the code in ldb_dn.c. It is
however much stricter in the DNs it will accept.
Andrew Bartlett
|
|
This is done by passing an extended operation to the partitions module
to extend the @PARTITION record and to extend the in-memory list of
partitions.
This also splits things up into module parts that belong above and below
repl_meta_data
Also slit the partitions module into two files due to the complexity
of the code
Andrew Barltett
|
|
This exposes the linked_attributes to the repl_meta_data module
|
|
This structures was used in two ways. In one way it held variables
that are logically internal to the partition module, and in the other
way it was used to pass the partition DN down to other modules. This
change makes the structure contain just the dn which is being passed
down.
This change is part of the support for linked attributes. We will be
passing this control down from above the partition module to force
which partition a request acts upon. The partition module now only
adds this control if it isn't already there.
|
|
Guenther
|
|
list=""
list="$list event_context:tevent_context"
list="$list fd_event:tevent_fd"
list="$list timed_event:tevent_timer"
for s in $list; do
o=`echo $s | cut -d ':' -f1`
n=`echo $s | cut -d ':' -f2`
r=`git grep "struct $o" |cut -d ':' -f1 |sort -u`
files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4`
for f in $files; do
cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp
mv $f.tmp $f
done
done
metze
|
|
extended_dn_store.
By splitting the module, the extended_dn_in and extended_dn_store
moudles can use extended_dn_out to actually get the extended DN. This
avoids code duplication.
The extended_dn_out module also contains a client implementation of
the OpenLDAP dereference control (draft-masarati-ldap-deref-00).
This also introduces a new control
'DSDB_CONTROL_DN_STORAGE_FORMAT_OID' to ask the extended_dn_out module
to return whatever the 'storage format' is. This allows us to work
with both OpenLDAP (which performs a dereference at run time) and LDB
(which stores the GUID and SID on disk).
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
|
Encode and decode the OpenLDAP dereference control (draft-masarati-ldap-deref-00)
At this time, the ldb_controls infrustructure does not handle request
and reply controls having different formats, so this is purely the
client implementation (ie, there is no decode of the client->server
packet, and no encode of the server->client packet).
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
|
We need to make sure replicated updates are handled differently
in some situations, e.g. we should bypass the schema checks.
metze
|
|
This includes additional Samba-specific syntaxes made available from
the ldif_handlers code.
This commit also changes some table to use #defines, to ensure
consistancy in other parts of the code.
Andrew Bartlett
(This used to be commit e26a5efd9a580ed3728e1f449e367b1cd4a73b5f)
|
|
metze
(This used to be commit 2f06fbe06be2e1b77ea013ddba853ce819e58e88)
|
|
The ldif for that operation looks like this:
dn:
changetype: Modify
add: schemaUpdateNow
schemaUpdateNow: 1
It uses the rootdse's object functional attribute schemaUpdateNow.
In rootdse_modify() this command is being recognized and it is send as extended operation with DSDB_EXTENDED_SCHEMA_UPDATE_NOW_OID.
In the partition module its dispatched to the schema_fsmo module.
The request is processed in the schema_fsmo module by schema_fsmo_extended().
(This used to be commit 39f9184ddf215f2b512319211c0a05702218ef87)
|
|
metze
(This used to be commit 8538d305c803268c712a90879f29a2a74ba0ef03)
|
|
These flags are too useful just to hide away...
Andrew Bartlett
(This used to be commit 1e897b6148407e9921edd2c3db734930d79ccb42)
|
|
(This used to be commit b4e1ae07a284c044704322446c94351c2decff91)
|
|
(This used to be commit 85eeecf997a071ca7e7ad0247e8d34d49b7ffcbb)
|
|
further up the call stack.
(This used to be commit 0721a07aada6a1fae6dcbd610b8783df57d7bbad)
|
|
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
|
|
for the schema, domain naming and pdc fsmo roles
infrastructure and rid manager will be added later,
when we have module for them
metze
(This used to be commit 308f9cf822a3a34dae28a5fa5aa850e2adbeb472)
|
|
an oid for the
control
metze
(This used to be commit 684eee52e8812f6d104d8706ab059643ff4faa46)
|
|
metze
(This used to be commit 2e79863d54030526841e5858e7be6a815c25593b)
|
|
because we now use DSDB_EXTENDED_REPLICATED_OBJECTS_OID extended operation
metze
(This used to be commit 4380cc9ed6ac2e6c133b5a36f922b341474a8e7e)
|
|
attribute is there
- add the values for objectGUID and whenChanged inside the ldb module,
so that the ldb module has only replicated attributes as input
metze
(This used to be commit 0ecb07e0526462529fb21cec30e789a9002b30a1)
|
|
the source dsa
and the highwater mark vector
metze
(This used to be commit a31e017e5388e5abd6ed9d09adcf26d2527954a6)
|
|
DSDB_EXTENDED_REPLICATED_OBJECTS
metze
(This used to be commit c9e7a58f6a16dfa28323fd0fd01ad6ee516c51b0)
|
|
more useful,
so that we can apply the schema partition objects with one call
metze
(This used to be commit 165ff94b8a89ef4b9145405633ed11ab9567376b)
|
|
to pass all needed info to the repl_meta_data module
metze
(This used to be commit d5db31cde279cf05bd13bcf0da03767ab3498079)
|
|
DSDB_EXTENDED_REPLICATED_OBJECTS_OID, out, &ext_res);
which prepares the replicated objects, the repl_meta_data ldb module
will then add the uSNCreated, uSNChanged and some other things and will apply
the objects to the partition specific ldb
metze
(This used to be commit 48d568a75b8109807af29f5d9604240c20c1a116)
|
|
- by default the operations goes to all partitions
- but some wellkown ones will go to just one partition
(DSDB_EXTENDED_REPLICATED_OBJECTS_OID for now)
I'll soon change the partitions module so that it'll attach a
DSDB_CONTROL_PARTITION_CONTEXT_OID control to give
the repl_meta_data or other partition specific modules a chance to
to know for which partition it should work.
metze
(This used to be commit 0ed53c6d0f4a4e43ff9c8943730eeb57c735201b)
|
|
metze
(This used to be commit ef3b325db060d43a7c2e058f6b8914b5867cd321)
|
|
when applying replicated objects.
the samldb module ignores such requests now...
and the repl_meta_data module has different functions
for the replicated and originating cases...
metze
(This used to be commit a4d5e0126cfd6135ab829f4984269e265a868a28)
|
|
metze
(This used to be commit 17c52ed27613051beecd5bbf72c6e6e749a21d27)
|
|
and attach the table to the dsdb_schema
metze
(This used to be commit df63995ec5f322d17145664c1f174783861e1723)
|
|
a drsuapi_DsReplicaObject
metze
(This used to be commit 9168236ddd3d8ed9daa1e47be1e6b12d2bc348b6)
|
|
a generic location
- this struct should be also used by the dsdb/samdb/ldb_modules/schema.c
module later
- add functions to map from LDAP OID values to uint32_t values
- add torture test for the OID => uint32 mapping code
metze
(This used to be commit 58ba6ec195ce3a5e2352866809f6cb57f8d8260a)
|
|
(This used to be commit 89dfb74894c809d69eab05bdb6d5fe4012153808)
|
|
(This used to be commit 51b4270513752d2eafbe77f9de598de16ef84a1f)
|
|
(This used to be commit f4de155c94b89e586640d11992953a0d5fc0716d)
|
|
(This used to be commit 1a16a6f1dfa66499af43a6b88b3ea69a6a75f1fe)
|