summaryrefslogtreecommitdiff
path: root/source3/tdb/tdb.c
AgeCommit message (Collapse)AuthorFilesLines
2002-04-10Added Shirish's client side caching policy change.Jeremy Allison1-1/+2
Jeremy. (This used to be commit 16015c07eab2e57fa3771051e3e08fde21757cfa)
2002-04-07better check of called function's returnSimo Sorce1-57/+125
tdbtorture say it's ok (This used to be commit af0fa4cf7c229fb908063bfcc3cbb214dae5ed0e)
2002-03-01Various comment fixes from Rafal Szczesniak <mimir@diament.ists.pwr.wroc.pl>Andrew Bartlett1-1/+1
(This used to be commit 3bf4b42771d115500941be374bfdd9b8c2fdba4a)
2002-02-27Memory leak on error condition fixed by Kian Win <codegrunt@rubbercookie.com>.Jeremy Allison1-0/+1
Jeremy. (This used to be commit 9dae1398b45515e5b93de038ec18df297d73026d)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-22Raise log level of warning produced when the open() of the tdb fails.Tim Potter1-1/+1
Sometimes an open error is OK. (This used to be commit 5fb3be62910faf91e0e8381ba91f314f2092cb8e)
2002-01-09Move SAFE_FREE into tdb.c to stop exporting it into tdb.h namespace.Jeremy Allison1-0/+5
Jeremy. (This used to be commit 4f703b84cd7f258ae0169d52ca761b9404ccb348)
2002-01-02debug statement fixups.Jeremy Allison1-31/+21
Merge SAFE_FREE fix in tdb from 2.2, and IRIX fix. Jeremy. (This used to be commit eb6607466565bcd5b3800492d0bc1ae8a44da4f6)
2001-12-31more irix -64 portability fixesAndrew Tridgell1-1/+2
(This used to be commit 65e857b36e170e3ecd78bf6695ae73342e9c04cd)
2001-12-13Must check against -1 for fcntl error check.Jeremy Allison1-4/+4
Jeremy (This used to be commit 1d2504b5c76bf23ac49a401adce8a49f193bc22c)
2001-12-11Fix up warnings. Make tdb_openXX() names const.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 9e3581827d91f5fd33fabd5ad4c9a79d63355731)
2001-12-10Doc.Martin Pool1-1/+3
(This used to be commit 6c684c89a4e6e212476335ee57c3b616015598f8)
2001-12-10Allow for internal databases which may have no name.Martin Pool1-5/+5
(This used to be commit caa08bb56e2dc533c3754f90f6139fe04a317545)
2001-12-10Log more error messages.Martin Pool1-0/+1
(This used to be commit 8118676f780a80662f28c3cc1a74cc12d0e1ef51)
2001-12-10Log more error messages.Martin Pool1-2/+12
(This used to be commit b50e566ab93e9a8068e26c9c902db81311cb394c)
2001-12-10Allocate tdb name up front in case log functions want to use it.Martin Pool1-6/+5
(This used to be commit a228c7efcc06b901ca51a6da77f8a52b77912f55)
2001-12-10tdb_open_ex: More cleanups: just dynamically allocate the TDB_CONTEXTMartin Pool1-14/+27
up front, rather than working on the stack and then copying across. (This used to be commit b1d7d800680f77e02185bb237982b284414aac1e)
2001-12-10Refactor code to check whether already open into its own function.Martin Pool1-8/+21
(This used to be commit 52ef112e10dbe273b6e66c4a5081f468e4630b7d)
2001-12-10tdb_open_ex should always "goto fail" in case of error, rather thanMartin Pool1-1/+2
just returning. I don't think this would leak at the moment, but it's an accident waiting to happen. (This used to be commit fe901ec194d1b8ef94386b097e72508075eb8a54)
2001-12-10Doc.Martin Pool1-0/+4
(This used to be commit bb6c0df4bc4eb8ce789886ec17e434dc27bb34b0)
2001-12-10tdb_open_ex: Continue previous refactoring so that we consistentlyMartin Pool1-12/+12
just say "tdb" not "&tdb". (This used to be commit fac685d30f58c25d73d1690ed008c797291558e4)
2001-12-10tdb_open_ex: Refactor to use a pointer to tdb, rather than an autoMartin Pool1-57/+58
tdb, to be consistent with the rest of the code. (This used to be commit d159415049c25caeaf01b6bc947da3472c54d1f8)
2001-12-04Put back changes to set errno, which seem to do no harm.Martin Pool1-12/+42
(This used to be commit 3dbb5dfcfb29671f136d1ed6c865362eaf027446)
2001-12-04undoMartin Pool1-156/+69
(This used to be commit fc176f15f27686049453552219b56b9de33ceffa)
2001-12-04Implement suggestion from tridge to leave the old tdb_open interfaceMartin Pool1-2/+9
as it was, and add tdb_open_ex() which takes a log callback. I guess this makes more sense since it's a public interface. (This used to be commit 391a65395e6cdc0300f81eb1072a3366cacd1203)
2001-12-04Better error handling:Martin Pool1-66/+124
- tdb_open api changed so that you now pass an error handling callback when opening the file, so that errors detected during opening have somewhere to go. (All calls from the body of Samba to this function go through a wrapper in tdbutil, which has been updated.) - Clean up logic for deciding how to open tdb. Emit log messages if something goes wrong (e.g. bad magic.) - tdbtool now logs errors to stderr. (This used to be commit 0aa800618eab1043d802c04fb1d125cd07936769)
2001-12-04Set errno in tdb_open in cases where we detect an error in opening theMartin Pool1-11/+33
database, but no underlying system call sets errno. The particular case I had was a mangled .tdb, but there are others. For this one, set EIO. It's a shame Unix messages aren't more detailed -- "bad data format" would be better. (This used to be commit 5630a988be05c21b60aba6304d4aaadce6024817)
2001-11-09Removed #ifdef TDB_DEBUG around tdb_dump_all() and tdb_printfreelist()Tim Potter1-5/+3
so that tdbtool can be compiled without having to make clean. (This used to be commit dad688d8c6b3c98173a846ad833599a4016d2e1a)
2001-10-16Don't core dump when using spinlocks on a read-only tdb. Unfortunately thisJeremy Allison1-4/+16
means that a read-write opener and a read-only opener are using different locking mechanisms - this needs to be addressed, but it's hard as the read-write opener using the spinlocks is usually first, so there's no way to force them to change down to the fcntl method. Read only access is less important anyway and can never corrupt the tdb anyway, so errors in read-only record reads are more tolerable. Jeremy (This used to be commit 21f776df5932e024a0d1fef9097377d35b5cf511)
2001-10-12Fix for tdb_oob() on TDB_INTERNAL databases.Jeremy Allison1-2/+7
Jeremy. (This used to be commit 2b135fba625191a13e4110c68531a0e6d5fb373d)
2001-10-03Ensure accessing NT member servers works with a Samba PDC. Don'tJeremy Allison1-1/+2
change these timestamp settings without good reason. Remove CLEAR_IF_FIRST flag is tdb is read-only. Jeremy. (This used to be commit a71d9d98b013a6c30fd85524b7cdc929bdbd9bcb)
2001-09-19Put pwrite code back in expand_file.Jeremy Allison1-3/+10
Jeremy. (This used to be commit a3267551d88dffb226e4a1c3852fe9c817517d02)
2001-09-19added a hook to reopen all tdb's after the server forkAndrew Tridgell1-10/+48
this prevents the fd seek pointer problem (This used to be commit f49518e497deeb46292456c3650769d50ec2a955)
2001-09-19Fix based on Andrew's insight as re-using a tdb after fork meansJeremy Allison1-3/+23
parent and child share seek pointer. Damn.... Jeremy. (This used to be commit 0e75c0fc1aa742fb0c29716c99a81cf5b33ef6e6)
2001-09-19Return correct error code on lock fail in tdb_expand.Jeremy Allison1-1/+1
Jeremy. (This used to be commit b45793ec3f6ff04587bee8f463ef6410b06097d6)
2001-09-18Roll back earlier fix after talking with Andrew. The write_lock_record andJeremy Allison1-2/+2
unlock are explicitly non-blocking. I will add a comment to this effect later. Jeremy. (This used to be commit e4b41a8f31729dfec92c4cb1f8b4759446cac0ff)
2001-09-18Fixed a couple of nasty bugs only easily seen with no mmap. Firstly,Jeremy Allison1-2/+4
map_ptr not neccessarily set to NULL if no mmap, secondly, iterating through a tdb was using SETLK, instead of SETLKW - would almost never fail with mmap as the time holding the lock was so short, but was easily seen with read/write. One finaly bug needs tracking down w.r.t. traversal...... Jeremy. (This used to be commit 313c2e8652092a307165b6039dd7dfbbd0754ec3)
2001-08-02Added mmap fix to pass lock test from HP.Jeremy Allison1-115/+222
Ok - now we're no longer trying to reach a silly 1k loc target, change the formatting to be *readable* - eg. change if (x) y else z to be : if (x) y else z and other compact sillyness. Oh look - when I did this I found some areas where we *WEREN'T CHECKING SYSTEM CALL ERROR RETURNS !!!!* CompSci 101 guys....... :-). Jeremy. (This used to be commit 38d2e6983a6be8232ae7ce21a950d69dd95ce3e6)
2001-07-31Fix for rare tdb pattern store failure. Found & fixed by Rusty.Jeremy Allison1-1/+4
Jeremy. (This used to be commit aaa56bb3a3c5f0e4191c9b3efe9b8d92c22cf6c7)
2001-07-25Always check fstat for error.Jeremy Allison1-10/+13
Jeremy. (This used to be commit 34951876a1bfad5aa3fc3bd05b808e150f639a8a)
2001-07-05Fix for enumerating large numbers of users.Jeremy Allison1-1/+1
Jeremy. (This used to be commit c8c138c1fbb49799a2dd4c6e781bd89f51c0c0c5)
2001-06-21Ok - I misspoke.... mmap returns MAP_FAILED, not neccessarily -1 :-).Jeremy Allison1-2/+6
Jeremy. (This used to be commit 2d1c6d1f6b55a0a78eb8afbe16d2ad8b3253a220)
2001-06-21When mmap fails it returns -1 *NOT NULL*.Jeremy Allison1-1/+7
This got regressed somehow..... Jeremy. (This used to be commit b77c8b536d4b6d2162f4932227f01cffb730c645)
2001-06-11Fixed potential free of NULL found by SGI speedshop.Jeremy Allison1-1/+2
Jeremy. (This used to be commit fc7830eec8f5478fc3d3296bb35cb11c94e7d9fa)
2001-05-30- fixed an off-by-1 bug in the delayed deletion code that I believeAndrew Tridgell1-47/+107
was the initial cause of the connections database becoming corrupt. Note that this bug only happens when doing deletions within a traversal, which is why it has only showed up now - added delete within traversal testing to tdbtorture - added a lot more logging to tdb (This used to be commit 6e1277df9d964c615a3ad876d3b89ff8132081c1)
2001-05-30added a tdb_open_log() function that opens a tdb and enables loggingAndrew Tridgell1-1/+1
of messages from the tdb code into the Samba DEBUG() system just call tdb_open_log() instead of tdb_open() to enable this on any tdb (This used to be commit 3ab770484c6775df2c1a6f69427ebe656702c96c)
2001-05-29more portable TDB_LOG macroAndrew Tridgell1-1/+1
(This used to be commit ba106b9b07b23c3dc1b40c8feb10cff173faa07a)
2001-05-28try to make the tailer code much more robust. When a recordAndrew Tridgell1-13/+99
can't be merged don't fail the operation, instead just add it to the free list anyway added logging to tdb (This used to be commit dda086fdf92fded016afc785f7965a375faae5aa)
2001-05-15make sure that when a tdb expands we fill the expanded area, otherwise ↵Andrew Tridgell1-6/+29
ENOSPC could be very bad (This used to be commit b94cfb6843dc7fc985917395d3e0d953501b9197)
2001-05-14Implemented max connections in a similar way to 2.0.x (scan of connection db).Jeremy Allison1-6/+8
This needs testing ! Tidied up tabs in tdb.c. Jeremy. (This used to be commit 0852465053d0c1a23b6cfe6097267291b0595ef8)