summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/partition.c
AgeCommit message (Collapse)AuthorFilesLines
2008-10-20Make sure prototypes are always included, make some functions static andJelmer Vernooij1-1/+1
remove some unused functions.
2008-10-16Transform the sequence_number operation into a normal extended operation as ↵Simo Sorce1-60/+186
it should always have been. Make it also async so that it is not a special case.
2008-10-06Remove compleatly bogus rename test in partitions module.Andrew Bartlett1-17/+0
2008-10-03Merge commit 'master/master'Andrew Tridgell1-0/+22
2008-10-03fixed the partition module and the GC handlingAndrew Tridgell1-4/+38
- when multiple partitions are searched, consider the search a success if any of the partitions return success - only search the right subset of partitions, looking at the scope and basedn of the search This fixes several errors with GC searches
2008-10-02fixed the sense of ldb base dn comparisons in two places, and use aAndrew Tridgell1-2/+2
direct comparison instead of a sub-tree comparison in another this fixes basedn searches on the global catalog port
2008-10-02s4:partition: register DOMAIN_SCOPE and SEARCH_OPTIONS controlsStefan Metzmacher1-0/+14
metze
2008-10-02s4:partition: pass down the SEARCH_OPTIONS control as uncriticalStefan Metzmacher1-0/+8
metze
2008-09-29LDB ASYNC: samba4 modulesSimo Sorce1-261/+334
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce1-5/+3
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-08-21Don't walk past the end of ldb values.Andrew Bartlett1-1/+1
This is a partial fix towards bugs due to us walking past the end of what we think are strings in ldb. There is much more work to do in this area. Andrew Bartlett (This used to be commit 5805a9a8f35fd90fa4f718f73534817fa3bbdfd2)
2008-07-24Handle schema reloading request.Anatoliy Atanasov1-0/+49
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)
2008-07-15Simplify the contextCSN determination.Andrew Bartlett1-0/+5
We only ever have one backend partition per Samba partition. Andrew Bartlett (This used to be commit 316a9b312a2d4a4ea5a5c70946fb06b61fab1a7d)
2008-04-02Install public header files again and include required prototypes.Jelmer Vernooij1-1/+1
(This used to be commit 47ffbbf67435904754469544390b67d34c958343)
2008-03-28Convert some more files to GPLv3.Andrew Kroeger1-1/+1
(This used to be commit ebe5e8399422eb7e2ff4deb546338823e2718907)
2008-02-20Fix use of some modules (needed _PUBLIC_).Jelmer Vernooij1-2/+2
(This used to be commit ce332130ea77159832da23bab760fa26921719e2)
2008-02-20Use struct-based rather than function-based initialization for ldb modules ↵Jelmer Vernooij1-6/+1
everywhere. (This used to be commit 85c96a325867f7bcdb412ebc53f8a47dbf7cd89b)
2008-01-16Rework control handling to remove the 'domain_scope' controlAndrew Bartlett1-17/+37
Also remove the search_options control earlier, before, rather than after duplicating the request. When we generate referalls in the partition module, the domain_scope control with suppress them. Andrew Bartlett (This used to be commit fc57a119f53a7bc0a0eb76b868bbd7386b3c5008)
2007-12-21r26483: Merge ldb module dependency fixes, fix auth python module.Jelmer Vernooij1-9/+13
(This used to be commit 85eeecf997a071ca7e7ad0247e8d34d49b7ffcbb)
2007-12-21r26360: Add some const.Jelmer Vernooij1-1/+1
(This used to be commit 3616ced29ed2385300f7268a742a9090840b626f)
2007-12-21r25941: Use samdb_relative_path() (new function in samdb.c) in the partitionsAndrew Bartlett1-30/+3
module. Andrew Bartlett (This used to be commit c8d1ab30845fa1496c85630b138b1cb512c2b6aa)
2007-12-21r25710: Finally fix subtree renames. Untested code is broken code and in thisAndrew Bartlett1-0/+17
case an oddity of the javascript caused the test to 'pass'. For the same oddity, we have a failure in ldb's handling of spaces in DNs. We need to resolve that too. Andrew Bartlett (This used to be commit e8cbac1a46f4d3b083e6bb5a509ef1ba47bebff1)
2007-12-21r25701: Clarify commentAndrew Bartlett1-1/+1
(This used to be commit cea496d2163db6dde371526dd5a79d4c090839ef)
2007-10-10r25000: Fix some more C++ compatibility warnings.Jelmer Vernooij1-3/+6
(This used to be commit 08bb1ef643ab906f1645cf6f32763dc73b1884e4)
2007-10-10r24731: Remove unused code - if we hit these error conditions, then we areAndrew Bartlett1-16/+0
dead anyway, and a segfault would leave us with more infomation. Andrew Bartlett (This used to be commit 62320616ff8795ff18c8f49029d81f12558c10ed)
2007-10-10r24690: Further fix to bug 4919: Ensure we don't supply a NULL URL argument toAndrew Bartlett1-0/+5
ldb_connect_backend(). Andrew Bartlett (This used to be commit d0595e7a3d15c40dd49062efa0ddc6864b6b9030)
2007-10-10r24655: Fix bug 4919 reported by Matthias Wallnöfer <mwallnoefer@yahoo.de>:Andrew Bartlett1-3/+2
> When you change to the SAMBA private directory on a shell (default > /usr/local/samba/private) and start there for example ldbedit with the sam.ldb, > the application crashes if you don't put the "./" before the filename. I've adapted Matthias's patch. Andrew Bartlett (This used to be commit ba82197e30da8e626419e877d224431703edc866)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell1-3/+2
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)
2007-10-10r23762: Fix DN renames over LDAP, and instrument the partition module. Add aAndrew Bartlett1-22/+24
test to prove the behaviour of LDAP renames etc. Fix LDB to return correct error code when failing to rename one DN onto another. Andrew Bartlett (This used to be commit 3f3da9c4710b7752ed97f55c2fc3d32a63d352af)
2007-10-10r22681: Fix standalone ldb build when parent directory name != ldb.Jelmer Vernooij1-1/+1
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10r22557: Simo has long bugged me that the paths in the sam.ldb partitions wereAndrew Bartlett1-1/+30
not relative to the location of the sam.ldb, but instead lp_private_dir(). This fixes that issue. Andrew Bartlett (This used to be commit c0fd6f63399d55a1938e31ae7b10689cc02ff2fa)
2007-10-10r21806: I've been working over the last week to fix up the LDAP backend forAndrew Bartlett1-23/+38
Samba4. This only broke on global catalog queries, which turned out to be due to changes in the partitions module that metze needed for his DRSUAPI work. I've reworked partitions.c to always include the 'problematic' control, and therefore demonstrated that this is the issue. This ensures consistency, and should help with finding issues like this in future. As this control (DSDB_CONTROL_CURRENT_PARTITION_OID) is not intended to be linearised, I've added logic to allow it to be skipped when creating network packets. I've likewise make our LDAP server skip unknown controls, when marked 'not critical' on it's input, rather than just dropping the entire request. I need some help to generate a correct error packet when it is marked critical. Further work could perhaps be to have the ldap_encode routine return a textual description of what failed to encode, as that would have saved me a lot of time... Andrew Bartlett (This used to be commit eef710668f91d1bbaa2d834d9e653e11c8aac817)
2007-10-10r21496: A number of ldb control and LDAP changes, surrounding theAndrew Bartlett1-4/+22
'phantom_root' flag in the search_options control - Add in support for LDB controls to the js layer - Test the behaviour - Implement support for the 'phantom_root' flag in the partitions module - Make the LDAP server set the 'phantom_root' flag in the search_options control - This replaces the global_catalog flag passed down as an opaque pointer - Rework the string-format control parsing function into ldb_parse_control_strings(), returning errors by ldb_errorstring() method, rather than with printf to stderr - Rework some of the ldb_control handling logic Andrew Bartlett (This used to be commit 2b3df7f38d7790358dbb4de1b8609bf794a351fb)
2007-10-10r20855: pass the DSDB_CONTROL_CURRENT_PARTITION_OID control also for theStefan Metzmacher1-10/+27
send_all case metze (This used to be commit b3fce383d3824ee418cbb7343f5d06720f5d31df)
2007-10-10r20853: attach the DSDB_CONTROL_CURRENT_PARTITION_OID control when requestsStefan Metzmacher1-2/+7
are passed to a specific partition metze (This used to be commit 06a46b1db46251989676fb04548f038930c83eb5)
2007-10-10r20849: first step to move away from using find_backend() and use ↵Stefan Metzmacher1-5/+20
find_partition() instead metze (This used to be commit 0d75cca6f37975a3855973468dc55520cb3b3fb7)
2007-10-10r20847: - split some code out into a new function find_partition()Stefan Metzmacher1-8/+27
- make all functions static metze (This used to be commit 3d313f08c7d6b201011f3b4744c8e54b1d0640c7)
2007-10-10r20826: make the dsdb_control_current_partition struct public and allocate ↵Stefan Metzmacher1-5/+1
an oid for the control metze (This used to be commit 684eee52e8812f6d104d8706ab059643ff4faa46)
2007-10-10r20809: rename struct partition into struct dsdb_control_current_partitionStefan Metzmacher1-9/+11
we'll soon pass this down as DSDB_CONTROL_CURRENT_PARTITION_OID control so that the repl_meta_data module knows where to update the replUpToDateVector attribute metze (This used to be commit e5de40f8c2377d6dce54109a8d8bf9c6b681b813)
2007-10-10r20729: add a version number to struct dsdb_extended_replicated_objectsStefan Metzmacher1-1/+8
metze (This used to be commit 2e79863d54030526841e5858e7be6a815c25593b)
2007-10-10r20679: make the init_handle stuff a bit easier and get rid of really ugly ↵Stefan Metzmacher1-26/+15
talloc_get_type() usage simo: if you change more modules, please include also this change metze (This used to be commit 88051a82c4918ba8183e0d6909161b2af2109446)
2007-10-10r20599: - forward extended operations in the partitions moduleStefan Metzmacher1-2/+45
- 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)
2007-10-10r19869: fix memleaksSimo Sorce1-6/+3
(This used to be commit 3a662a2d985bf801284c5dc1123dec6705e6d092)
2007-10-10r19831: Big ldb_dn optimization and interfaces enhancement patchSimo Sorce1-20/+15
This patch changes a lot of the code in ldb_dn.c, and also removes and add a number of manipulation functions around. The aim is to avoid validating a dn if not necessary as the validation code is necessarily slow. This is mainly to speed up internal operations where input is not user generated and so we can assume the DNs need no validation. The code is designed to keep the data as a string if possible. The code is not yet 100% perfect, but pass all the tests so far. A memleak is certainly present, I'll work on that next. Simo. (This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10r19531: Make struct ldb_dn opaque and local to ldb_dn.cSimo Sorce1-1/+1
(This used to be commit 889fb983ba1cf8a11424a8b3dc3a5ef76e780082)
2007-10-10r18945: fix compiler warnings and end-of-non-void function bugsStefan Metzmacher1-1/+1
metze (This used to be commit ed195999c0c7d89cdc61e980576d191fc05d65d7)
2007-10-10r18781: Move the usnCreated and usnChanged handling around again.Andrew Bartlett1-15/+90
This moves these attributes from objectguid into an optional backend (objectguid), used by ltdb. For OpenLDAP, the entryUUID module converts entryCSN into usnChanged. This also changes the sequence number API, and uses 'time based' sequence numbers, when an LDAP or similar backend is detected. To assist this, we also store the last modified time in the TDB, whenever we change a value. Andrew Bartlett (This used to be commit 72858f859483c0c532dddb2c146d6bd7b9be5072)
2007-10-10r18495: More work on the LDAP backend (which now passes a lot of our tests!)Andrew Bartlett1-16/+37
This adds a list of attributes that are in our wildcard seaches, but the remote server requires to be explicitly listed. This also cleans up the handling of wildcards in ldb_map to be more consistant. Also fix the partitions module to rebase the search, if on the GC port, we do a subtree search. (Otherwise backends can rightly complain that the search is not in their scope). Andrew Bartlett (This used to be commit bc58792b7102f086b19353635d5d5ef9d40a0aae)
2007-10-10r17703: Fixes to enable the entryUUID module to work for it's objectClass ->Andrew Bartlett1-3/+4
OID mappings. The key point is to 'enable' the partitions in the partitions module before the init is complete. That way, the modules can perform searches that use partitions. Andrew Bartlett (This used to be commit 420d1920a6824a6c0cb70b4ba832ddb90b0e95ff)
2007-10-10r17514: Simplify the way to set ldb errors and add anotherSimo Sorce1-32/+29
helper function to set them. (This used to be commit 260868bae56194fcb98d55afc22fc66d96a303df)