summaryrefslogtreecommitdiff
path: root/source3/tdb
AgeCommit message (Collapse)AuthorFilesLines
2001-05-30- fixed an off-by-1 bug in the delayed deletion code that I believeAndrew Tridgell4-58/+162
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 Tridgell2-1/+34
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 Tridgell4-14/+123
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-25Added tdb_change_int_atomic() to allow atomic updates of a tdb int value.Jeremy Allison1-3/+32
Jeremy. (This used to be commit cf5015f15935605cf69078bc15251db61ddc48c7)
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)
2001-05-06clearer tdb_mmap codeAndrew Tridgell1-24/+19
(This used to be commit ce6598c465e3d1e26592af9b90eb271ee837f290)
2001-05-06merge from 2.2Andrew Tridgell2-8/+7
(This used to be commit 13bf966cb8ed8df6b02018dceff94c275def8200)
2001-05-04Fix problem with OpenBSD mmap and write not being coherent.Jeremy Allison1-8/+29
Jeremy. (This used to be commit 4c6a8273c6dd3e2aeda5a63c4a62aa55bc133099)
2001-04-18merge from 2.2Andrew Tridgell1-0/+1
(This used to be commit f52a5014ee325f9d91f266f88eac51b6136a75b9)
2001-04-16Getting medieval with compiler warnings as Jeremy puts it.Tim Potter1-2/+2
(This used to be commit d05c3cf0f47a3c863adbed7ad4ab8f3248cd072d)
2001-04-14Fix for True64 treating readonly as a reserved word !Jeremy Allison1-2/+2
Jeremy. (This used to be commit d6889b1954bd863fd04cf43fb25f178b1d1ab67f)
2001-04-13Merge of Andrew's changes in 2.2.Jeremy Allison2-49/+3
Jeremy. (This used to be commit fc76681812b1469208ad6c8847afdfc68bc6db49)
2001-04-11Fixed some compiler warnings.Tim Potter1-2/+2
(This used to be commit cda0f211b0dd41ae72ef3d65b9476c11c6f72de3)
2001-04-10Added HAVE_STDARG_H to tdbutil.cJeremy Allison1-5/+51
Jeremy. (This used to be commit e404e001990409eacf2e620d2269c2b162fa938b)
2001-02-20optimise by defaultAndrew Tridgell1-1/+1
(This used to be commit a5005195440d4805054c488cdc450735883064e5)
2001-02-13It compiles for me now :-). rpc_server/srv_lsa.c - added fix to allow w2kJeremy Allison1-6/+15
clients to join a Samba domain - odd or even domain name length. Needs more testing. Jeremy. (This used to be commit 408672d38261e34cc3714200617b35464d88f931)
2001-01-29Changes from APPLIANCE_HEAD:David O'Neill3-28/+101
source/include/proto.h - make proto source/printing/nt_printing.c source/rpc_server/srv_spoolss_nt.c - Fix for the overwriting of printerdata entries when WinNT and Win2k are modifying printer parameters on PCL printers. Turns out that Win2k creates a printer with a NULL devmode entry and then expects to set it on *OPEN* (yes this is insane). So we cannot return a "default" devmode for a printer - and we must allow an open to set it. source/tdb/tdb.c - Show freelist in an easier format. Show total free. - When storing a new record, allocate memory for the key + data before the tdb_allocate() as if the malloc fails a (sparse) hole is left in the tdb. source/tdb/tdbtool.c - Show freelist in an easier format. Show total free. source/tdb/Makefile - cleaned up Makefile dependancies source/smbd/lanman.c - Fix for Win9x corrupting it's own parameter string. source/printing/printfsp.c source/printing/printing.c source/rpc_server/srv_spoolss_nt.c source/smbd/close.c - Added normal close parameter into print_fsp_end() which treats an abnormal close as error condition and deletes the spool file. (This used to be commit 025f7a092ad258ff774e3f5e53737f8210cc8af6)
2001-01-16Set the tdb->map_ptr to NULL if mmap() returns -1.Tim Potter1-0/+3
(This used to be commit cef7f58ac5cc0c96e1027c7e5ecbb3fb72cb94b6)
2000-12-30The line was:Christopher R. Hertel1-1/+6
struct tdb_traverse_lock tl = { tdb->travlocks.next, 0, 0 }; The IRIX compiler complained that the first initialization value was not a constant and errored out. Here's what it looks like now: struct tdb_traverse_lock tl = { NULL, 0, 0 }; int ret, count = 0; /* This was in the initializaton, above, but the IRIX compiler * did not like it. crh */ tl.next = tdb->travlocks.next; That worked. Chris -)----- (This used to be commit e651d1d642cd1bfac11bec81a30915b95d4424c8)
2000-12-15Added lock backouts on fail.Jeremy Allison1-3/+28
When chaining together long lines of bloody "if" statements, which should logically be separated, and one of them allocates memory, remember to *free* it *WHETHER OR NOT THE IF STATEMENTS SUCCEEDED* !!!! Yes I do consider this a bug in the coding style of Tridge, Rusty, Tim et al. :-). I'm just pissed 'cos this took 4 hours to track down even with an insure error report stating me in the face and also Ben Woodward looking over the code with me :-). Jeremy. (This used to be commit 506b5e34c3ba16768dbc82ba21044787de160c45)
2000-12-13Two tdb bugfixes. First one - ensure that traverse lock is moved before deletingJeremy Allison1-45/+58
dead records, else the record is just marked for deletion, not actually deleted. Second, ensure allocated record is marked as "in use" before free list lock is released, else other processes in the freelist merge code may try and merge it. Jeremy. (This used to be commit dd959fa325c5df8ce0407d8debea76602c8e71cf)
2000-12-11Added Tim's fix for read-only crashes.Jeremy Allison1-0/+2
Jeremy. (This used to be commit cfc62fecdf4c5579ee643df3e701cf6f1fe553ee)
2000-12-07Fixed bug with tdb_next_lock failing when reaching then end of a hashchainJeremy Allison2-9/+39
and the next hashchain is empty. Jeremy (This used to be commit f3b5e2a172a777e1c3bbf6ac72fe5c7cdb8324b3)
2000-12-06tdb_chainunlock() no longer returns a value.Tim Potter1-2/+2
(This used to be commit 2c9704c3db4014ca43b4b13160b9f53ff5f36e3b)
2000-12-06Changed to sourceforge tdb code. This includes spinlocks (so we now haveJeremy Allison6-1058/+1255
a --with-spinlocks option to configure, this does mean the on-disk tdb format has changed, so 2.2alphaX sites will need to re-create their tdb's. The upside is no more tdb fragmentation and a +5% on netbench. Swings and roundabouts.... Jeremy. (This used to be commit 9dea7b7c257db487f8ced7dad3fce92fba03ea91)
2000-12-05Fixed one tdb_read -> rec_free_read call.Jeremy Allison1-10/+2
Jeremy. (This used to be commit c9884e16fc2d13dd62c5a43633c9a38dadc9822c)
2000-12-05Added sorted freelist neighbour merge code to stop tdb fragmentation.Jeremy Allison2-32/+251
This needs TESTING !!! (It passes tdbtest of course :-). Jeremy. (This used to be commit 7ae54a93e756d927419242adf35f46e91e974573)
2000-12-02Added print_freelist command.Jeremy Allison2-0/+38
Jeremy. (This used to be commit ee89ca9e68abb23fc26cd1378e02e56d0d725e55)
2000-12-02change the split threahold for the free list to prevent freelistAndrew Tridgell1-1/+1
fragmentation (This used to be commit b64e1ae69314ae110c548f57810c34e620d57075)
2000-11-27fixed a potential locking deadlock in tdbAndrew Tridgell1-1/+1
(This used to be commit 03453e2ae557d7fa119338b71744822093d2f38a)
2000-11-10rpc_parse/parse_spoolss.c: Updated comment for old version of W2K.Jeremy Allison1-1/+1
tdb/tdbutil.c: With varargs uint16 is cast to (int). Jeremy. (This used to be commit 98764c5df9f363780427a423ead0913f7b2a0905)
2000-10-10got rid of tdb_writelock() and instead lock a chain. tdb_writelock()Andrew Tridgell1-25/+0
is conceptually flawed (This used to be commit 6e4a3585521b7e5928298bd0f1418ff9fbcacfb4)
2000-10-10added tdb_lock_bystring() and tdb_unlock_bystring()Andrew Tridgell1-0/+24
(This used to be commit ca443210c84575d39e60c38a7a12d037386d0e38)
2000-10-05Fixes from Damian at Cisco to tidy up some tdbtool issues.Jeremy Allison1-4/+15
Jeremy. (This used to be commit 623bfa6c935e2e3acb3145bfbd490758b34d2c70)
2000-10-05Herb's fixes for profiling & compiler warnings.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 7914e9351abb5271ebb4990c3b1fe495d15a4eda)
2000-10-02Added debug so if zero length messages get sent we successfully removeJeremy Allison1-3/+7
them (this can happen if smbd processes are shut down at the wrong time). Jeremy. (This used to be commit c1de97f96b8c5ad8e5f01a0d17c6387733769442)
2000-07-31Added John Reilly's enumports/addprinter/delprinter scripting code plus theJeremy Allison1-0/+14
fix for the Win9x printer drivers. Changed command names to add "command" string on the end for some consistancy with the other scripting commands. Added '%P' option to tdbpack/unpack to store long comment string. Made port name be "Samba Printer Port" if no enum port script given. Fixed prs_uint32_pre code to cope with null args. Jeremy. (This used to be commit 902ada63799cf27924c72e24e7593a8c9fb5eba9)
2000-06-15support both read and write locks inside the tdbAndrew Tridgell1-1/+6
(This used to be commit d0a1f96e0f699f8e3ceb0e0d826423cd643803e7)
2000-06-15- use read locks when possibleAndrew Tridgell1-42/+44
- don't use as many locks on a store (This used to be commit ee12b10d21022287baf4432d1df743c4b28223b2)
2000-06-15use the right MMAP flagAndrew Tridgell1-1/+1
(This used to be commit a2f5977ac34d02cd64acd0022cb5bc065eab713f)
2000-06-08Moved tdb functions that access parse structs into parse_prs.cJeremy Allison1-30/+0
to prevent builkd breaking. Jeremy. (This used to be commit 6c7adeab0f92844ecefbcb923d0d4763d4c3eaa5)
2000-06-07Fixing get/set of security descriptors.Jeremy Allison1-8/+4
Removed ugly hack for NT printing. Fixed up tdb parse stuff memory leaks. Jeremy. (This used to be commit 8ef41f31c53e14ad057d883810a1cd2301fede2a)
2000-06-04added some debug code to track down pack/unpack problemsAndrew Tridgell1-0/+12
(This used to be commit ac9cdab33cddcc5ab00fc21ba79f416f5a9687e7)
2000-05-27getting and setting security descriptors on printers now worksAndrew Tridgell1-10/+42
this needed some fixes in tdb_unpack(). Tim, you'll need to update (This used to be commit 9422719ab4c35e4ce3199b62dd632433bf391283)
2000-05-24added tdb_pack() and tdb_unpack()Andrew Tridgell1-0/+148
(This used to be commit 6c15495b3087c04890af77149c39e823596bb4dd)
2000-05-12While we're all making incompatible tdb changes, I changed the implementationTim Potter1-4/+4
of tdb_{store,get}_int() to store the length of the string key + 1 so the stored key contains the trailing NULL character. This allows normal string library routines to manipulate keys. Also renamed tdb_get_int() to tdb_fetch_int() to keep the set of verbs consistent. (This used to be commit a423c7c5f21dc4046530b85482dee88dcfcbf070)
2000-05-12use gcc not insure by default in tdb buildAndrew Tridgell1-1/+1
(This used to be commit e20ef3c082f2448587f7d9002d57a897ecde092d)
2000-05-12an imcompatible tdb format change (sorry!)Andrew Tridgell2-11/+3
this will give us a much nicer migration path for the proposed semaphore code (This used to be commit 491ab241897a7252fb088c718de4bdf7f43f4ddc)