summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-10-22s4-ldb: do more validation of idxptr listsAndrew Tridgell1-12/+31
2009-10-22s4-ldb: expose ltdb_err_map and ltdb_delete_noindexAndrew Tridgell2-2/+5
These will be used by ldb_index.c
2009-10-22s4-ldb: fast path for equal pointersAndrew Tridgell1-1/+1
We compare identical ldb_val values surprisingly often
2009-10-22selftest: make python run unbufferedAndrew Tridgell1-0/+3
This makes some output in make test easier to follow
2009-10-22util: fixed place where we could look one byte past end of stringAndrew Tridgell1-1/+1
We need to check the length before the value
2009-10-22idl-drsblobs: mark some more reserved values as value(0)Andrew Tridgell3-40/+40
This prevents valgrind errors when we store these blobs in a database
2009-10-22s4-ldb: when taking a list intersection, the result can be as long as the ↵Andrew Tridgell1-1/+1
first list Intuitively you would think it couldn't be longer than the minimum of the two lists, but we are deliberately allowing for duplicates at this level of the indexing code, which means the result can be longer
2009-10-22s4-ldb: ldb indexing rewrite - part1Andrew Tridgell4-909/+739
This gets rid of the @IDXPTR approach to in-transaction indexing, instead using an in-memory tdb to hold index values during a transaction. This also cleans up a lot of the internal indexing logic, hopefully making it easier to understand. One of the big changes is in memory management, with a lot more use made of talloc tricks to avoid copying dn lists, and shortcuts used to avoid high intersection and union calculation costs. The overall result is that a re-provision on my laptop goes from 48s to a bit over 10s.
2009-10-22s4-ldb: ldb_oom() for modulesAndrew Tridgell1-0/+1
2009-10-22s4:torture Silence const warning by use of data_blob_const()Andrew Bartlett1-2/+1
This was inspired by one of mdw's const patches Andrew Bartlett
2009-10-22s4:dsdb/samdb/cracknames - Remove unused header and add more "const"Matthias Dieter Wallnöfer1-4/+3
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-22s4:ldb_sort - Add some more "const"Matthias Dieter Wallnöfer1-2/+2
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-22s4:libcli/security/access_check - Add "const" in front of "type"Matthias Dieter Wallnöfer1-1/+1
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-22s4:smbtorture - Add "const" before "value"Matthias Dieter Wallnöfer1-1/+1
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-22s4:dsdb Use the 'correct' case for the namingContext values in rootDSEAndrew Bartlett1-0/+22
This makes the namingContext attributes in the rootDSE a little more pretty, by using the exact same values as used in the database DNs. Andrew Bartlett
2009-10-22s4:dsdb Add default modules list to samba3samAndrew Bartlett1-1/+2
This is needed because the work to allow existing databases to be loaded now moves the 'you have an old @PARTITION' record to the presense or absence of this attribute. Andrew Bartlett
2009-10-21s4:provision - rework the "guess_names" and "make_smbconf" methodMatthias Dieter Wallnöfer4-40/+21
- Cleans it up from unnecessary "lower()/upper()" and parameters which can be derived through "lp" calls. - Substitute the "HOSTNAME" caption in the "smb.conf" templates with "NETBIOS_NAME" which fits better. - Now the "realm" and "domain" parameter of the provision are totally case insensitive and the script itself up/downcases them appropriately depending on the use (e.g. "realm" upcase for KERBEROS, lowcase for DNS domainname).
2009-10-21s3:Makefile: add some explicit dependencies to libcBjörn Jacke1-2/+2
Add libc as explicit dependency where we use "-z defs" linker flags. This is to silence the Sun linker. Otherwise it whines: malloc ... (symbol belongs to implicit dependency /lib/libc.so.1)
2009-10-21s4:provision - important fix for DNS domainname: lower realmMatthias Dieter Wallnöfer1-1/+1
2009-10-21.gitignore: add "partition_proto.h"Matthias Dieter Wallnöfer1-0/+1
2009-10-21heimdal - hdb/ext.c - fix a "shadows variable" warningMatthias Dieter Wallnöfer1-4/+4
Renamed the variable "str" in the nested block to "str2" to prevent the collision with "str" in the main function block.
2009-10-21S4: ldb_map modules uses defines that are reservedTorgeir Lerkerød6-175/+175
On OpenSolaris MAP_RENAME and friends are defined in <sys/mman.h> e.g. mmap and friends. So on these systems MAP_* have a meaning. Cleaned up LDB name space by adding LDB_ in front of MAP_* e.g. MAP_RENAME => LDB_MAP_RENAME Signed-off-by: Torgeir Lerkerød <torgeir.lerkerod@gmail.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-10-21S4: Building on a system with libintlTorgeir Lerkerød1-0/+5
Heimdal's internal buildsystem uses a different define for checking for libintl than what samba uses. LIBINTL vs HAVE_LIBINTL_H. Since changing heimdals defineswould brake dropin merges of heimdal. This is a simple workaround in line with others in heimdal_build catalog. Signed-off-by: Torgeir Lerkerød <torgeir.lerkerod@gmail.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-10-22lib/tdb: make tdbtool use tdb_check() for "check" commandRusty Russell2-15/+31
Also, set logging function so we get more informative messages. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-10-22lib/tdb: add tdb_check()Rusty Russell8-3/+441
ctdb wants a quick way to detect corrupt tdbs; particularly, tdbs with loops in their hash chains. tdb_check() provides this. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-10-22lib/tdb: add -t (always use transactions) option to tdbtortureRusty Russell1-12/+29
This means you can kill it at any time and expect no corruption. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-10-22lib/tdb: wean off TDB_ERRCODE.Rusty Russell9-40/+59
It was a regrettable hack which I used to reduce line count in tdb; in fact it caused confusion as can be seen in this patch. In particular, ecode now needs to be set before TDB_LOG anyway, and having it exposed in the header is useless (the struct tdb_context isn't defined, so it's doubly useless). Also, we should never set errno, as io.c was doing. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-10-22lib/tdb: TDB_TRACE support (for developers)Rusty Russell7-55/+402
When TDB_TRACE is defined (in tdb_private.h), verbose tracing of tdb operations is enabled. This can be replayed using "replay_trace" from http://ccan.ozlabs.org/info/tdb. The majority of this patch comes from moving internal functions to _<funcname> to avoid double-tracing. There should be no additional overhead for the normal (!TDB_TRACE) case. Note that the verbose traces compress really well with rzip. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-10-21s4-ldb: allow for non-null terminated ldb_val in ldb_dn_from_ldb_valAndrew Tridgell1-1/+1
The strlen() could go past the end of a non-null terminated value
2009-10-21s4:dsdb Add note explaining about the partition format upgradeAndrew Bartlett1-0/+21
2009-10-21s4:dsdb Allow loading of old-style partition recordsAndrew Bartlett1-19/+36
This should make upgrades easier
2009-10-21s4:dsdb Make the 'relative path' code in partitions handle tdb://Andrew Bartlett2-7/+15
The previous code would fail if the caller used tdb:// in the URL for the top-level database. Andrew Bartlett
2009-10-21s4:ldb_map Fix use-after-free of memory in ldb_mapAndrew Bartlett2-4/+8
We need to keep the old 'ares' from the remote server around so we can forward it back to the caller. We can't send the same controls (from the last search entry) twice (and it makes no sense anyway). Andrew Bartlett
2009-10-21s4:dsdb talloc_steal the backend module to under the partitionAndrew Bartlett1-0/+1
2009-10-21s4:ldb Put ltdb_private under the 'module'Andrew Bartlett1-0/+1
This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett
2009-10-21s4:rpc_server Ensure we talloc_free handles when we delete objectsAndrew Bartlett1-0/+3
If we don't talloc_free the handle, we leak the memory onto the long-term context. Andrew Bartlett
2009-10-21s4:dsdb Remove potentially confusing 'partition' control from resultAndrew Bartlett1-3/+15
This ensures that the partition control, needed here for repl_meta_data's internal work, is not pushed up to other callers. Andrew Bartlett
2009-10-21s4:ldb Add new function to create a cut down list of controlsAndrew Bartlett2-0/+47
This I hope will be useful for removing controls from the ldb_reply Andrew Bartlett
2009-10-21s4:samr Don't leak the whole user onto the long-term handleAndrew Bartlett1-2/+2
The user entry is only required for this function, so use mem_ctx to hold it. Andrew Bartlett
2009-10-21librpc Make talloc tree in binding tower match the floorsAndrew Bartlett1-10/+14
This is mostly cosmetics, but helped me see that these are legitimate stuctures when viewed in the talloc tree. Also don't put the 'ndr' structure on the long-term tree. Andrew Bartlett
2009-10-21s4:epmapper Create a proper talloc tree of endpoint floorsAndrew Bartlett1-1/+1
Andrew Bartlett
2009-10-21s4:dsdb Allow creation of new partitionsAndrew Bartlett2-70/+101
This is a collection of fixes to allow the creation of new partitions, as well as adding debugging that may be useful in chasing down future failures. Andrew Bartlett
2009-10-21s4:provision Use schema to casefold partitions on 'upgrade'.Andrew Bartlett1-8/+20
This helps us upgrade from sam.ldb files before the dynamic partitions work, and ensures we use the right casefolding functions. Andrew Bartlett
2009-10-21s4:dsdb Remove default instanceType from repl_meta_dataAndrew Bartlett1-9/+0
This is no longer required, as the instancetype module is now above repl_meta_data. Andrew Bartlett
2009-10-21s4:dsdb Remove workaround for two partition head recordsAndrew Bartlett1-16/+1
The problem here has been avoided in repl_meta_data, and so this is no longer required. Andrew Bartlett
2009-10-21s4:dsdb Use 'partition modified' information to update @REPLCHANGEDAndrew Bartlett1-356/+189
This major rework of repl_meta_data changes it from using a static list of partitions to a dynamic list created from the controls placed on returned ldb results. To process these in one place, the similar but distinct callbacks are combined into a single replmd_op_callback(), which handles both the 'normal operation' and 'inbound replication' case. This allows new partitions to be created, and replication events for these new partitions to be scheduled immediately. Also in this commit: We no longer specify the target partition for new or modified objects - instead we allow the partitions module to use the DN as normal. THis avoids the issue where we would create two partition head records. Andrew Bartlett
2009-10-21s4:repl Pass schema as argument to replmd_update_rpmd()Andrew Bartlett1-6/+5
2009-10-21s4:dsdb In partitions module, tell the caller what partition was used.Andrew Bartlett1-1/+17
This means we don't return any control for modifications to the control records in sam.ldb, but do if they modified one of the actual data LDB files. Andrew Bartlett
2009-10-21s4:ldb Add function to add controls to an LDB replyAndrew Bartlett2-0/+45
2009-10-21s4:dsdb Load new partitions in a running LDB if metadata changesAndrew Bartlett2-144/+151
This allows one instance of LDB to add a partition, and another to use it without first closing the database. Andrew Bartlett