summaryrefslogtreecommitdiff
path: root/source3/tdb
AgeCommit message (Collapse)AuthorFilesLines
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)
2000-05-10when creating the database zero the reserved spaceAndrew Tridgell1-0/+8
(This used to be commit a5ca60f62bea988e74e2827fbb848770ac5ae444)
2000-05-10- add some reserved space to every tdb, this will beAndrew Tridgell1-2/+3
used for semaphores and future expansion - update tdb version number to 2 (This used to be commit 5e04885b86791e6ef8b4a316e64d56c6eb05f35d)
2000-05-10Use a prime for default tdb hash size - this makes a difference !Herb Lewis1-1/+1
Jeremy. (This used to be commit 400906e6421c150b591b4bf978a641d5aaf8fd09)
2000-05-09Added tdb_store_by_string() and tdb_fetch_by_string() functions to storeTim Potter1-0/+27
data with null terminated string keys. (This used to be commit d58146321b6fe50e1cc1a73da80c3d2e8c3412dc)
2000-05-01fixed typoAndrew Tridgell1-1/+1
(This used to be commit 5341597de6772027034cad7dacbdbd6d2108332a)
2000-05-01added TDB_INTERNAL, TDB_NOLOCK and TDB_NOMMAP flags.Andrew Tridgell5-45/+76
TDB_INTERNAL replaces the old method of passing a null filename (This used to be commit 8ec815920d46f205b9f3fff82397c731753c3a10)
2000-04-30- removed all our old wildcard matching code and replaced it with aAndrew Tridgell1-20/+15
call to ms_fnmatch(). This also removes all the Win9X semantics stuff and a bunch of other associated cruft. - moved the stat cache code into statcache.c - fixed the uint16 alignment requirements of ascii_to_unistr() and unistr_to_ascii() - trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as unicode always (at least thats what NT4 does) - fixed some errors in the in-memory tdb code. Still ugly, but doesn't crash as much (This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
2000-04-29put tdb utility functions in a separate fileAndrew Tridgell2-44/+67
(This used to be commit 77009422a075300e5c07a3e75806a7dac47e2113)
2000-04-28Added tdb_get/set_int_byblob, which takes a size_t len and then implementedJeremy Allison1-7/+19
the tdb_get/set_int string functions in terms of them. Will be useful in storing POSIX pending close records (which are ints but indexed by dev/inode pairs). Jeremy. (This used to be commit d69e4c6a48746459f973144393529b1f40680d2f)
2000-04-25added TDB_MODIFY flag - patch from from lukeAndrew Tridgell3-5/+30
(This used to be commit 90b574296e06cd6ed4fedc1e5a8ae412a5e78b45)
2000-04-24dump in a binary formatAndrew Tridgell1-3/+45
(This used to be commit 41af3232dba90832684ad8260ce0bb05e077cb02)
2000-04-24use an size_t not a ssize_t when checking for out of bounds errorsAndrew Tridgell1-1/+1
(This used to be commit 044af3cf977e3172b3b1ce3f71457d5b0a4fc1b2)
2000-04-18locking/locking.c: Fixed placeholder code for POSIX locking.Jeremy Allison1-0/+2
printing/printing.c: Cast tdb_delete to (tdb_traverse_func) to stop warning. tmpfile gives mirror warning. smbd/groupname.c: Remember to file_lines_free() on exit. tdb/tdb.h: Add tdb_traverse_func typedef. Jeremy (This used to be commit 204ca1195c86499bd9beb273ce573db7a56ccead)
2000-04-16added tdb_get_int() and tdb_store_int()Andrew Tridgell1-0/+34
they are very useful for database versioning (This used to be commit cc65914cdcceb1fdeeb5d6ec1cf2ea2f865c5092)
2000-03-13Added standard shell command thing using '!' as first character.Tim Potter1-41/+49
(This used to be commit 829e645f62ffa16041c0cc126174d6fe8f63a2f0)
2000-03-01Check for null tdb context in tdb_exists()Tim Potter1-0/+7
(This used to be commit bbacdb834f9c8f8c34368664def42dabe78d90c9)
2000-02-28Makefile for tdb directory.Tim Potter1-0/+21
(This used to be commit 60ae73c257e84aa128954f0cf5cf59e7996c68d9)
2000-02-28Oops - put back filename argument to tdb_open().Tim Potter1-1/+1
(This used to be commit 110ec9923bd2ad729d63f129514f3f1de76de9c1)